reckon_db_telemetry (reckon_db v1.2.6)
View SourceTelemetry 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
-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
-spec attach_default_handler() -> ok | {error, already_exists}.
Attach the default logger handler for all reckon_db events
-spec detach(term()) -> ok | {error, not_found}.
Detach a handler by ID
-spec detach_default_handler() -> ok | {error, not_found}.
Detach the default logger handler
-spec emit(telemetry:event_name(), telemetry:event_measurements(), telemetry:event_metadata()) -> ok.
Emit a telemetry event
-spec handle_event(telemetry:event_name(), telemetry:event_measurements(), telemetry:event_metadata(), term()) -> ok.
Handle telemetry events (logger handler)
-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)