• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

databendlabs / openraft / 23689061600
86%

Build:
DEFAULT BRANCH: main
Ran 28 Mar 2026 04:15PM UTC
Jobs 1
Files 268
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Mar 2026 04:02PM UTC coverage: 86.338% (+0.2%) from 86.156%
23689061600

push

github

drmingdrmer
feat: add runtime log-stage latency tracking

Track per-entry timing across six Raft log lifecycle stages in
RuntimeStats: Proposed, Received, Submitted, Persisted, Committed, and
Applied. The implementation stores stage timestamps in fixed-capacity
range maps, aligns stage boundaries into segments, and builds histograms
for each stage-to-stage transition plus end-to-end latency.

Integrate stage recording into RaftCore and client-write batching paths,
extend RuntimeStats and display output, add Config::log_stage_capacity,
and expose the data through Raft::runtime_stats() / openraft::stats.

- add RangeMap, MultiRangeMap, SegmentIter and tests
- add Stage, LogStages, LogStageHistograms and display formatting
- record proposed/received/submitted/persisted/committed/applied timestamps
- add runtime-stats docs, config, and metrics integration tests

Example:

```text
let stats = raft.runtime_stats().await?;
println!("{}", stats.log_stage);

[0,1: 23:48:32.022522 +0.00ns; proposed +0.00ns (0.00ns), received +241.58µs (241.58µs), submitted +0.00ns (241.58µs), persisted +1.64ms (1.88ms), committed +271.25µs (2.15ms), applied +812.08µs (2.97ms)
[1,2): 23:48:32.022522 +0.00ns; proposed +0.00ns (0.00ns), received +241.58µs (241.58µs), submitted +0.00ns (241.58µs), persisted +522.13µs (763.71µs), committed +271.25µs (1.03ms), applied +812.08µs (1.85ms)
[2,3): 23:48:32.022522 +0.00ns; proposed +0.00ns (0.00ns), received +241.58µs (241.58µs), submitted +125.83µs (367.42µs), persisted +396.38µs (763.79µs), committed +192.29µs (956.08µs), applied +547.33µs (1.50ms)
[3,8): 23:48:32.024658 +2.14ms; proposed +0.00ns (0.00ns), received +556.04µs (556.04µs), submitted +207.83µs (763.88µs), persisted +476.13µs (1.24ms), committed +186.58µs (1.43ms), applied +697.92µs (2.12ms)
```

- Fix: #1690

543 of 605 new or added lines in 15 files covered. (89.75%)

9 existing lines in 3 files now uncovered.

16513 of 19126 relevant lines covered (86.34%)

143420.66 hits per line

Uncovered Changes

Lines Coverage ∆ File
33
65.98
openraft/src/core/runtime_stats/log_stage/lifecycle_latency.rs
27
55.74
openraft/src/core/runtime_stats/runtime_stats.rs
1
93.47
-0.5% openraft/src/core/merged_raft_msg_receiver.rs
1
96.88
openraft/src/core/runtime_stats/log_stage/histograms.rs

Coverage Regressions

Lines Coverage ∆ File
5
81.48
-18.52% openraft/src/core/sm/handle.rs
3
82.8
-3.23% openraft/src/replication/snapshot_transmitter.rs
1
83.33
0.0% openraft/src/metrics/serde_instant.rs
Jobs
ID Job ID Ran Files Coverage
1 23689061600.1 28 Mar 2026 04:15PM UTC 268
86.34
GitHub Action Run
Source Files on build 23689061600
  • Tree
  • List 268
  • Changed 14
  • Source Changed 9
  • Coverage Changed 13
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23689061600
  • cbae0e69 on github
  • Prev Build on main (#23372170847)
  • Next Build on main (#23700914850)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc