Go observability, live in minutes.
Native OpenTelemetry for Go services: gin middleware, OTLP exporters, zero vendor lock-in.
Standard OpenTelemetry, pointed at us.
No proprietary agent, no vendor SDK required on the server. If your service already exports OTLP, step two is the whole integration.
- STEP 1Create a project
Sign up, create a project, and copy its ingest token. Nothing to install on our side.
- STEP 2Point your exporter at us
Set OTEL_EXPORTER_OTLP_ENDPOINT to https://ingest.tracepath.dev/api/otel and OTEL_EXPORTER_OTLP_HEADERS to "Authorization=Bearer <token>". If you already emit OpenTelemetry, that is the whole integration.
- STEP 3Or wire the SDK explicitly
Prefer code over environment variables? Configure the OTLP exporters yourself, exactly as in the sample below. Standard OpenTelemetry packages only — nothing TracePath-specific.
A working main.go.
Standard OpenTelemetry packages only — this is the actual shape of a Go integration against TracePath.
headers := map[string]string{"Authorization": "Bearer " + token}
traceExporter, err := otlptracehttp.New(ctx,
otlptracehttp.WithEndpoint("ingest.tracepath.dev"),
otlptracehttp.WithURLPath("/api/otel/v1/traces"),
otlptracehttp.WithHeaders(headers),
)
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 our examples.
Built for Go.
otelgin / otelchi middleware for request spans
Logs and metrics via the OpenTelemetry log and metric SDKs
Exception capture with panic recovery
Works behind any OpenTelemetry Collector you already run
More on Go.
Browse everything tagged #go →
Other frameworks
Instrument Go today.
Free plan, no credit card. First event in under five minutes.