SmolBox.Telemetry (SmolBox v0.1.0)

Copy Markdown View Source

Redacted, optional managed-runtime observations through :telemetry.

Notifications are asynchronous and bounded. They are not a durable event log, an execution receipt, or an acknowledgment from an exporter. Events may be dropped, repeated, or missing their matching stage stop after interruption. Stored execution evidence remains authoritative. Handlers run in separate processes with a deadline; ordinary slow/failing handlers do not run in the execution process. Handlers are trusted host code, not sandboxed code.

Execution metadata contains the configured runtime and namespace, bounded scope/execution/worker identifiers and finite state/evidence/collection/cleanup categories. Identifiers belong in protected traces, never metric labels. Events omit specifications, commands, environment, fingerprints, artifact paths, contents, stdout/stderr and raw errors. Numeric output sizes and exit codes are measurements, not labels. Third-party transport instrumentation and exporter logging are outside this payload contract.

Stage durations use monotonic milliseconds for the current controller attempt. Cleanup attempts exclude time spent waiting between reconciliations or during evidence retention. Queue wait uses persisted wall-clock timestamps and needs the host's documented clock discipline. Notifications can complete out of order across producers; use stored versions for inspection, not workflow decisions.

Summary

Functions

events()

@spec events() :: [[atom()]]