API Reference OpentelemetryStatifier v#0.4.0

Copy Markdown View Source

Modules

OpenTelemetry instrumentation for the Statifier family of statechart packages.

Starts OpentelemetryStatifier.SpanTable so the ETS table it owns exists before any handler OpentelemetryStatifier.setup/1 attaches can fire, and survives every session process. This is the package's only supervised process; a host that never calls setup/1 pays the cost of one idle process, the normal shape for instrumentation packages.

The uniform measurement/metadata-to-attribute mapping the design note (statifier-ex docs/opentelemetry.md, "Attribute mapping") fixes, applied to span events rather than re-decided per event name.

The validated result of OpentelemetryStatifier.setup/1's options, carried through :telemetry.attach/4 as the handler Config argument (the family's unanimous pattern for setup-time options - see the plan's Key Discoveries).

The :telemetry handler attached to every name Statifier.Session.Telemetry.events/0 returns.

The bridge half for statifier_oban's event family, [:statifier_oban, ...] - what happens between a chart's delayed send or invoke and the durable job row, frozen by that package's docs/adr/0006-telemetry-events-for-the-durable-seams.md and tabulated in its docs/telemetry.md.

The :telemetry handler attached to every name OpentelemetryStatifier.Oban.events/0 returns.

Declares the span that encloses a session's macrostep spans, for a durable driver this package knows nothing about.

The bridge half for statifier_persistence's own event family, [:statifier_persistence, ...] - the durable stepper's storage phases, frozen by that package's docs/adr/0009-telemetry-events-for-the-durable-stepper.md and tabulated in its docs/telemetry.md.

The :telemetry handler attached to every name OpentelemetryStatifier.Persistence.events/0 returns.

The span mechanics the two sibling families share, so OpentelemetryStatifier.Persistence.Handler and OpentelemetryStatifier.Oban.Handler decide only what their own contracts decide - which event is an interval, which is a point, and where a point belongs - and nothing about how a span is opened.

An open sibling span row held in OpentelemetryStatifier.SpanTable between a sibling package's :start event and the :stop whose span_ref matches - today only [:statifier_persistence, :run, :step, :start | :stop], the one start/stop pair the sibling contracts define (sp-ADR-0009's step seam; sob-ADR-0006 deliberately has no pairs).

The bridge's keyed (session_id, macrostep) span-context read: the public lookup a wire-format producer needs to stamp OTel correlation ids onto the messages it emits.

An open macrostep span row held in OpentelemetryStatifier.SpanTable between the macrostep :start event that creates it and the :stop event whose span_ref matches.

Owns the ETS table that holds open macrostep spans and, per session, the last span context ots-j82's links read.