mirror of
https://github.com/XRPLF/rippled.git
synced 2026-08-22 14:50:54 +00:00
78 lines
2.2 KiB
INI
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
|