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.
47 lines
1.3 KiB
Markdown
47 lines
1.3 KiB
Markdown
# 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`, `OTLPInsecure`
|
|
- `New(ctx, cfg) (func(context.Context) error, error)`
|
|
|
|
## Installation
|
|
|
|
```
|
|
go get code.nochebuena.dev/go/telemetry@v1.0.0
|
|
```
|
|
|
|
## Changelog
|
|
|
|
See [CHANGELOG.md](CHANGELOG.md#100---2026-05-12).
|