kafka4beam/wolff
71.0
Strong · 2 October 2026
3.8k
lines of production code
Erlang
primary language
2
measurements over time
What this system is
Wolff is an open-source Erlang library that functions as a Kafka producer, providing a structured API for publishing messages to Kafka clusters. It supports both static and dynamic topic configurations, offering features such as asynchronous and synchronous sending, configurable batching, retry policies, and memory-pressure handling. The system utilizes disk-based replay queues for buffering and integrates with Telemetry for observability, while also including comprehensive test suites and scripts for managing local Kafka test environments.
Features
Added Kafka test environment setup scripts and configurations
The scripts directory now includes a new test environment setup, adding a \.env\ file for network configuration, \docker-compose.yml\ for Zookeeper-based Kafka clusters, and \docker-compose-kraft.yml\ for KRaft mode. A \setup-test-env.sh\ script automates the provisioning of these environments, supporting Kafka versions from 0.9 through 4.0 by selecting the appropriate compose file based on the version (Zookeeper for \<3.0, KRaft for \>=3.0) and creating initial test topics.
scripts · high confidence
Initial open-source release of Wolff Kafka producer
This change introduces the Wolff Kafka publisher as an open-source project, adding the Apache 2.0 license, a NOTICE file acknowledging its origin as a fork of the EMQ Technologies upstream, and a comprehensive README detailing its features such as disk-based replay queues, per-partition connection management, and auto-partition refresh. It also establishes the build infrastructure with a Makefile, rebar3 configuration, and test environment scripts.
(repo-wide) · high confidence
Initial release of the Wolff Kafka producer library
This change introduces the Wolff library, a new Erlang-based Kafka publisher. It provides a structured API for managing supervised clients and producers, supporting both static and dynamic topic configurations. Key capabilities include asynchronous and synchronous message sending, configurable batching (via \max\_linger\_ms\/\bytes\), retry policies (\max\_retry\), and memory-pressure handling (\drop\_if\_highmem\). The library integrates with \telemetry\ for observability, exposing metrics for inflight requests, queue sizes, and drop reasons, and relies on \kafka\_protocol\ and \replayq\ for underlying transport and disk buffering.
src · high confidence
Introduce Wolff configuration and registry macros
The Wolff library now exposes a central header file defining key constants and macros for the system. This includes error reason atoms (such as \message\_expired\ and \max\_retry\_exceeded\), the default Kafka message byte limit (1,000,000 bytes), and the names of the global ETS tables used for client and producer registration. It also defines macros for namespace-topic pairing and partition handling, establishing the foundational types and identifiers used by the client.
include · high confidence
Test coverage
Added comprehensive test suite for Wolff Kafka client
Added new test files including \wolff\_bench.erl\ for performance benchmarking, \wolff\_client\_SUITE.erl\ for client lifecycle and connection handling, \wolff\_dynamic\_topics\_SUITE.erl\ for dynamic topic support, and \wolff\_supervised\_tests.erl\ for supervised producer/client management. These tests cover scenarios such as auto-topic creation, leader connection retries, reconnection on recent disconnect, dynamic topic expiration, and telemetry event logging.
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 72 → 71 (-0.7)
- Rubric changed (rubric-2026.09.12 → rubric-2026.09.18) — scores are not directly comparable.
Lenses
- Code Health 96 → 96 (+0.0)
- Architecture 100 → 100 (+0.0)
- Maturity 59 → 59 (+0.0)
- Readiness 68 → 65 (-2.8)
- Security 100 → 100 (+0.0)
Resolved (1)
- Coverage not measured — no coverage collector is wired up
New (4)
- Dependency hygiene PARTLY measured — rebar3 pinning read, dependency currency not (no rebar.lock-pinned Hex declaration to grade)
- Documentation: no contributor guidance (README.md)
- Documentation: no usage examples (README.md)
- No dependency lockfile committed (rebar.config)
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
kafka4beam/wolff 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 4feffa6534a960377507fb2dc840db07548b2533 — 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.