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

Function TestEngine_asTraceSearchMetadata

pkg/traceql/engine_test.go:207–357  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

205}
206
207func TestEngine_asTraceSearchMetadata(t *testing.T) {
208 now := time.Now()
209
210 traceID, err := util.HexStringToTraceID("123456789abcdef")
211 require.NoError(t, err)
212 spanID1 := traceID[:8]
213 spanID2 := traceID[8:]
214
215 spanSet := &Spanset{
216 TraceID: traceID,
217 RootServiceName: "my-service",
218 RootSpanName: "HTTP GET",
219 StartTimeUnixNanos: 1000,
220 DurationNanos: uint64(time.Second.Nanoseconds()),
221 ServiceStats: map[string]ServiceStats{
222 "service1": {
223 SpanCount: 2,
224 ErrorCount: 1,
225 },
226 },
227 Spans: []Span{
228 &mockSpan{
229 id: spanID1,
230 startTimeUnixNanos: uint64(now.UnixNano()),
231 durationNanos: uint64((10 * time.Second).Nanoseconds()),
232 attributes: map[Attribute]Static{
233 NewIntrinsic(IntrinsicName): NewStaticString("HTTP GET"),
234 NewIntrinsic(IntrinsicStatus): NewStaticStatus(StatusOk),
235 NewIntrinsic(IntrinsicKind): NewStaticKind(KindClient),
236 NewAttribute("cluster"): NewStaticString("prod"),
237 NewAttribute("count"): NewStaticInt(5),
238 NewAttribute("count_but_float"): NewStaticFloat(5.0),
239 NewAttribute("is_ok"): NewStaticBool(true),
240 NewIntrinsic(IntrinsicDuration): NewStaticDuration(10 * time.Second),
241 },
242 },
243 &mockSpan{
244 id: spanID2,
245 startTimeUnixNanos: uint64(now.Add(2 * time.Second).UnixNano()),
246 durationNanos: uint64((20 * time.Second).Nanoseconds()),
247 attributes: map[Attribute]Static{},
248 },
249 },
250 Attributes: []*SpansetAttribute{
251 {Name: attributeMatched, Val: NewStaticInt(2)},
252 {Name: "avg(duration)", Val: NewStaticFloat(15.0)},
253 },
254 }
255
256 traceSearchMetadata := asTraceSearchMetadata(spanSet)
257
258 expectedSpanset := &tempopb.SpanSet{
259 Matched: 2,
260 Spans: []*tempopb.Span{
261 {
262 SpanID: util.SpanIDToHexString(spanID1),
263 Name: "HTTP GET",
264 StartTimeUnixNano: uint64(now.UnixNano()),

Callers

nothing calls this directly

Calls 15

HexStringToTraceIDFunction · 0.92
SpanIDToHexStringFunction · 0.92
TraceIDToHexStringFunction · 0.92
NewIntrinsicFunction · 0.85
NewStaticStringFunction · 0.85
NewStaticStatusFunction · 0.85
NewStaticKindFunction · 0.85
NewAttributeFunction · 0.85
NewStaticIntFunction · 0.85
NewStaticFloatFunction · 0.85
NewStaticBoolFunction · 0.85
NewStaticDurationFunction · 0.85

Tested by

no test coverage detected