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

hyperledger / fabric-x-committer / 30811450871
91%
main: 91%

Build:
Build:
LAST BUILD BRANCH: queue-gauge-per-stream
DEFAULT BRANCH: main
Ran 03 Aug 2026 11:59AM UTC
Jobs 3
Files 132
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

03 Aug 2026 11:47AM UTC coverage: 91.286% (+0.2%) from 91.067%
30811450871

Pull #736

github

liran-funaro
[coordinator, sidecar, vc] Report queue sizes on scrape

#### Type of change

- Bug fix
- Improvement (improvement to code, performance, etc)

#### Description

- Replace the three remaining ticker-based queue monitors with gauges evaluated on scrape, and
  delete the sampler goroutines. `service/sidecar/sidecar.go`'s `monitorQueues` was never called
  after #544 removed its call site, so `sidecar_relay_input_block_queue_size` and
  `sidecar_relay_output_committed_block_queue_size` reported a flat zero; both work again.
- Add `monitoring.NewChannelLenGauge` for a channel that lives as long as the service, and
  `NewAtomicChannelLenGauge` for one that is replaced at runtime. A sidecar session's queues and
  each manager's `txBatchQueue` are reported through an `atomic.Pointer` the owner installs, so a
  scrape between sessions reads zero rather than the previous session's last value. Recreating those
  queues is how stale entries are dropped, so promoting them to a plain field was not an option.
- Add gauges for ten queues that had none: `vcservice_batcher_input_queue_size`,
  `sidecar_relay_mapped_block_queue_size`, `sidecar_relay_input_status_batch_queue_size`, the four
  `sidecar_notifier_*` queues, `coordinator_{verifier,vcservice}_pending_batch_queue_size`, and
  `coordinator_grpc_in_progress_transaction` — the counter the
  `numTxsInProgress >= readyCount >= 0` invariant is written against.
- Remove the `queue-monitor-sampling-time` config key: the dependency graph's sampler was its only
  reader. Deployed YAML that still sets it keeps loading, as `v.Unmarshal` ignores unknown keys.
- Gather each service's pipeline channels into a `queues` struct built before the metrics that
  observe them, so a queue gauge cannot be registered against a channel that does not exist yet.
- Teach `scripts/metrics_doc_extract.py` the helper call shape (opts as the second argument) and
  identifiers declared as string constants. Without the second change, hoisting a... (continued)
Pull Request #736: [coordinator, sidecar, vc] Report queue sizes on scrape

187 of 188 new or added lines in 14 files covered. (99.47%)

13 existing lines in 6 files now uncovered.

10665 of 11683 relevant lines covered (91.29%)

33042.21 hits per line

Uncovered Changes

Lines Coverage ∆ File
1
80.66
2.37% service/sidecar/sidecar.go

Coverage Regressions

Lines Coverage ∆ File
4
87.8
-2.44% service/vc/committer.go
3
90.34
-2.14% service/vc/validator_committer_service.go
2
86.76
1.13% service/vc/database.go
2
85.76
-0.68% service/query/batcher.go
1
97.5
2.5% mock/coordinator.go
1
94.95
-1.01% loadgen/adapters/common.go
Jobs
ID Job ID Ran Files Coverage
1 unit-test - 30811450871.1 03 Aug 2026 12:01PM UTC 96
84.88
GitHub Action Run
2 core-db-test - 30811450871.2 03 Aug 2026 11:59AM UTC 101
46.82
GitHub Action Run
3 db-test - 30811450871.3 03 Aug 2026 12:01PM UTC 132
79.03
GitHub Action Run
Source Files on build 30811450871
  • Tree
  • List 132
  • Changed 23
  • Source Changed 0
  • Coverage Changed 23
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #736
  • PR Base - main (#30811029382)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc