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

Function TestFindTraceByID_ExternalMode

modules/querier/querier_test.go:113–181  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

111}
112
113func TestFindTraceByID_ExternalMode(t *testing.T) {
114 traceID := []byte{0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10}
115 userID := "test-tenant"
116
117 externalTrace := &tempopb.Trace{
118 ResourceSpans: []*v1_trace.ResourceSpans{
119 {
120 ScopeSpans: []*v1_trace.ScopeSpans{
121 {
122 Spans: []*v1_trace.Span{
123 {
124 TraceId: traceID,
125 SpanId: []byte{0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08},
126 Name: "external-span",
127 },
128 },
129 },
130 },
131 },
132 },
133 }
134
135 startTime := int64(1000)
136 endTime := int64(2000)
137 server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
138 // Verify that start and end query parameters are present
139 require.Equal(t, strconv.FormatInt(startTime, 10), r.URL.Query().Get("start"))
140 require.Equal(t, strconv.FormatInt(endTime, 10), r.URL.Query().Get("end"))
141
142 traceBytes, err := externalTrace.Marshal()
143 require.NoError(t, err)
144
145 w.Header().Set("Content-Type", api.HeaderAcceptProtobuf)
146 w.WriteHeader(http.StatusOK)
147 _, err = w.Write(traceBytes)
148 require.NoError(t, err)
149 }))
150 defer server.Close()
151
152 cfg := Config{
153 TraceByID: TraceByIDConfig{
154 External: ExternalConfig{
155 Endpoint: server.URL,
156 Timeout: 10 * time.Second,
157 },
158 },
159 }
160
161 o, err := overrides.NewOverrides(overrides.Config{}, nil, prometheus.DefaultRegisterer)
162 require.NoError(t, err)
163
164 q, err := New(cfg, nil, livestore_client.Config{}, nil, true, nil, o)
165 require.NoError(t, err)
166
167 ctx := user.InjectOrgID(context.Background(), userID)
168
169 resp, err := q.FindTraceByID(ctx, &tempopb.TraceByIDRequest{
170 TraceID: traceID,

Callers

nothing calls this directly

Calls 13

MarshalMethod · 0.95
NewOverridesFunction · 0.92
QueryMethod · 0.80
NewFunction · 0.70
GetMethod · 0.65
SetMethod · 0.65
WriteMethod · 0.65
CloseMethod · 0.65
FindTraceByIDMethod · 0.65
LenMethod · 0.65
EqualMethod · 0.45
HeaderMethod · 0.45

Tested by

no test coverage detected