processone/p1_utils
56.0
Adequate · 2 October 2026
4k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
This system is a collection of Erlang utility libraries designed to provide foundational components for distributed and concurrent applications. It offers implementations for in-memory and file-backed queues, a unified HTTP client abstraction, and tools for rate limiting, configuration management, and network protocol parsing. The project also includes compatibility layers for different Erlang versions and build systems, along with comprehensive testing for its core queue functionality.
Features
Introduce file queue record definition
Added the \p1\_queue.hrl\ header file defining the \file\_q\ record, which structures the internal state of file-based queues. This record tracks queue boundaries via \head\ and \tail\ indices, enforces capacity limits (or allows unlimited growth), stores the file descriptor and path, and records the owning process ID along with start/stop timestamps.
include · high confidence
Introduction of p1\_utils library with core utility modules
The src directory now includes the p1\_utils library, adding several new Erlang modules: p1\_queue and p1\_file\_queue for in-memory and file-backed queue implementations, p1\_http for a unified HTTP client API supporting ibrowse, lhttpc, and inets, p1\_options for dynamic configuration management, p1\_proxy\_protocol for parsing PROXY protocol headers, p1\_time\_compat for time API compatibility across Erlang versions, p1\_rand for random number generation, p1\_shaper for rate limiting, p1\_nif\_utils for NIF path resolution, and treap for priority-based tree structures. Additionally, p1\_fsm and p1\_prof have been updated with copyright year changes and minor code style fixes.
src · high confidence
Behavioural changes
Switch to Apache 2.0 license and modernize build tooling
The project license has been changed to Apache 2.0 to improve usability. The build system now supports both Rebar 2 and Rebar 3, with the Makefile and rebar.config updated to detect the installed version and adjust compilation, testing, and dialyzer commands accordingly. Additionally, the repository now includes a Code of Conduct, contributing guidelines, and a rebar.config.script to handle CI integration and dependency filtering for both build tools.
(repo-wide) · high confidence
Test coverage
Added comprehensive EUnit tests for the p1\_queue module
Added a new test suite (p1\_queue\_test.erl) that verifies the behavior of the p1\_queue module, covering both RAM and file-based queue implementations. The tests validate core operations including creation, insertion, removal, length calculation, and emptiness checks, as well as specific features like queue limits (get\_limit/set\_limit) and error handling for full queues.
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 57 → 56 (-0.5)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 90 → 90 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 52 → 50 (-2.0)
- Readiness 68 → 68 (+0.0)
- Security 46 → 46 (+0.0)
Resolved (3)
- Coverage not measured — no coverage collector is wired up
- Hotspot: src/p1_server.erl (src/p1_server.erl)
- Off-boarding risk: anonymized user #1
New (2)
- Documentation: no installation or build instructions (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
processone/p1_utils 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 da6da6b95406268c027be1a04136a829dcfa3895 — 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.