Files
query-orchestration/internal/server/otel/service.go
T
Michael McGuinness fa95d733ca Merged in feature/shorttestsanddirtidy (pull request #26)
Add short tests and Tidy internal directories

* complete the tasks
2025-01-17 12:00:32 +00:00

37 lines
633 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 New(ctx context.Context) func() {
if os.Getenv("ENABLE_OTEL") != "1" {
log.Println("OpenTelemetry is disabled. Set ENABLE_OTEL to enable.")
return func() {}
}
exporter, err := otlptracegrpc.New(ctx)
if err != nil {
log.Panic(err)
}
tp := sdktrace.NewTracerProvider(
sdktrace.WithBatcher(exporter),
)
otel.SetTracerProvider(tp)
return func() {
err := tp.Shutdown(ctx)
if err != nil {
log.Panic(err)
}
}
}