MCPcopy Index your code
hub / github.com/cortexproject/cortex / TestRecordAndReportRuleQueryMetrics

Function TestRecordAndReportRuleQueryMetrics

pkg/ruler/compat_test.go:396–416  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

394}
395
396func TestRecordAndReportRuleQueryMetrics(t *testing.T) {
397 metrics := NewRuleEvalMetrics(Config{EnableQueryStats: true}, prometheus.DefaultRegisterer)
398
399 mockFunc := func(ctx context.Context, q string, t time.Time) (promql.Vector, error) {
400 queryStats := stats.FromContext(ctx)
401 queryStats.AddFetchedSeries(2)
402 queryStats.AddFetchedSamples(2)
403 queryStats.AddFetchedChunkBytes(10)
404 queryStats.AddFetchedDataBytes(14)
405 time.Sleep(1 * time.Second)
406 return promql.Vector{}, nil
407 }
408 qf := recordAndReportRuleQueryMetrics(mockFunc, "userID", metrics, log.NewNopLogger())
409 _, _ = qf(context.Background(), "test", time.Now())
410
411 require.GreaterOrEqual(t, testutil.ToFloat64(metrics.RulerQuerySeconds.WithLabelValues("userID")), float64(1))
412 require.Equal(t, testutil.ToFloat64(metrics.RulerQuerySeries.WithLabelValues("userID")), float64(2))
413 require.Equal(t, testutil.ToFloat64(metrics.RulerQuerySamples.WithLabelValues("userID")), float64(2))
414 require.Equal(t, testutil.ToFloat64(metrics.RulerQueryChunkBytes.WithLabelValues("userID")), float64(10))
415 require.Equal(t, testutil.ToFloat64(metrics.RulerQueryDataBytes.WithLabelValues("userID")), float64(14))
416}
417func TestPusherAppender_Commit_WithDiscardOutOfOrder(t *testing.T) {
418 pusher := &fakePusher{response: &cortexpb.WriteResponse{}}
419 counter := prometheus.NewCounter(prometheus.CounterOpts{Name: "test"})

Callers

nothing calls this directly

Calls 8

FromContextFunction · 0.92
NewRuleEvalMetricsFunction · 0.85
AddFetchedSeriesMethod · 0.80
AddFetchedSamplesMethod · 0.80
AddFetchedChunkBytesMethod · 0.80
AddFetchedDataBytesMethod · 0.80
EqualMethod · 0.65

Tested by

no test coverage detected