folsom-project/folsom
35.5
Weak · 2 October 2026
3.1k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
Folsom is an Erlang metrics library that provides a comprehensive API for collecting and querying system and application data. It supports various metric types, including counters, gauges, histograms with multiple sampling strategies, and meters, while leveraging ETS for efficient storage and the Bear library for statistical calculations. The system allows for metric tagging and configuration via command line or files, replacing the previous emetrics implementation with a more flexible and robust architecture.
Features
Initial release of folsom metrics system with Apache 2.0 license
This entry introduces the folsom Erlang metrics library, providing APIs for counters, gauges, histograms (with uniform, exdec, slide, and slide\_uniform sample types), histories, meters, and meter readers, along with Erlang VM statistics collection. The project is now licensed under Apache 2.0, uses rebar3 for building (with rebar2 fallback), and depends on the bear library for statistical functions. Configuration allows starting metrics at startup via command line or config files, and supports tagging metrics for grouped queries.
(repo-wide) · high confidence
Initial release of the Folsom metrics system
This change introduces the Folsom Erlang metrics library (version 1.1.1), providing a comprehensive set of metric types including counters, gauges, histograms, history logs, meters, meter readers, spirals, and duration trackers. The system relies on the 'bear' library for statistical calculations and uses ETS tables for efficient data storage. It includes an exponential weighted moving average (EWMA) implementation for rate calculations and a dedicated timer server to manage meter tick intervals, exposing a unified API for creating, tagging, and querying metrics.
src · high confidence
Behavioural changes
Introduction of Folsom metrics library with new sample types and system info
The project has switched from 'emetrics' to the Folsom metrics library, introducing a new set of Erlang record definitions and macros in the include file. This change adds support for several new histogram sample types, including 'spiral', 'slide', 'slide\_uniform', 'exdec', 'none', and 'slide\_sorted', allowing for more flexible metric collection strategies. It also expands the available system information metrics to include detailed process and socket options, and updates the random number generation to use the modern 'rand' module with fallback support for older OTP versions.
include · high confidence
Removal of static dispatch configuration file
The static dispatch configuration file (priv/dispatch.conf) has been removed. This file previously defined a mapping for the 'vm' resource path to the emetrics\_vm\_resource handler. Its removal indicates that the application no longer uses this static configuration approach for routing or resource definition, likely relying on dynamic registration or a different dispatch mechanism instead.
priv · high confidence
Test coverage
Initial test coverage for Folsom metrics and sliding window samples
Added comprehensive EUnit and QuickCheck tests for the Folsom metrics library, including validation of CPU topology parsing, metric creation/deletion/tagging, histogram sliding window resizing, and uniform sampling behavior. The test suite also includes data fixtures for various CPU architectures and dependencies like mochijson2 and mochinum to ensure robust verification of metric collection and sampling logic.
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 37 → 36 (-1.1)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 97 → 97 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 50 → 50 (+0.1)
- Readiness 50 → 41 (-8.3)
- Security 67 → 80 (+13.3)
- Event-Driven 10 → 10 (+0.0)
- Event Sourcing 100 → 100 (+0.0)
Resolved (4)
- Coverage not measured — no coverage collector is wired up
- Documentation: no architecture or design documentation (README.md)
- Hotspot: src/folsom_vm_metrics.erl (src/folsom_vm_metrics.erl)
- Off-boarding risk: anonymized user #1
New (4)
- Documentation: no project overview (README.md)
- Documentation: no usage examples (README.md)
- Floating source dependency: eqwalizer_support
- 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
folsom-project/folsom 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 12b068dfee9507233cf4b438a1d2f486f9047295 — 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.