Skip to content
CAI
Software that uses CAICheck a score

ferd/vmstats

56.0

Adequate · 2 October 2026

204

lines of production code

Erlang

primary language

2

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This system is a configurable Erlang application for collecting and transmitting virtual machine statistics. It decouples metric collection from specific backends by allowing users to define custom sink modules, replacing the previous hardcoded dependency on StatsD. The application tracks various VM metrics such as port counts, atom counts, and scheduler wall time, with support for configurable intervals and optional feature toggles.

Behavioural changes

Decouple VM stats collection from StatsD via configurable sink

The vmstats application no longer hardcodes the StatsD client (statsderl) for sending metrics. Instead, it accepts a configurable 'sink' module that implements the new vmstats\_sink behavior, allowing users to integrate with any metrics backend. This change also introduces several new metrics (port counts, atom counts, messages in queues, scheduler wall time ratios, and incremental IO/GC stats), makes scheduler wall time collection optional, and renames the configuration key 'delay' to 'interval'.

src · high confidence

Decouple from statsderl and enable configurable metric sinks

The vmstats application no longer relies on the statsderl library for sending metrics. Instead, it introduces a configurable \vmstats\_sink\ behavior, allowing users to define custom modules to handle metric collection and transmission. This change also updates the build configuration to use rebar3 directly, removing the embedded rebar and the legacy Makefile, and adds a new LICENSE file.

(repo-wide) · high confidence

Test coverage

Updated tests to use new sample\_sink and vmstats configuration

The test suite was updated to reflect internal refactoring: the mock sink module was renamed from statsderl to sample\_sink and now implements the vmstats\_sink behavior, and the vmstats\_server\_tests were rewritten to use a setup/teardown pattern with configurable environment variables (interval, key\_separator, sched\_time, memory\_metrics) instead of hard-coded assertions.

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 58 → 56 (-1.9)
  • Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.

Lenses

  • Code Health 100 → 100 (+0.0)
  • Architecture 69 → 69 (+0.0)
  • Maturity 36 → 31 (-4.9)
  • Readiness 74 → 77 (+2.7)
  • Security 100 → 100 (+0.0)

Resolved (1)

  • Coverage not measured — no coverage collector is wired up

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

ferd/vmstats 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 c17c02d5cc4ce01cf3be4ca55f9a1e910dd8b89a — 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.