Label each provider shutdown failure with its signal name (trace/metric/log). Errors remain joined via errors.Join; individual causes still unwrappable. Go directive bumped from 1.25 to 1.26. API committed as stable.
1.3 KiB
v1.0.0
code.nochebuena.dev/go/telemetry
Overview
telemetry bootstraps the full OpenTelemetry SDK with OTLP gRPC exporters targeting
a Grafana Alloy collector. A single call to New sets all three OTel global providers
(traces → Tempo, metrics → Mimir, logs → Loki) and returns a shutdown function the
caller defers in main.
v1.0.0 adds named per-provider shutdown errors, bumps the Go directive to 1.26, and commits the API as stable. No micro-lib dependencies are added.
What Changed Since v0.9.0
Named per-provider shutdown errors
The shutdown function now labels each provider failure individually:
telemetry: trace provider shutdown: <cause>
telemetry: metric provider shutdown: <cause>
telemetry: log provider shutdown: <cause>
Errors are still joined with errors.Join; individual causes remain accessible via
errors.As. Previously, provider shutdown failures were joined without labels, making
it impossible to identify which signal pipeline failed.
Go directive bumped to 1.26
Full API (stable)
Config—ServiceName,ServiceVersion,Environment,OTLPEndpoint,OTLPInsecureNew(ctx, cfg) (func(context.Context) error, error)
Installation
go get code.nochebuena.dev/go/telemetry@v1.0.0
Changelog
See CHANGELOG.md.