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

Function callQueryRange

integration/api/query_range_test.go:761–807  ·  view source on GitHub ↗
(t *testing.T, h *util.TempoHarness, req queryRangeRequest, fn func(*tempopb.QueryRangeResponse, error))

Source from the content-addressed store, hash-verified

759}
760
761func callQueryRange(t *testing.T, h *util.TempoHarness, req queryRangeRequest, fn func(*tempopb.QueryRangeResponse, error)) {
762 req.SetDefaults()
763
764 apiClient := h.APIClientHTTP("")
765 fn(apiClient.MetricsQueryRange(req.Query, req.Start.UnixNano(), req.End.UnixNano(), req.Step, req.Exemplars))
766
767 step := time.Duration(0)
768 if req.Step != "" {
769 var err error
770 step, err = time.ParseDuration(req.Step)
771 require.NoError(t, err)
772 }
773
774 grpcClient, ctx, err := h.APIClientGRPC("")
775 require.NoError(t, err)
776
777 stream, err := grpcClient.MetricsQueryRange(ctx, &tempopb.QueryRangeRequest{
778 Query: req.Query,
779 Start: uint64(req.Start.UnixNano()),
780 End: uint64(req.End.UnixNano()),
781 Step: uint64(step.Nanoseconds()),
782 Exemplars: uint32(req.Exemplars),
783 })
784 require.NoError(t, err)
785
786 finalResponse := &tempopb.QueryRangeResponse{
787 Metrics: &tempopb.SearchMetrics{},
788 }
789 var finalError error
790 for {
791 t.Logf("recv")
792 resp, err := stream.Recv()
793 if resp != nil {
794 t.Logf("resp: %+v, count: %d", resp, len(resp.GetSeries()))
795 naiveQueryRangeCombine(resp, finalResponse)
796 t.Logf("resp: %d, finalResponse: %d", len(resp.GetSeries()), len(finalResponse.GetSeries()))
797 }
798 if errors.Is(err, io.EOF) {
799 break
800 }
801 if err != nil {
802 finalError = err
803 break
804 }
805 }
806 fn(finalResponse, finalError)
807}
808
809func strptr(s string) *string {
810 return &s

Callers 6

TestQueryRangeExemplarsFunction · 0.85
TestQueryRangeMaxSeriesFunction · 0.85
TestQueryRangeEndCutoffFunction · 0.85

Calls 8

GetSeriesMethod · 0.95
naiveQueryRangeCombineFunction · 0.85
SetDefaultsMethod · 0.80
APIClientHTTPMethod · 0.80
DurationMethod · 0.80
APIClientGRPCMethod · 0.80
MetricsQueryRangeMethod · 0.65
RecvMethod · 0.65

Tested by

no test coverage detected