Repository navigation
WolveKafka v0.2.0 adds distributed tracing across Kafka and lets handlers ask WKS to slow down. WKS is early-stage, so expect configuration and behavior to change between 0.x releases.
Highlights
- Trace propagation: WKS reads W3C
traceparentand baggage from Kafka record headers and passes the trace context to your handler. When a batch mixes traces, its span links to each of them. (#113) - OTLP span export: select an exporter with
OTEL_TRACES_EXPORTER(otlp,console, ornone) and the standardOTEL_EXPORTER_OTLP_*variables. (#113) - Throttling: a handler can return
429, or503withRetry-After, to pause delivery. Throttled attempts don't advance the backoff schedule or use up the retry budget, and the newwks.lambda.throttledmetric counts them.Retry-Afterwaits are capped at five minutes. (#114) - Quickstart:
./demo startnow runs the released image by default. (#98)
Behavior changes
429responses, and503responses withRetry-After, no longer count toward retry exhaustion, so they no longer send records to the DLQ or drop action. A handler that throttles indefinitely holds its batch uncommitted, so watchwks.lambda.throttled.- An unrecognized
OTEL_TRACES_EXPORTERvalue is now rejected at startup. - Spans still go to the console when no exporter or OTLP endpoint is configured. Set
OTEL_TRACES_EXPORTER=noneif you don't want them in your logs.
Artifacts
- Linux
amd64/arm64binaries,SHA256SUMS, and an SPDX source SBOM (attached below) - Container image:
ghcr.io/wolveflake/wolvekafka:v0.2.0 - Helm chart:
oci://ghcr.io/wolveflake/charts/wks --version 0.2.0
See verifying a release.
Get started
git clone https://github.com/wolveflake/wolvekafka.git
cd wolvekafka
./demo start