# @suaveplan/events-metrics - OTel metrics companion for @suaveplan/events: dispatch counters, latency histograms, queue-depth gauges, and active-subscriber counts via interceptor API. ## Summary OTel metrics companion for `@suaveplan/events`. Attaches via the public interceptor API to record dispatch totals, listener error counts, and latency histograms per event name. ## Documentation tree - [attach-event-metrics](./src/core/attach-event-metrics/attach-event-metrics.md) — _(no submodules)_ - [attach-event-metrics](./src/core/attach-event-metrics/attach-event-metrics.md) — _(no submodules)_ - [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_ - [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_ - [attach-event-metrics](./src/core/attach-event-metrics/attach-event-metrics.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [attach-event-metrics](./src/core/attach-event-metrics/attach-event-metrics.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [attach-event-metrics](./src/core/attach-event-metrics/attach-event-metrics.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_- [attach-event-metrics](./src/core/attach-event-metrics/attach-event-metrics.md) — _(no submodules)_- [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_ - [metric-names](./src/metrics/metric-names/metric-names.md) — _(no submodules)_ ## Quick Start ```ts import { EventBus } from "@suaveplan/events"; import { attachEventMetrics } from "@suaveplan/events-metrics"; const bus = new EventBus(); const handle = attachEventMetrics(bus); await bus.emitAsync("user.created", { id: "u-1" }); console.log(handle.snapshot().dispatchTotal["user.created"]); // 1 handle.detach(); ``` ## Modules - [`src/core/attach-event-metrics/attach-event-metrics`](src/core/attach-event-metrics/attach-event-metrics.md) — `attachEventMetrics`, `EventMetricsHandle`, `MetricsSnapshot` - [`src/metrics/metric-names/metric-names`](src/metrics/metric-names/metric-names.md) — `METRIC_NAMES`, `ATTRIBUTE_KEYS`