partisan_telemetry (partisan v6.0.0)

View Source

Thin wrapper around telemetry:execute/3 used by every [partisan, ...] event in the codebase (see telemetry.md).

It exists to stop two things from drifting as new events are added: every event needs node => partisan:node() in its metadata, and a delta-counter event's measurement (count => 1, meant to be summed into a rate) must never be confused with a gauge's live value — see count/2 vs execute/3.

Summary

Functions

Emits a delta-counter event: #{count => 1}, meant to be summed over a window into a rate. count is reserved for this meaning — a gauge's live value must use a different measurement key (e.g. size, total, value).

Emits a telemetry event, injecting node => partisan:node() into Metadata (an explicit node key in Metadata wins). Use directly for gauges and any event with its own measurement shape; use count/2 for a pure delta counter.

Functions

count(EventName, Metadata)

-spec count(EventName :: [atom()], Metadata :: map()) -> ok.

Emits a delta-counter event: #{count => 1}, meant to be summed over a window into a rate. count is reserved for this meaning — a gauge's live value must use a different measurement key (e.g. size, total, value).

execute(EventName, Measurements, Metadata)

-spec execute(EventName :: [atom()], Measurements :: map(), Metadata :: map()) -> ok.

Emits a telemetry event, injecting node => partisan:node() into Metadata (an explicit node key in Metadata wins). Use directly for gauges and any event with its own measurement shape; use count/2 for a pure delta counter.