Telemetry events are emitted under:
[:<telemetry_id>, :connection, <event>]Events
:success:failure:disconnected:timeout:status
Measurements
:success->%{count: 1}:failure->%{count: 1}:disconnected->%{count: 1}:timeout->%{count: 1}:status->%{value: 0 | 1}
Metadata
:successincludes%{url: String.t()}:failureincludes%{reason: term()}:disconnectedincludes%{reason: term()}
Notes
- connection-success telemetry is emitted only after websocket upgrade and successful
:on_upgradebootstrap, if configured - frame-handler failures are reported through the connection failure path
Example
:telemetry.attach(
"off-broadway-websocket-success",
[:websocket_producer, :connection, :success],
fn event, measurements, metadata, _config ->
IO.inspect({event, measurements, metadata}, label: "telemetry")
end,
nil
)