Files
rippled/docker/telemetry/xrpld-telemetry.cfg

78 lines
2.2 KiB
INI

# Standalone xrpld configuration with OpenTelemetry enabled.
#
# Usage:
# 1. Start the observability stack:
# docker compose -f docker/telemetry/docker-compose.yml up -d
# 2. Run xrpld in standalone mode:
# ./xrpld --conf docker/telemetry/xrpld-telemetry.cfg -a --start
# 3. Send RPC commands to exercise tracing:
# curl -s http://localhost:5005 -d '{"method":"server_info"}'
# 4. View traces in Grafana Explore: http://localhost:3000/explore
[server]
port_rpc_admin_local
port_ws_admin_local
[port_rpc_admin_local]
port = 5005
ip = 127.0.0.1
admin = 127.0.0.1
protocol = http
[port_ws_admin_local]
port = 6006
ip = 127.0.0.1
admin = 127.0.0.1
protocol = ws
[node_db]
type=NuDB
path=docker/telemetry/data/nudb
online_delete=256
advisory_delete=0
[database_path]
docker/telemetry/data
# Path is resolved relative to this config file's directory (docker/telemetry),
# so this writes to docker/telemetry/data/logs/devnet/debug.log — the same
# dir the compose stack bind-mounts into the collector as /var/log/xrpld.
[debug_logfile]
data/logs/devnet/debug.log
[rpc_startup]
{ "command": "log_level", "severity": "debug" }
[ssl_verify]
0
# --- OpenTelemetry tracing ---
[telemetry]
enabled=1
service_instance_id=xrpld-standalone
endpoint=http://localhost:4318/v1/traces
exporter=otlp_http
batch_size=512
batch_delay_ms=5000
max_queue_size=2048
trace_rpc=1
trace_transactions=1
trace_consensus=1
trace_peer=1
trace_ledger=1
# --- 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=otel
endpoint=http://localhost:4318/v1/metrics
prefix=xrpld