logstrm/

// audited performance evidence · 2026-09-21

Maximum throughput.
Microscopic footprint.

A measured view of Logstrm’s CGO-free Go Data Plane: up to 9,512.090 accepted EPS at a 10,000 EPS request, with the E2E matrix reaching 2,454.933 EPS at 2,500 EPS.

MEASURED · 15/15 localMEASURED · 9/9 E2ETARGETS ≠ RESULTS
accepted_evidence.jsonCHECKSUMMED
local / requested10,000 EPS

9,512.090 EPS

e2e / requested2,500 EPS

2,454.933 EPS

validator: PASS
raw artifacts: SHA-256 verified

01 / resource efficiency

Measured footprint. Explicit targets.

The green bars are observed process samples. Dashed bars are product targets or design illustrations only; they are not represented as benchmark results.

MEASURED · RSS

Process memory samples

ARTIFACT
local baseline57,920–77,496 KiB
E2E resourced59,924–104,236 KiB

RSS is process resident memory, not Go heap. No heap profile was collected; no universal sub-50MB claim is supported.

TARGET / ILLUSTRATIVE

Efficiency envelope

NOT MEASURED
memory target<50 MB
illustrative under-load target~40 MB
cold-start target<1 second

These bars define future measurement criteria. Cold-start timing and the target memory envelope are not present in the accepted artifacts.

CPU · MEASURED

3.9–6.3%

local baseline and burst samples

THREADS · MEASURED

15–18

local process sample range

COLD START · TARGET

<1s

illustrative target; not measured

02 / architecture boundary

Small runtime. Fewer moving parts.

Logstrm is built and benchmarked as a CGO-free Go service. The comparison below describes architectural shape, not a third-party performance test.

Comparison boundary
Cribl, Logstash and JVM-router figures were not collected under the same harness. Their numeric resource and throughput fields are therefore intentionally marked not measured.
Measured and unmeasured architecture comparison
DimensionLogstrmHeavy enterprise routers
Runtime modelGo, CGO-free buildvaries by product
Memory comparisonRSS measurednot measured
CPU under 10k EPSlocal samples: 3.9–6.3%not measured
Cold starttarget <1s; not measurednot measured
External runtime dependencynone implied by CGO-free binaryproduct-dependent

03 / event flow

One stream in. Many destinations out.

Logstrm receives telemetry, applies declarative routing and splits matching events to the destinations that need them. Retries, metrics and bounded DLQ behavior stay inside the Data Plane.

01 / LOG SOURCES

Collect

HTTPSyslogAzure Event HubsAWS S3 / SQSGCP GCS / Pub/Sub

02 / LOGSTRM DATA PLANE

Normalize → route → split

pipeline transformsdeclarative routesbatch + retrybounded DLQ

SEARCH / SIEM

ELK / Elasticsearch

Splunk HEC · Sentinel DCR

HTTP / API

HTTP JSON

destination-specific delivery

STORAGE

S3 / GCS

JSONL archive · batch output

DATA SYSTEMS

SQL / queues

SQS · Pub/Sub · SQL

same event pipeline · route by content · deliver to one or many emitters · observe every handoff

Architecture diagram: it shows supported connector paths, not a claim that every source-to-destination combination was included in the published benchmark matrix.

04 / throughput + chaos

Every number has a test boundary.

Local acceptance and end-to-end delivery are separate measurements. The tables preserve that distinction instead of collapsing them into one headline number.

LOCAL DATA PLANE

HTTP acceptance matrix

15/15 PASS
RequestedAverage achievedRows
500 EPS496.6463/3
1,000 EPS989.9853/3
2,500 EPS2,459.9683/3
5,000 EPS4,847.7433/3
10,000 EPS9,512.0903/3

Measures benchmark HTTP ingestor acceptance, not downstream sink delivery.

E2E CHAOS MATRIX

Delivery and recovery

9/9 FULL DRAIN
RequestedAverage achievedReplay / drain
500 EPS494.9763/3
1,000 EPS989.9643/3
2,500 EPS2,454.9333/3

The isolated capacity matrix verified replay and full drain. The historical resourced failure run is separate and retained 29 DLQ lines / 27,979 bytes.

DELIVERY CONTRACT

At-least-once path

Emitter handoff, sink counters and DLQ evidence are reported separately.

FAILURE MODE

Controlled HTTP 503

Retries and persisted failed events were observed during the sink outage.

UNIVERSAL CLAIM

Not asserted

“100% deterministic recovery” is not claimed beyond the verified run directories.

04 / terminal proof

Proof over promises.

A compact view of the recorded process samples and validator outcome. The terminal panel mirrors accepted evidence; it does not invent a 40MB or negligible-CPU run.

benchmark@logstrm:~
$ python3 validate_run.py results/capacity-e2e-isolated-20260921
[checksums] SHA256SUMS ............. PASS
[matrix] validated rows ........ 9/9
[replay] replay_verified ........ true
[drain] drain_verified .......... true
[result] validate_run.py ........ SUCCESS

$ cat resource-samples.txt
local cpu .................. 3.9–6.3%
local rss .................. 57,920–77,496 KiB
e2e rss .................... 59,924–104,236 KiB
profiles ................... not collected

05 / methodology boundary

What is measured. What remains open.

Measured:
throughput matrices, resource.csv samples, sink counters, DLQ snapshots, Prometheus snapshots and checksums.

Not measured:
direct Cribl/JVM comparison, cold-start duration, Go heap profiles and 50,000 EPS capacity.

Target:
the <50MB, ~40MB and <1s bars are future acceptance criteria, not current results.

Scope:
local results are acceptance observations; E2E results cover the tested emitter, sink and fixture.

audit trail

Inspect the methodology and raw evidence.

The technical documentation defines the acceptance contract, validator rules, drain semantics and reproducibility commands. Target language is kept separate from measured evidence.