• v1.0.0 83ac0e3900

    Rene Nochebuena released this 2026-05-12 12:25:25 -06:00 | 1 commits to main since this release

    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. All other micro-lib modules use only the OTel API with
    zero-overhead no-op defaults; importing telemetry activates the real SDK across the
    entire process without requiring any changes to those libraries.

    v1.0.0 adds named per-provider shutdown errors, bumps the Go directive to 1.26, and
    commits the API as stable.

    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)

    • ConfigServiceName, 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.

    Downloads