From ca19c456fd0f123b4564d44c20bf9520e6bdefeb Mon Sep 17 00:00:00 2001 From: Pratik Mankawde <3397372+pratikmankawde@users.noreply.github.com> Date: Fri, 14 Aug 2026 22:26:26 +0100 Subject: [PATCH] test(telemetry): name the metrics under test instead of plan task numbers The integration-test sections, alert provisioning headers and a naming-check test comment were indexed by rollout phase and task numbers defined only in planning documents outside the shipped tree. Each now names what it covers. --- .../otel-naming/test_check_otel_naming.py | 2 +- .../provisioning/alerting/contactpoints.yaml | 2 +- .../provisioning/alerting/policies.yaml | 2 +- .../grafana/provisioning/alerting/rules.yaml | 2 +- docker/telemetry/integration-test.sh | 20 +++++++++---------- 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/scripts/otel-naming/test_check_otel_naming.py b/.github/scripts/otel-naming/test_check_otel_naming.py index 055e43b28e..c5de49f073 100644 --- a/.github/scripts/otel-naming/test_check_otel_naming.py +++ b/.github/scripts/otel-naming/test_check_otel_naming.py @@ -509,7 +509,7 @@ class RuleEAllowDottedMarkerEnforcement(unittest.TestCase): ) def test_all_named_keys_exempt_on_a_table_row(self): - # The real shape in the plan docs: a "was -> is now" row naming two old + # The real-world shape: a "was -> is now" row naming two old # dotted keys, with both listed in the marker. tokens, _ = _run_rule_e_docs( { diff --git a/docker/telemetry/grafana/provisioning/alerting/contactpoints.yaml b/docker/telemetry/grafana/provisioning/alerting/contactpoints.yaml index 03fa2344b4..0d36642776 100644 --- a/docker/telemetry/grafana/provisioning/alerting/contactpoints.yaml +++ b/docker/telemetry/grafana/provisioning/alerting/contactpoints.yaml @@ -1,6 +1,6 @@ # Grafana contact-point provisioning for rippled OTel alerts. # -# Phase 9: Internal metric gap fill — alerting on health-critical metrics. +# Alerting on health-critical internal metrics. # # A contact point is where a firing alert is delivered. Two are defined: # xrpld-default — Slack only; receives warning-severity alerts. diff --git a/docker/telemetry/grafana/provisioning/alerting/policies.yaml b/docker/telemetry/grafana/provisioning/alerting/policies.yaml index b1c4c92c70..3b65bb4ae6 100644 --- a/docker/telemetry/grafana/provisioning/alerting/policies.yaml +++ b/docker/telemetry/grafana/provisioning/alerting/policies.yaml @@ -1,6 +1,6 @@ # Grafana notification-policy provisioning for rippled OTel alerts. # -# Phase 9: Internal metric gap fill — alerting on health-critical metrics. +# Alerting on health-critical internal metrics. # # The notification policy tree decides which contact point receives a firing # alert and how alerts are batched. Routing is split by severity: diff --git a/docker/telemetry/grafana/provisioning/alerting/rules.yaml b/docker/telemetry/grafana/provisioning/alerting/rules.yaml index 0a8b294fda..9746559b28 100644 --- a/docker/telemetry/grafana/provisioning/alerting/rules.yaml +++ b/docker/telemetry/grafana/provisioning/alerting/rules.yaml @@ -1,6 +1,6 @@ # Grafana alert-rule provisioning for rippled OTel metrics. # -# Phase 9: Internal metric gap fill — alerting on health-critical metrics. +# Alerting on health-critical internal metrics. # # Thirteen rules across five subsystems: consensus/ledger health, validator # health, the job queue, node operating state, and the overlay (manifests). diff --git a/docker/telemetry/integration-test.sh b/docker/telemetry/integration-test.sh index b4401d5906..0a6fb98645 100755 --- a/docker/telemetry/integration-test.sh +++ b/docker/telemetry/integration-test.sh @@ -660,10 +660,10 @@ else fi # --------------------------------------------------------------------------- -# Step 10c: Verify Phase 9 OTel SDK Metrics +# Step 10c: Verify OTel SDK Metrics # --------------------------------------------------------------------------- log "" -log "--- Phase 9: OTel SDK Metrics (MetricsRegistry) ---" +log "--- OTel SDK Metrics (MetricsRegistry) ---" log "Waiting 15s for OTel metric export + Prometheus scrape..." sleep 15 @@ -679,34 +679,34 @@ check_otel_metric() { fi } -# Task 9.1: NodeStore I/O +# NodeStore I/O check_otel_metric 'nodestore_state{metric="node_reads_total"}' check_otel_metric 'nodestore_state{metric="write_load"}' -# Task 9.2: Cache hit rates +# Cache hit rates check_otel_metric 'cache_metrics{metric="SLE_hit_rate"}' check_otel_metric 'cache_metrics{metric="treenode_cache_size"}' -# Task 9.3: TxQ metrics +# TxQ metrics check_otel_metric 'txq_metrics{metric="txq_count"}' check_otel_metric 'txq_metrics{metric="txq_reference_fee_level"}' -# Task 9.4: Per-RPC metrics +# Per-RPC metrics check_otel_metric "rpc_method_started_total" check_otel_metric "rpc_method_finished_total" -# Task 9.5: Per-job metrics +# Per-job metrics check_otel_metric "job_queued_total" check_otel_metric "job_finished_total" -# Task 9.6: Counted object instances +# Counted object instances check_otel_metric "object_count" -# Task 9.7: Load factor breakdown +# Load factor breakdown check_otel_metric 'load_factor_metrics{metric="load_factor"}' check_otel_metric 'load_factor_metrics{metric="load_factor_server"}' -# Task 7.15 / Phase 9: ValidationTracker rolling-window agreement gauge. +# ValidationTracker rolling-window agreement gauge. # MetricsRegistry::registerValidationAgreementGauge() publishes # validation_agreement with a `metric` label for each window # (1h / 24h / 7d) plus the matching agreement/miss counts. The 7-day