Commit Graph

15122 Commits

Author SHA1 Message Date
Pratik Mankawde
a3d27cfab8 docs(telemetry): drop personal name from dashboard service.name example
Final four dashboards introduced in this phase: replace the "pratik-xrpld"
$service_name example with "xrpld-validator".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:54:51 +01:00
Pratik Mankawde
8943d42109 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-06 16:54:38 +01:00
Pratik Mankawde
af783b1df6 Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-06 16:54:38 +01:00
Pratik Mankawde
7881b707d2 docs(telemetry): drop personal name from dashboard service.name example
Same cleanup for the five system-metric dashboards introduced in this phase:
replace the "pratik-xrpld" $service_name example with "xrpld-validator".

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:54:14 +01:00
Pratik Mankawde
424be46662 Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics 2026-07-06 16:54:03 +01:00
Pratik Mankawde
2da3e73b63 docs(telemetry): drop personal name from dashboard service.name example
The $service_name template variable's description used a personal-name example
value. Replace "pratik-xrpld" with the generic "xrpld-validator" in the five
dashboards that introduced it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:53:56 +01:00
Pratik Mankawde
f64f4b35e7 config(telemetry): use generic /var/log/xrpld path, drop personal home dir
Replace the hardcoded /home/pratik/xrpld-logs path with the conventional
/var/log/xrpld in the mainnet config's [debug_logfile], the docker-compose
log volume mount, and the collector-config comment. Removes a personal home
directory from shipped config.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:50:21 +01:00
Pratik Mankawde
b5d7e3984f docs(telemetry): add Alerting section, drop phase label, expand alerting task
- Add an operator-facing Alerting section to the runbook covering the six
  provisioned Grafana rules and how to point them at a real receiver.
- Strip the "(Phase 9)" suffix from the MetricsRegistry Gauges heading.
- ALERTING.md: drop the internal dev-phase reference from the intro.
- Phase9_taskList.md: expand Task 9.9 to describe the provisioned alerting
  (rules, contact point, policy, ALERTING.md runbook).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:46:14 +01:00
Pratik Mankawde
aa631f7fd4 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-06 16:44:27 +01:00
Pratik Mankawde
2b419338fb docs(telemetry): drop dev-phase label from Log-Trace Correlation heading
Operator-facing cleanup: strip the "(Phase 8)" suffix from the Log-Trace
Correlation section heading in the runbook.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:44:19 +01:00
Pratik Mankawde
2ab9fb9a54 Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-06 16:44:10 +01:00
Pratik Mankawde
d4ee847bcc Merge branch 'pratik/otel-phase6-statsd' into pratik/otel-phase7-native-metrics 2026-07-06 16:43:52 +01:00
Pratik Mankawde
d84fdbd29f docs(telemetry): drop dev-phase labels from Ledger/Peer span headings
Same operator-facing cleanup as the RPC/transaction/consensus headings: the
runbook documents the running system, not the development phase that added
each span. Strip the "(Phase 6)" suffixes from the Ledger and Peer span
reference headings.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:43:40 +01:00
Pratik Mankawde
0f630d1afa Merge branch 'pratik/otel-phase5-docs-deployment' into pratik/otel-phase6-statsd 2026-07-06 16:43:27 +01:00
Pratik Mankawde
22940969ff docs(telemetry): drop dev-phase labels and personal name from runbook
The operator runbook is for people running OpenTelemetry against a node, not
a record of the internal development phases. Strip the "(Phase N)" suffixes
from the span-reference headings and replace the personal-name example
service.name value with a generic one.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:43:15 +01:00
Pratik Mankawde
7cabf91a0d feat(telemetry): add provisioned Grafana alert rules for phase-9 metrics
Add operator-facing alerting on the health-critical metrics phase 9 emits,
completing the "alerting rules" deliverable already listed in the phase-9
task list and Jira story.

Provisioned YAML under grafana/provisioning/alerting/ (auto-loaded by the
Grafana container; no docker-compose change needed):
- rules.yaml: 6 alerts in 3 groups — consensus/ledger health, validator
  health, job queue. Each is a query(A, 5m rate/quantile by exported_instance)
  -> reduce(B, last) -> threshold(C) on the Prometheus datasource.
- contactpoints.yaml: xrpld-default webhook receiver (local-dev placeholder).
- policies.yaml: flat routing to xrpld-default, grouped by
  alertname + exported_instance.

Also adds docker/telemetry/ALERTING.md runbook (per-alert meaning, causes,
threshold tuning, how to point alerts at a real receiver) and the design spec.

Verified live: Grafana 11.5.2 provisioned all 6 rules with no rule in error
health; contact point loaded.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 16:25:15 +01:00
Pratik Mankawde
dcfdb60e9f ci issues
Signed-off-by: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com>
2026-07-06 15:19:57 +01:00
Pratik Mankawde
34a579e744 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-06 13:20:12 +01:00
Pratik Mankawde
5709b7484e Merge branch 'pratik/otel-phase7-native-metrics' into pratik/otel-phase8-log-correlation 2026-07-06 13:20:03 +01:00
Pratik Mankawde
90b3726ed7 fix: make csf::Peer::getTelemetry() static to satisfy clang-tidy
The test Peer adaptor's getTelemetry() returns a shared function-local
NullTelemetry instance and does not read any per-peer state, so
clang-tidy's readability-convert-member-functions-to-static flags it as
an error under -warnings-as-errors. Mark it static; it has no callers
that depend on it being a non-static member.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-06 13:19:21 +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
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
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
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
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
ca5637e1d2 Merge branch 'pratik/otel-phase8-log-correlation' into pratik/otel-phase9-metric-gap-fill 2026-07-04 02:22:26 +01:00