Commit Graph

15218 Commits

Author SHA1 Message Date
Pratik Mankawde
61649a3fab fix(telemetry): make dashboard filters work on Grafana Cloud + strip SDK attrs
Grafana Cloud ingests metrics via OTLP with no Prometheus scrape, so the
tier/instance resource attributes never became series labels the way the
local prometheus exporter promotes them. Dashboard $node,
$deployment_environment, and $xrpl_network_type filters therefore matched
nothing on Cloud (only service_name existed).

Split the metrics pipeline: metrics/local keeps the Prometheus exporter
(unchanged label promotion), metrics/cloud adds a transform that copies
service.instance.id -> exported_instance, deployment.environment ->
deployment_environment, and xrpl.network.type -> xrpl_network_type onto
datapoint labels so the same dashboards filter correctly on both backends.
Also strip telemetry.sdk.* on all pipelines. Validated against
otel-collector-contrib 0.121.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 03:26:55 +01:00
Pratik Mankawde
b30e11b6c1 Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation 2026-07-04 03:25:49 +01:00
Pratik Mankawde
e1ef515671 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-04 03:25:41 +01:00
Pratik Mankawde
be50ecda06 Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation
# Conflicts:
#	docker/telemetry/otel-collector-config.yaml
2026-07-04 03:25:32 +01:00
Pratik Mankawde
f600660364 Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
# Conflicts:
#	docker/telemetry/otel-collector-config.yaml
2026-07-04 03:24:45 +01:00
Pratik Mankawde
5cf22a9758 Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd
# Conflicts:
#	docker/telemetry/otel-collector-config.yaml
2026-07-04 03:24:02 +01:00
Pratik Mankawde
8c067f5fb4 Merge branch 'pratik/otel-phase4-consensus-tracing' into pratik/otel-phase5-docs-deployment 2026-07-04 03:23:00 +01:00
Pratik Mankawde
4e21aefe74 Merge branch 'pratik/otel-phase3-tx-tracing' into pratik/otel-phase4-consensus-tracing 2026-07-04 03:22:59 +01:00
Pratik Mankawde
bb0df16c90 Merge branch 'pratik/otel-phase2-rpc-tracing' into pratik/otel-phase3-tx-tracing 2026-07-04 03:22:59 +01:00
Pratik Mankawde
5031ab2b4e Merge branch 'pratik/otel-phase1c-rpc-integration' into pratik/otel-phase2-rpc-tracing 2026-07-04 03:22:59 +01:00
Pratik Mankawde
90584be746 Merge branch 'pratik/otel-phase1b-telemetry-infra' into pratik/otel-phase1c-rpc-integration 2026-07-04 03:22:58 +01:00
Pratik Mankawde
80d33662e4 feat(telemetry): strip SDK-injected resource attributes at the collector
Add a resource/stripsdk processor that deletes telemetry.sdk.language,
telemetry.sdk.name, and telemetry.sdk.version (auto-added by the OTel SDK
to every Resource). Wire it into the traces pipeline; the metrics and
logs pipelines pick it up on the branches that introduce them.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 03:22:47 +01:00
Pratik Mankawde
1f4d03fae8 Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation 2026-07-04 03:01:43 +01:00
Pratik Mankawde
9631075634 docs(telemetry): fix stale system-node-health refs and dashboard count in validator
Update comments to the renamed node-health uid and correct the dashboard
count to 14 (was 13).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 03:01:42 +01:00
Pratik Mankawde
d82f76d517 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-04 03:01:31 +01:00
Pratik Mankawde
8c02c1595d Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-04 03:01:31 +01:00
Pratik Mankawde
a6a0de554b docs(telemetry): fix missed system-node-health rename in Phase9 task list
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 03:01:16 +01:00
Pratik Mankawde
629514dcc3 docs(telemetry): fix missed system-node-health rename in parity spec
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 03:01:13 +01:00
Pratik Mankawde
ab849722e5 Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation 2026-07-04 02:54:34 +01:00
Pratik Mankawde
3b84e32941 Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-04 02:54:27 +01:00
Pratik Mankawde
6749e7831c Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-04 02:54:27 +01:00
Pratik Mankawde
52ec7f2a11 Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics 2026-07-04 02:54:27 +01:00
Pratik Mankawde
14a689f1ed Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd 2026-07-04 02:54:19 +01:00
Pratik Mankawde
2f027551c9 docs(telemetry): drop redundant xrpld- prefix from dashboard uids in runbook
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 02:53:32 +01:00
Pratik Mankawde
dbd2c7ad1b refactor(telemetry): update phase-10 refs to bare dashboard uids
Point the workload validation uid list and implementation-phases doc at
the renamed bare dashboard uids.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 02:50:27 +01:00
Pratik Mankawde
21bcedfd4a Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation 2026-07-04 02:49:47 +01:00
Pratik Mankawde
83f8fb7063 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill
# Conflicts:
#	docker/telemetry/grafana/dashboards/consensus-health.json
#	docker/telemetry/grafana/dashboards/ledger-operations.json
#	docker/telemetry/grafana/dashboards/node-health.json
#	docker/telemetry/grafana/dashboards/peer-network.json
#	docker/telemetry/grafana/dashboards/rpc-pathfinding.json
#	docker/telemetry/grafana/dashboards/rpc-performance.json
#	docker/telemetry/grafana/dashboards/transaction-overview.json
2026-07-04 02:49:39 +01:00
Pratik Mankawde
85ce6467d0 Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-04 02:47:50 +01:00
Pratik Mankawde
1ea7bb5252 Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics
# Conflicts:
#	OpenTelemetryPlan/09-data-collection-reference.md
2026-07-04 02:47:42 +01:00
Pratik Mankawde
25868f2740 refactor(telemetry): rename xrpld-* dashboards to bare names, bare uids across all dashboards
Rename the 4 xrpld-* dashboard files to bare names and set every
dashboard uid to its bare filename stem; update doc/plan references.
Removes the redundant xrpld-/system- prefixes now that titles are clean.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 02:46:37 +01:00
Pratik Mankawde
2c590a47c5 refactor(telemetry): rename system-* dashboards to bare names, drop redundant prefix
Rename the 5 system-* dashboard files to bare domain names (uid ==
filename stem) and update all doc references. The system- prefix was
redundant now that titles no longer carry a recorder-pipeline suffix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 02:45:39 +01:00
Pratik Mankawde
d5d9d1d8da refactor(telemetry): drop redundant xrpld- prefix from dashboard uids
Make dashboard uids bare domain names (uid == filename stem) and update
doc references. Grafana links/bookmarks to the old uids will need
refreshing.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 02:44:54 +01:00
Pratik Mankawde
3c4e67b33f Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation 2026-07-04 02:33:03 +01:00
Pratik Mankawde
6ff90a2892 Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-04 02:32:55 +01:00
Pratik Mankawde
783644fb7d Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-04 02:32:55 +01:00
Pratik Mankawde
1839fa15e6 docs(telemetry): dashboard-level descriptions to plain text
Grafana renders the dashboard-level description as plain text (not
markdown), so the h6 headings/italics showed as literal characters.
Convert to plain 'What this shows:' / 'Use it to:' labeled lines. Panel
descriptions (which DO render markdown) are unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 02:32:37 +01:00
Pratik Mankawde
78fb08ef38 docs(telemetry): dashboard-level descriptions to plain text
Grafana renders the dashboard-level description as plain text (not
markdown), so the h6 headings/italics showed as literal characters.
Convert to plain 'What this shows:' / 'Use it to:' labeled lines. Panel
descriptions (which DO render markdown) are unchanged.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 02:32:23 +01:00
Pratik Mankawde
797d9449f3 Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation 2026-07-04 02:22:32 +01:00
Pratik Mankawde
ca5637e1d2 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-04 02:22:26 +01:00
Pratik Mankawde
324b58d38f Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-04 02:22:20 +01:00
Pratik Mankawde
3abf7086a3 docs(telemetry): reformat dashboard descriptions to structured markdown; fix inaccurate/broken panels from review
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 02:20:56 +01:00
Pratik Mankawde
9f8a4c9561 docs(telemetry): reformat system dashboard descriptions to structured markdown; fix malformed traffic-category query
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-04 02:17:28 +01:00
Pratik Mankawde
f6cbc8d4e7 fix(telemetry): drop deleted RPC OTel dashboard uid from workload validation
The separate xrpld-rpc-perf-otel dashboard was merged into xrpld-rpc-perf,
so the validation harness must no longer expect it to exist.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 22:33:37 +01:00
Pratik Mankawde
628726b51b Merge branch 'pratik/otel-phase9-metric-gap-fill' into pratik/otel-phase10-workload-validation
# Conflicts:
#	docker/telemetry/grafana/dashboards/rpc-performance.json
#	docker/telemetry/grafana/dashboards/xrpld-rpc-perf-otel.json
2026-07-03 22:31:15 +01:00
Pratik Mankawde
94791ef924 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-03 22:29:24 +01:00
Pratik Mankawde
2a90b582ff Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-03 22:29:18 +01:00
Pratik Mankawde
6961727ba7 docs(telemetry): drop (System Metrics) suffix from dashboard names in reference
Match the reader-facing dashboard catalog to the actual dashboard titles,
which no longer carry the recorder-pipeline suffix.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 22:28:56 +01:00
Pratik Mankawde
0f43675440 docs(telemetry): reflect RPC dashboard merge in data-collection reference
The separate RPC Performance (OTel) dashboard was folded into RPC
Performance as a per-method section, so describe it as an addition to the
existing dashboard rather than a new one.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 22:28:02 +01:00
Pratik Mankawde
36e4056869 feat(telemetry): merge native per-method RPC panels into RPC Performance
Fold the 7 panels from the separate RPC Performance (OTel) dashboard into
RPC Performance as a labelled 'Per-Method Detail' section, and retire the
duplicate dashboard. The two showed the same subject (RPC) from two data
sources; one dashboard with two sections is clearer and loses no panel.
Adds the $method template variable for per-method filtering.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 22:26:19 +01:00
Pratik Mankawde
adb4c7cdb4 docs(telemetry): re-clean 5 reworked dashboards on phase9 structure, retag, strip suffixes
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 22:23:25 +01:00