|
|
@ -853,3 +853,26 @@ func TestOptionsMethod(t *testing.T) { |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// This is a global to avoid the benchmark being optimized away.
|
|
|
|
|
|
|
|
var testResponseWriter = httptest.ResponseRecorder{} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
func BenchmarkRespond(b *testing.B) { |
|
|
|
|
|
|
|
b.ReportAllocs() |
|
|
|
|
|
|
|
points := []promql.Point{} |
|
|
|
|
|
|
|
for i := 0; i < 10000; i++ { |
|
|
|
|
|
|
|
points = append(points, promql.Point{V: float64(i * 1000000), T: int64(i)}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
response := &queryData{ |
|
|
|
|
|
|
|
ResultType: promql.ValueTypeMatrix, |
|
|
|
|
|
|
|
Result: promql.Matrix{ |
|
|
|
|
|
|
|
promql.Series{ |
|
|
|
|
|
|
|
Points: points, |
|
|
|
|
|
|
|
Metric: nil, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
for n := 0; n < b.N; n++ { |
|
|
|
|
|
|
|
respond(&testResponseWriter, response) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|