export OTEL_EXPORTER_OTLP_ENDPOINT=https://logfire-us.pydantic.dev
export OTEL_EXPORTER_OTLP_HEADERS='Authorization=your-write-token'
export OTEL_SERVICE_NAME=hello-go
func main() {
ctx := context.Background()
exporter, err := otlptracehttp.New(ctx)
if err != nil {
log.Fatal(err)
}
tracerProvider := sdktrace.NewTracerProvider(sdktrace.WithBatcher(exporter))
defer tracerProvider.Shutdown(ctx)
otel.SetTracerProvider(tracerProvider)
otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(
propagation.TraceContext{}, propagation.Baggage{},
))
}
Unlike Java, Go has no runtime agent, because a compiled binary has no bytecode to rewrite. You wire the exporter up once in code, then use the
OpenTelemetry contrib packages for handlers and clients. There is no Logfire Go SDK to adopt. Full details are in the Go setup guide.