MCPcopy
hub / github.com/grafana/tempo / TestQueryRangeMaxSeries

Function TestQueryRangeMaxSeries

integration/api/query_range_test.go:577–617  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

575}
576
577func TestQueryRangeMaxSeries(t *testing.T) {
578 util.RunIntegrationTests(t, util.TestHarnessConfig{
579 ConfigOverlay: configQueryRangeMaxSeries,
580 }, func(h *util.TempoHarness) {
581 h.WaitTracesWritable(t)
582
583 ticker := time.NewTicker(500 * time.Millisecond)
584 defer ticker.Stop()
585 timer := time.NewTimer(5 * time.Second)
586 defer timer.Stop()
587
588 tracesSent := 0
589 sendLoop:
590 for {
591 select {
592 case <-ticker.C:
593 require.NoError(t, h.WriteJaegerBatch(util.MakeThriftBatch(), ""))
594 tracesSent++
595 case <-timer.C:
596 break sendLoop
597 }
598 }
599
600 require.Greater(t, tracesSent, 3)
601 h.WaitTracesQueryable(t, tracesSent)
602
603 callQueryRange(t, h, queryRangeRequest{
604 Query: "{} | rate() by (span:id)",
605 Start: time.Now().Add(-5 * time.Minute),
606 End: time.Now(),
607 Step: "5s",
608 Exemplars: 100,
609 }, func(queryRangeRes *tempopb.QueryRangeResponse, err error) {
610 require.NoError(t, err)
611 require.NotNil(t, queryRangeRes)
612 require.Equal(t, tempopb.PartialStatus_PARTIAL, queryRangeRes.GetStatus())
613 require.Equal(t, "Response exceeds maximum series limit of 3, a partial response is returned. Warning: the accuracy of each individual value is not guaranteed.", queryRangeRes.GetMessage())
614 require.Equal(t, 3, len(queryRangeRes.GetSeries()))
615 })
616 })
617}
618
619func TestQueryRangeMaxSeriesDisabled(t *testing.T) {
620 util.RunIntegrationTests(t, util.TestHarnessConfig{

Callers

nothing calls this directly

Calls 13

RunIntegrationTestsFunction · 0.92
MakeThriftBatchFunction · 0.92
callQueryRangeFunction · 0.85
WaitTracesWritableMethod · 0.80
WriteJaegerBatchMethod · 0.80
WaitTracesQueryableMethod · 0.80
StopMethod · 0.65
AddMethod · 0.65
NowMethod · 0.65
EqualMethod · 0.45
GetStatusMethod · 0.45
GetMessageMethod · 0.45

Tested by

no test coverage detected