Telemetry.Metrics definitions for RpcLoadBalancer.call/5 and
RpcLoadBalancer.cast/5 spans.
Consumers register these in their telemetry supervisor — e.g. through
PrometheusTelemetry — to expose rpc_load_balancer.rpc.* series.
# in your_app/application.ex
children = [
{PrometheusTelemetry,
exporter: [enabled?: prod?()],
metrics: [
RpcLoadBalancer.Metrics.metrics(),
PrometheusTelemetry.Metrics.VM.metrics()
]}
]Emitted events
[:rpc_load_balancer, :rpc, :start][:rpc_load_balancer, :rpc, :stop]— measurement:duration(:native)[:rpc_load_balancer, :rpc, :exception]
Metadata
:type—:callor:cast:node— target node atom:module—inspect/1'd module name (string, low-cardinality):function— function name atom:load_balancer— load balancer name atom, ornilfor direct calls:status(stop only) —:ok | :error | atom()mapped fromErrorMessagecode
Prometheus series
rpc_load_balancer.rpc.request.start.countrpc_load_balancer.rpc.request.stop.countrpc_load_balancer.rpc.duration.milliseconds
Summary
Functions
@spec metrics() :: [Telemetry.Metrics.t()]