Rendro.Telemetry (Rendro v0.2.0)

Copy Markdown View Source

Telemetry event definitions and helpers for the Rendro render pipeline.

Event Naming

All events follow the pattern [:rendro, :pipeline, :stage_name] with :telemetry.span/3 providing automatic start, stop, and exception suffixes. A top-level [:rendro, :render] span wraps the full pipeline.

Metadata

Start events include:

%{render_id: String.t(), stage: atom(), document_type: atom(), deterministic: boolean()}

Stop events add:

%{duration: integer(), status: :ok | :error, page_count: non_neg_integer(), byte_size: non_neg_integer()}

Exception events add:

%{kind: atom(), reason: term(), stacktrace: list()}

Summary

Functions

all_event_names()

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

event_prefixes()

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

generate_render_id()

@spec generate_render_id() :: String.t()

render_prefix()

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

stage_names()

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