Go observability, live in minutes.
Native OpenTelemetry for Go services: gin middleware, OTLP exporters, zero vendor lock-in.
Snippet, wizard, or manual.
Lead with the fastest path — the copy-paste snippet with your token baked in. The wizard and manual setup stay available.
- STEP 1Copy-paste the snippet
Create an OpenTelemetry project and point the OTLP exporter at your TracePath ingest URL with the project token.
- STEP 2Run the wizard
npx tracepath-wizard scaffolds the OTel setup for gin/chi/stdlib apps.
- STEP 3Manual path
Wire otlptracehttp + otelgin in your server bootstrap.
A working main.go.
Taken from our own examples and docs — this is the actual shape of a Go integration.
headers := map[string]string{"Authorization": "Bearer " + token}
traceExporter, err := otlptracehttp.New(ctx,
otlptracehttp.WithEndpoint("ingest.tracepath.dev:4318"),
otlptracehttp.WithHeaders(headers),
otlptracehttp.WithInsecure(), // remove for TLS endpoints
)
if err != nil {
return err
}
tp := sdktrace.NewTracerProvider(
sdktrace.WithBatcher(traceExporter),
sdktrace.WithResource(resource.NewWithAttributes(
semconv.SchemaURL,
semconv.ServiceName("my-go-service"),
)),
)
otel.SetTracerProvider(tp)
r := gin.New()
r.Use(otelgin.Middleware("my-go-service"))Source: examples/devtesting-embedded/main.go in the TracePath repo. TODO-verify: snippet matches the latest SDK release before publishing.
Built for Go.
otelgin/otelchi middleware for request spans
Logs and metrics via the OTel log/metric SDKs
Exception capture with panic recovery
Works with any OpenTelemetry collector in front
More on Go.
Browse everything tagged #go →
Other frameworks
Instrument Go today.
Free plan, no credit card. First event in under five minutes.