(t *testing.T)
| 205 | } |
| 206 | |
| 207 | func 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()), |
nothing calls this directly
no test coverage detected