Skip to content

univeros/observability — runtime profiling + metrics (OpenTelemetry-style) #86

@tonydspaniard

Description

@tonydspaniard

Out-of-scope follow-up from #71.

#71 covers static introspection ("what's wired?"). This is the runtime-metrics counterpart ("what's happening now?").

Scope (high-level)

  • New sub-package `univeros/observability` (`Altair\Observability`)
  • OpenTelemetry-compatible spans + metrics emission
  • HTTP middleware: per-request timing, route name, response status
  • Container instrumentation: time spent in `make()` per service
  • Messenger instrumentation: per-handler timing + outcome
  • Exporters: OTLP (default), Prometheus (pull), stdout (dev)
  • `bin/altair observability:export` for one-shot exports

Why a separate package

  • Pulls in OpenTelemetry SDK (substantial vendor weight)
  • Has its own runtime cost (instrumentation overhead) that should be opt-in per host app
  • Different audience: SRE / production observability, not local dev

Why deferred (out of scope for #71)

#71 is about answering "what's wired?" — read-once, no overhead. Observability is "what's happening?" — continuous emission, real overhead, separate UX.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions