From a61c34971200df73ecbde8afb8cdd906e6a8acd1 Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Sat, 15 Aug 2026 17:48:44 +0100 Subject: [PATCH] fix(telemetry): switch sample config to server=otel This branch removes the collector's StatsD receiver and un-publishes 8125/udp, but xrpld-telemetry.cfg still selected server=statsd, so the sample config sent beast::insight metrics over UDP to a port nothing listens on. Phase7_taskList.md:132 lists this switch as required work. Select server=otel and replace address= with the OTLP metrics endpoint. Document that endpoint and prefix are informational only, since OTelCollector records on the global MeterProvider that [telemetry] configures and formatName() applies no prefix, and note that beast instruments are not exported yet because the collector is constructed before the MeterProvider is registered. --- docker/telemetry/xrpld-telemetry.cfg | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/docker/telemetry/xrpld-telemetry.cfg b/docker/telemetry/xrpld-telemetry.cfg index 0a50c3bbaa..f03af1cbde 100644 --- a/docker/telemetry/xrpld-telemetry.cfg +++ b/docker/telemetry/xrpld-telemetry.cfg @@ -58,10 +58,17 @@ trace_consensus=1 trace_peer=1 trace_ledger=1 -# --- StatsD metrics (beast::insight) --- -# Sends UDP metrics to the collector's StatsD receiver so the StatsD -# dashboards have data. The collector binds this port on the host loopback. +# --- Insight (native OTel metrics via beast::insight) --- +# server selects the beast::insight backend. Only server=otel is usable with +# this stack: the collector defines no StatsD receiver and 8125/udp is not +# published, so server=statsd sends UDP to a port nothing listens on. +# endpoint and prefix are informational only. OTelCollector records on the +# global MeterProvider that [telemetry] configures, and formatName() does not +# apply the prefix, so metric names are bare and lowercase. +# Known limitation: the collector is built before the MeterProvider is +# registered, so beast::insight instruments bind to a no-op meter and are not +# exported yet. Tracing and the [telemetry] metrics pipeline are unaffected. [insight] -server=statsd -address=127.0.0.1:8125 +server=otel +endpoint=http://localhost:4318/v1/metrics prefix=xrpld