3 Commits

Author SHA1 Message Date
83ac0e3900 feat(telemetry)!: promote to v1.0.0 — named shutdown errors per provider, Go 1.26
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.
v1.0.0
2026-05-12 18:25:21 +00:00
9304bed55b docs(telemetry): correct tier from 5 to 1
telemetry has zero micro-lib dependencies — only the external OTel SDK.
Tier 1 reflects its actual position in the dependency graph. The Tier 5
label was misleading about push/tag ordering; telemetry can be released
independently of all other micro-lib modules.
2026-03-19 06:56:16 -06:00
ed4e9ef161 feat(telemetry): initial stable release v0.9.0
Single-call OTel SDK bootstrap setting all three global providers (traces → Tempo, metrics → Mimir, logs → Loki) over OTLP gRPC.

What's included:
- New(ctx, Config): bootstraps TracerProvider, MeterProvider, and LoggerProvider with OTLP gRPC exporters; sets OTel globals
- W3C TraceContext + Baggage propagation set globally
- Resource tagging: service.name, service.version, deployment.environment merged with SDK defaults
- OTLPInsecure bool for development environments without TLS
- Sequential rollback on partial initialization failure — no dangling exporters on error
- Returns shutdown func(context.Context) error; caller defers in main or wires into launcher BeforeStop
- Tier 5 module: must be imported only by application main packages; zero micro-lib dependencies

Tested-via: todo-api POC integration
Reviewed-against: docs/adr/
v0.9.0
2026-03-18 14:13:29 -06:00