Skip to content

fix(store): provide compact Raft metrics for dashboard collection - #3433

Merged
imbajin merged 1 commit into
apache:masterfrom
hugegraph:fix/store-compact-raft-metrics
Oct 29, 2026
Merged

imbajin merged 1 commit into
apache:masterfrom
hugegraph:fix/store-compact-raft-metrics

Conversation

@imbajin

@imbajin imbajin commented Oct 29, 2026 •

Copy link
Copy Markdown
Member

Before → After

Before: Detailed Raft metrics serialize per-group registries and can exceed Hubble's collection limit.

After: Add a compact Raft summary endpoint exposing group and enabled-metrics counts while retaining detailed diagnostics and existing access controls.

Validation boundary

The author reports four controller tests and a 16-module compile. Counts describe metrics collection, not group health; no independent deployment or load acceptance is claimed. Paired with hugegraph/hugegraph-toolchain#110.

Source PR: 🔗 hugegraph/hugegraph #355

Visual overview

Raft metrics summary versus detailed registries

Design illustration: the additive summary endpoint returns group and metrics-enabled counts without serializing per-group registries. Values shown are illustrative; enabled metrics do not establish Raft health. The detailed endpoint remains available. No CI, cluster or performance acceptance is claimed.

Add a constant-size summary for dashboard collection.\nKeep detailed registries on the existing endpoint.\nTest empty, disabled and 1000-group responses and document the contract.
@codecov

codecov Bot commented Oct 29, 2026 •

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 57.70%. Comparing base (608cb1d) to head (8698cb2).
⚠️ Report is 16 commits behind head on master.

Additional details and impacted files
@@             Coverage Diff              @@
##             master    #3433      +/-   ##
============================================
+ Coverage     57.27%   57.70%   +0.43%     
+ Complexity     6577     2586    -3991     
============================================
  Files           776      779       +3     
  Lines         68881    69150     +269     
  Branches       9431     9502      +71     
============================================
+ Hits          39449    39901     +452     
+ Misses        25804    25583     -221     
- Partials       3628     3666      +38     
Flag Coverage Δ *Carryforward flag
commons 96.37% <ø> (ø) Carriedforward from 608cb1d
hstore 36.12% <ø> (+0.02%) ⬆️
pd 52.56% <ø> (+0.40%) ⬆️ Carriedforward from 608cb1d
server_hbase 42.18% <ø> (-0.01%) ⬇️ Carriedforward from 608cb1d
server_memory 55.98% <ø> (-0.01%) ⬇️ Carriedforward from 608cb1d
server_rocksdb 42.65% <ø> (-0.01%) ⬇️ Carriedforward from 608cb1d
store 35.90% <ø> (+2.75%) ⬆️

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@bitflicker64 bitflicker64 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Blocking: no. Score: 9/10. Summary: GET /metrics/raft/summary returns two counts from the same HgStoreEngine.getNodeMetrics() map that /metrics/raft serializes, handles null NodeMetrics entries, and leaves the detailed endpoint unchanged. HgStoreMetricsControllerTest (4 tests) passes in the pd_store / store job at this head, and all other checks are green or skipped.

@imbajin
imbajin merged commit 566bf95 into apache:master Oct 29, 2026
16 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants