feat: exclude OTEL instrumentation via build tag (#770)

* feat: exclude OTEL instrumentation via build tag

* add readme
This commit is contained in:
Jan-Otto Kröpke 2025-07-16 13:29:59 +02:00 committed by GitHub
parent d09a952410
commit 21e830e275
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 46 additions and 3 deletions

12
internal/otel/otel.go Normal file
View file

@ -0,0 +1,12 @@
//go:build !no_otel
package otel
import (
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/trace"
)
func Tracer(name string) trace.Tracer {
return otel.Tracer(name)
}

22
internal/otel/shim.go Normal file
View file

@ -0,0 +1,22 @@
//go:build no_otel
package otel
import (
"context"
)
type FakeTracer struct{}
type FakeSpan struct{}
func Tracer(name string) FakeTracer {
return FakeTracer{}
}
func (t FakeTracer) Start(ctx context.Context, _ string) (context.Context, FakeSpan) {
return ctx, FakeSpan{}
}
func (s FakeSpan) End() {
}