klarna/system_monitor
68.4
Adequate · 2 October 2026
1.6k
lines of production code
Erlang
primary language
2
measurements over time
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.