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

sandialabs / LoQS / 38005711025
89%

Build:
DEFAULT BRANCH: main
Ran 10 Oct 2026 12:26AM UTC
Jobs 1
Files 83
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

09 Oct 2026 11:42PM UTC coverage: 90.16% (+0.1%) from 90.017%
38005711025

push

github

web-flow
Add `loqs-monitor` for live per-worker progress during parallel dispatch (#145)

* Report live shot progress into SWMR item ledgers

QuantumProgram.run() gains a progress_callback(shots_done, shots_total)
that fires before the first shot and at every progress-bar advance.
MultiProgramRunner's item workers use it to write live shot counts and a
heartbeat into their SWMR item ledgers, so another process can watch each
worker's progress mid-item.

- Counts are absolute (resumed shots included) and independent of tqdm,
  so they work with verbose=False; the callback runs in the calling
  process and is never pickled to shot workers.
- Ledger progress writes are limited to one per second, plus the first
  call and the item's last shot.
- The item-start current_item_index and heartbeat write moves into
  _process_and_checkpoint_item, so serial runs record it too.
- A progress_callback in run_kwargs bypasses sweep resolution and is
  chained before the ledger's callback.
- Tests cover every run() mode, the rate limit with a fake clock, and
  run_kwargs callback pass-through and chaining.

* Add monitor state tracker for SWMR item ledgers

New library package loqs.tools.monitor reads every worker's SWMR item
ledger in an item checkpoint directory and reports per-worker progress
and totals, with states starting, running, idle and stale. It does no
rendering, and it doesn't depend on multiprogramrunner.

- Staleness uses the monitor's own clock once a worker's progress has
  been seen to change, so clock differences between nodes don't matter.
  Before that, including in one-off reads, it falls back to heartbeat age.
- Host and pid are parsed from the ledger file name, from the right, so
  hostnames may contain underscores. A test ties the parser to the
  driver's real ledger path.
- Each poll opens and closes each file. Legacy, unreadable and
  unrecognized files are skipped with a reason, and the snapshot carries
  notes explaining missing or empty directorie... (continued)

3600 of 4230 branches covered (85.11%)

Branch coverage included in aggregate %.

11435 of 12446 relevant lines covered (91.88%)

0.92 hits per line

Coverage Regressions

Lines Coverage ∆ File
36
90.13
0.37% core/quantumprogram.py
20
95.1
0.57% tools/multiprogramrunner.py
2
93.33
0.12% internal/swmrledger.py
Jobs
ID Job ID Ran Files Coverage
1 38005711025.1 10 Oct 2026 12:26AM UTC 83
90.16
GitHub Action Run
Source Files on build 38005711025
  • Tree
  • List 83
  • Changed 4
  • Source Changed 0
  • Coverage Changed 4
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #38005711025
  • 5d5d6caa on github
  • Prev Build on main (#37851021280)
  • Next Build on main (#39214298248)
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