Files
query-orchestration/internal/otel/service.go
T
Michael McGuinness 358341e89b Merged in feature/otel (pull request #2)
Adding otel func

* otel
2024-12-17 14:04:14 +00:00

34 lines
618 B
Go

package otel
import (
"context"
"log"
"os"
"go.opentelemetry.io/otel"
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc"
sdktrace "go.opentelemetry.io/otel/sdk/trace"
)
func Init(ctx context.Context) func() {
if os.Getenv("ENABLE_OTEL") != "1" {
log.Println("OpenTelemetry is disabled. Set ENABLE_OTEL to enable.")
return func() {} // No-op shutdown function
}
exporter, err := otlptracegrpc.New(ctx)
if err != nil {
log.Fatal(err)
}
tp := sdktrace.NewTracerProvider(
sdktrace.WithBatcher(exporter),
)
otel.SetTracerProvider(tp)
return func() {
_ = tp.Shutdown(ctx)
}
}