emqx/replayq
52.2
Adequate · 2 October 2026
1.5k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
ReplayQ is an Erlang library that implements a disk-backed queue designed for reliable log replay. It supports both in-memory and disk-offload modes, allowing queue segments to persist on disk to survive system restarts while maintaining configurable size limits. The system provides APIs for appending, popping, and acknowledging items, with flexible marshalling options and performance optimizations via ETS.
Features
Initial release of ReplayQ with disk-backed queue and offload mode
ReplayQ is introduced as a disk queue for log replay in Erlang, allowing queue items to be written to segment files on disk to survive restarts. Users can configure the queue with options such as \max\_total\_bytes\ to limit total size, and \offload\ to use the disk queue for tail segments only. A new \offload =\> {true, volatile}\ option is available to clear previous segments and prevent dumping in-memory data on close. The library provides APIs for appending, popping with limits, acknowledging positions, and checking if the queue is currently writing to disk. User-defined marshalling and sizing functions are supported for custom queue items.
(repo-wide) · high confidence
Introduce replayq disk queue library with memory-only and offload modes
Adds the replayq library, a disk-backed queue for log replay in Erlang. The implementation supports a memory-only mode (mem\_only) and an offload mode (offload) that writes to disk, with configurable segment sizes and byte limits. It provides APIs for opening, closing, appending, popping, acknowledging, and peeking items, along with shared and exclusive ETS-based in-memory queue implementations for performance flexibility.
src · high confidence
Test coverage
Added benchmark and property-based tests for the replay queue
Added a new benchmark test suite to measure write throughput (messages and bytes per second) for the replay queue, and introduced property-based tests using the Proper library to verify functional equivalence between in-memory and offloaded queue modes across exclusive and shared ETS implementations.
test · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 51 → 52 (+0.7)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 98 → 98 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 36 → 36 (+0.0)
- Readiness 52 → 55 (+2.8)
- Security 61 → 61 (+0.0)
Resolved (2)
- Coverage not measured — no coverage collector is wired up
- Off-boarding risk: anonymized user #1
New (3)
- Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
- Documentation: no usage examples (README.md)
- Off-boarding risk: anonymized user #1
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
emqx/replayq was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 2 October 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit bc46ada7abc41aba671c1670e631268ce52f5068 — the exact code this score is about.
- Scored under rubric-2026.09.18 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-e569280dd5e2.