Benchmarking¶
The native Java Flink workload harness runs a disposable Kind stack and sends deterministic servicegraph OTLP Protobuf through Kafka:
python -m benchmarks.flink --warmup 3 --iterations 20 --entities 2 --contributors 256 --output .tmp/flink-benchmark
The report checks complete service/calls payloads and request totals, then records observed rate, batch latency, CPU, memory, checkpoint duration/size and committed-offset lag. For a repeated hot-element workload, also record the coalescer input/output counters and per-subtask lifecycle record and busy-time spread; the graph hash must remain unchanged while refresh volume follows the configured interval. The harness uses Python for provisioning and measurement; the Flink job itself is Java only.
These controlled Kafka-to-Kafka measurements do not establish saturating
capacity, Collector-to-Gremlin latency, horizontal scaling or infrastructure
cost. See the benchmark guide
for boundaries and the archived matched Python/Java migration report. The old
Python in-process benchmark is available in Git history at 15124a6.