mirror of
https://github.com/XRPLF/rippled.git
synced 2026-08-21 06:10:58 +00:00
These changes were developed on the phase-10 branch but belong to content this branch and its upstreams introduced. Carrying them on phase-10 made its PR diff report churn in files phase-10 does not own, and left each PR claiming a scope that did not match its contents. Moved here from phase-10 (identical content, no functional change): - Dashboards: all 14 existing boards plus the new log-derived-insights board. - Docs: telemetry-runbook.md (minus the workload/benchmark sections, which describe phase-10 tooling) and the new telemetry-glossary.md. - Grafana Cloud + Alloy export path: collector config, compose override, the two .env examples and alloy/config.alloy. - Local stack: otel-collector-config.yaml gains sub-millisecond and second-scale spanmetrics buckets, pins unit=ms, and promotes close_time_correct; integration-test.sh and TESTING.md follow. - Node configs: exported_instance -> service_instance_id in comments; the mainnet sample now logs at warning to bound log volume. - Metrics code: Telemetry.cpp builds the metrics pipeline in the constructor via initMetrics() so the global MeterProvider is published before any subsystem creates a beast::insight instrument, and the histogram view keeps each instrument's own name instead of collapsing them under one series. MetricsRegistry gains a last_close_time gauge and skips negative job-queue durations. OTelCollector drops an unused accessor. - Naming CI: xrpl_work_item joins EXTERNAL_INFRA_LABELS and Rule E accepts the dotted perf-iac resource-attribute form. This must travel with the dashboards and runbook that reference those labels, or the rules fail. - Doxygen input glob no longer recurses dot-directories. Sections describing phase-10 tooling stay on phase-10 and keep their "Future Enhancement" / "Planned, not yet implemented" markers here; phase-10 removes those markers when it lands the tooling.
29 lines
1.3 KiB
YAML
29 lines
1.3 KiB
YAML
# Compose override — enable Grafana Cloud export at runtime.
|
|
#
|
|
# Layer this on top of the base stack to swap the collector onto the
|
|
# Grafana Cloud dual-export config and inject the OTLP credentials. The
|
|
# base docker-compose.yml is unchanged, so plain `up` stays local-only.
|
|
#
|
|
# Usage:
|
|
# 1. Put your three Grafana Cloud values in docker/telemetry/.env.grafanacloud
|
|
# (template: .env.grafanacloud.example). That file is gitignored.
|
|
# 2. Bring the stack up with BOTH compose files:
|
|
# docker compose -f docker/telemetry/docker-compose.yml \
|
|
# -f docker/telemetry/docker-compose.grafanacloud.yaml up -d
|
|
# 3. To go back to local-only, bring the stack up with just the base file.
|
|
#
|
|
# Log mount: inherited from the base compose (./data/logs -> /var/log/xrpld).
|
|
# Both nodes' xrpld cfgs write to docker/telemetry/data/logs/<net>/debug.log,
|
|
# so no per-box remap is needed here.
|
|
|
|
services:
|
|
otel-collector:
|
|
volumes:
|
|
# Mount the Grafana Cloud collector config over the default path
|
|
# (replaces local-only config for this run; file on disk untouched).
|
|
- ./otel-collector-config.grafanacloud.yaml:/etc/otel-collector-config.yaml:ro
|
|
# Secrets from the env file, injected as container env and
|
|
# resolved by the collector via ${env:...}.
|
|
env_file:
|
|
- .env.grafanacloud
|