MCPcopy
hub / github.com/grafana/dskit / TestOTelSpanLogger_Error

Function TestOTelSpanLogger_Error

spanlogger/otel_spanlogger_test.go:79–97  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

77}
78
79func TestOTelSpanLogger_Error(t *testing.T) {
80 t.Cleanup(spanExporter.Reset)
81
82 logger := log.NewNopLogger()
83 resolver := tenant.NewMultiResolver()
84 span, _ := NewOTel(context.Background(), logger, tracer, "test", resolver, "bar")
85
86 require.Error(t, span.Error(errors.New("err")))
87 require.NoError(t, span.Error(nil))
88 span.Finish()
89
90 spans := spanExporter.GetSpans()
91 require.Len(t, spans, 1, "There should be exactly one span after the span is finished")
92 exportedSpan := spans[0]
93 require.Len(t, exportedSpan.Events, 2, "There should be one log and one exception event")
94 require.Equal(t, codes.Error, exportedSpan.Status.Code)
95 require.Equal(t, "log", exportedSpan.Events[0].Name)
96 require.Equal(t, "exception", exportedSpan.Events[1].Name)
97}
98
99func TestOTelSpanLogger_SetError(t *testing.T) {
100 t.Cleanup(spanExporter.Reset)

Callers

nothing calls this directly

Calls 6

NewMultiResolverFunction · 0.92
NewOTelFunction · 0.85
ErrorMethod · 0.45
FinishMethod · 0.45
LenMethod · 0.45
EqualMethod · 0.45

Tested by

no test coverage detected