mirror of
https://github.com/XRPLF/rippled.git
synced 2026-07-13 10:10:19 +00:00
The native OTel metrics path hard-coded service.name="xrpld" and stamped no network attribute, while traces stamped a configurable service.name and xrpl.network.type. Metrics therefore could not be filtered by service or network. Align the two paths: - OTelCollector::New / OTelCollectorImp gain serviceName + networkType params. service.name uses the configured value (default "xrpld" when unset, preserving today's behavior); xrpl.network.type is stamped when provided. The key is a string literal because beast/insight sits below the telemetry module and cannot include its SpanNames const. - CollectorManager reads service_name from [insight], falling back to the [telemetry] value, and receives the network type from the caller. - Application derives the network type once via the shared telemetry::networkTypeFromId, now declared in Telemetry.h and moved out of an anonymous namespace so the trace and metric paths reuse a single 0/1/2 -> mainnet/testnet/devnet mapping (no duplication). Dashboards (5 system-* files): add $service_name, $deployment_environment, $xrpl_network_type template variables and wire them into every panel query that filters by $node. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>