reckon_db_telemetry (reckon_db v1.2.6)

View Source

Telemetry handler for reckon-db

Provides logging handler for telemetry events and utilities for attaching/detaching handlers. Additional handlers (e.g., OpenTelemetry) can be added for datacenter deployments.

Usage

Attach the default logger handler: ok = reckon_db_telemetry:attach_default_handler().

Attach a custom handler: ok = reckon_db_telemetry:attach(my_handler, fun my_module:handle/4, #{}).

Emit an event: reckon_db_telemetry:emit(?STREAM_WRITE_STOP, #{duration => 1000}, #{store_id => my_store}).

Summary

Functions

Attach a custom handler for all reckon_db events

Attach the default logger handler for all reckon_db events

Detach a handler by ID

Detach the default logger handler

Emit a telemetry event

Handle telemetry events (logger handler)

Execute a function with start/stop telemetry Emits start event before, stop event after (with duration)

Functions

attach(HandlerId, HandlerFun, Config)

-spec attach(term(),
             fun((telemetry:event_name(),
                  telemetry:event_measurements(),
                  telemetry:event_metadata(),
                  term()) ->
                     ok),
             term()) ->
                ok | {error, already_exists}.

Attach a custom handler for all reckon_db events

attach_default_handler()

-spec attach_default_handler() -> ok | {error, already_exists}.

Attach the default logger handler for all reckon_db events

detach(HandlerId)

-spec detach(term()) -> ok | {error, not_found}.

Detach a handler by ID

detach_default_handler()

-spec detach_default_handler() -> ok | {error, not_found}.

Detach the default logger handler

emit(Event, Measurements, Metadata)

Emit a telemetry event

handle_event(Event, Measurements, Meta, Config)

Handle telemetry events (logger handler)

span(EventPrefix, Metadata, Fun)

-spec span(telemetry:event_prefix(), telemetry:event_metadata(), fun(() -> Result)) -> Result
              when Result :: term().

Execute a function with start/stop telemetry Emits start event before, stop event after (with duration)