Centralised Telemetry event definitions and emission helpers.
Events emitted
| Event | Measurements | Metadata |
|---|---|---|
[:phoenix_micro, :message, :received] | %{count: 1} | topic, transport, attempt |
[:phoenix_micro, :message, :processed] | %{duration: t} | topic, transport, consumer |
[:phoenix_micro, :message, :failed] | %{count: 1} | topic, reason, final |
[:phoenix_micro, :message, :published] | %{count: 1} | topic, transport, batched |
[:phoenix_micro, :rpc, :request] | %{count: 1} | topic, correlation_id |
[:phoenix_micro, :rpc, :response] | %{duration: t} | topic, correlation_id |
[:phoenix_micro, :rpc, :timeout] | %{count: 1} | topic, correlation_id |
[:phoenix_micro, :transport, :connected] | %{count: 1} | transport |
[:phoenix_micro, :transport, :disconnected] | %{count: 1} | transport, reason |
Attaching a default logger handler
In your application's start/2:
PhoenixMicro.Telemetry.attach_default_logger()
Summary
Functions
Attaches a default Logger-based Telemetry handler for all PhoenixMicro events. Useful for development; in production prefer structured metrics exporters.
Emits a message_failed event.
Emits a message_processed event with duration.
Emits a message_published event.
Emits a message_received event.
Returns a list of Telemetry.Metrics metric definitions.
Emits an RPC request event.
Emits an RPC response event with duration.
Emits an RPC timeout event.
Emits a transport_connected event.
Emits a transport_disconnected event.
Functions
@spec attach_default_logger(keyword()) :: :ok
Attaches a default Logger-based Telemetry handler for all PhoenixMicro events. Useful for development; in production prefer structured metrics exporters.
Emits a message_failed event.
Emits a message_processed event with duration.
Emits a message_published event.
Emits a message_received event.
@spec metrics() :: [struct()]
Returns a list of Telemetry.Metrics metric definitions.
Usage with Phoenix
# In your Telemetry module
def metrics do
PhoenixMicro.Telemetry.metrics() ++ [
# your other metrics
]
end
Emits an RPC request event.
Emits an RPC response event with duration.
Emits an RPC timeout event.
@spec transport_connected(atom()) :: :ok
Emits a transport_connected event.
Emits a transport_disconnected event.