Files
zitadel/backend/v3/telemetry/tracing/tracer.go

25 lines
540 B
Go
Raw Normal View History

2025-04-29 06:03:47 +02:00
package tracing
import (
"context"
"go.opentelemetry.io/otel/trace"
"go.opentelemetry.io/otel/trace/noop"
)
2025-05-08 19:01:55 +02:00
// Tracer is a wrapper around the OpenTelemetry Tracer interface.
2025-04-29 06:03:47 +02:00
type Tracer struct {
trace.Tracer
}
var noopTracer = Tracer{
Tracer: noop.NewTracerProvider().Tracer(""),
}
func (t *Tracer) Start(ctx context.Context, spanName string, opts ...trace.SpanStartOption) (context.Context, trace.Span) {
if t.Tracer == nil {
return noopTracer.Start(ctx, spanName, opts...)
}
return t.Tracer.Start(ctx, spanName, opts...)
}