Skip to content
CAI
Software that uses CAICheck a score

klarna/system_monitor

68.4

Adequate · 2 October 2026

1.6k

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 an Erlang/BEAM VM monitoring application that collects process and application metrics such as memory usage, reductions, and message queue lengths. It exports this data to a PostgreSQL database using configurable callbacks and supports custom threshold alerts to prevent VM overload. The system includes a local development stack with Docker, PostgreSQL, and pre-configured Grafana dashboards for visualizing the collected telemetry data.

Features

Add Docker-based monitoring stack with PostgreSQL and Grafana

Introduces a new local development and deployment environment for system monitoring, replacing the previous Kflow-based approach with a standard PostgreSQL database and Grafana visualization. The change adds Docker configuration files (Dockerfile, docker-compose.yml) to spin up a PostgreSQL 12.4 instance and a Grafana service, along with SQL scripts to create the necessary database schema (tables for process metrics, application stats, and node roles) and users. It also includes pre-configured Grafana dashboards (app\_top, proc\_history, proc\_top) and datasource definitions to visualize system metrics directly from the new PostgreSQL backend.

docker · high confidence

Add system monitor record definitions

Added the \system\_monitor.hrl\ header file which defines the data structures used for tracking process and application metrics. This includes records for individual process information (\pid\_info\), top-level Erlang node statistics (\erl\_top\), and application-level aggregates (\app\_top\), enabling the system to monitor details such as memory usage, reductions, and message queue lengths.

include · high confidence

Initial release of system\_monitor BEAM telemetry collector

Introduces system\_monitor, a BEAM VM monitoring application that collects process and application metrics (reductions, memory, message queues) and exports them to Postgres via a configurable callback module, with local development support via Docker for Postgres and Grafana.

(repo-wide) · high confidence

Initial release of the system\_monitor application

Introduces the system\_monitor application, which exports Erlang VM introspection data to a configurable backend (defaulting to Postgres). The app includes a gen\_server for periodic monitoring (process counts, suspect processes), a top-like collector for process statistics, and a Postgres backend that uses batch inserts and partitioned tables. It supports custom callback modules for event production, SSL database connections, and configurable thresholds for memory and message queue lengths to prevent VM overload.

src · high confidence

Test coverage

Added tests for system\_monitor application startup and callback configuration

Added eunit tests for the system\_monitor application to verify that it starts correctly and that the callback module is only started when explicitly configured via the callback\_mod environment variable.

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 69 → 68 (-0.7)
  • 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 55 → 55 (+0.0)
  • Readiness 68 → 63 (-5.3)
  • Security 88 → 93 (+5.0)
  • Event Sourcing 100 → 100 (+0.0)

Resolved (4)

  • Coverage not measured — no coverage collector is wired up
  • Documentation: no installation or build instructions (README.md)
  • Documentation: no licence statement (README.md)
  • Documentation: no usage examples (README.md)

New (2)

  • Outdated: epgsql
  • Outdated: supervisor3

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

Survey your own repository

klarna/system_monitor 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 7fb6909bc99f8b539af399482938dada6c0e9b11 — 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.