feat: build vehicle data platform and production pipeline
This commit is contained in:
34
go/vehicle-gateway/internal/metrics/recent_latency_test.go
Normal file
34
go/vehicle-gateway/internal/metrics/recent_latency_test.go
Normal file
@@ -0,0 +1,34 @@
|
||||
package metrics
|
||||
|
||||
import "testing"
|
||||
|
||||
func TestRecentLatencyByKeyTracksBoundedP99PerKey(t *testing.T) {
|
||||
tracker := NewRecentLatencyByKey(3)
|
||||
|
||||
p99, samples := tracker.Observe("a", 10)
|
||||
if p99 != 10 || samples != 1 {
|
||||
t.Fatalf("first p99=%v samples=%d", p99, samples)
|
||||
}
|
||||
tracker.Observe("a", 20)
|
||||
p99, samples = tracker.Observe("a", 30)
|
||||
if p99 != 30 || samples != 3 {
|
||||
t.Fatalf("filled p99=%v samples=%d", p99, samples)
|
||||
}
|
||||
p99, samples = tracker.Observe("a", 5)
|
||||
if p99 != 30 || samples != 3 {
|
||||
t.Fatalf("bounded p99=%v samples=%d", p99, samples)
|
||||
}
|
||||
p99, samples = tracker.Observe("b", 7)
|
||||
if p99 != 7 || samples != 1 {
|
||||
t.Fatalf("second key p99=%v samples=%d", p99, samples)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRecentLatencyByKeySanitizesBadValues(t *testing.T) {
|
||||
tracker := NewRecentLatencyByKey(2)
|
||||
|
||||
p99, samples := tracker.Observe("", -10)
|
||||
if p99 != 0 || samples != 1 {
|
||||
t.Fatalf("p99=%v samples=%d", p99, samples)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user