holger-bench-scenarios — crate card
Reverse-engineered (from source — verify, don't trust the name)
- One-line pitch: Shared bench-scenario builders + measurement loops (deliberately nornir-free), driven by both the integration test suite and the xtask nornir-bench example.
- Does: Builds workloads and returns numbers ("persistence is nornir's job"). Fixtures cover three types (Rust crates, Java jars, Python wheels), keyed by
(FIXTURE_VERSION, real?, size), built under$HOME(never /tmp/tmpfs or T9); heavy tiers download real packages once then replicate to a byte budget. Modules:served(default-light: stand up a real Holger native-HTTP gateway viastart_holger_gatewayand hammer it with a pure-Rust parallel GET poolbombard_http_get— the honest like-for-like transport, also theholger-dsdriver);nexusandartifactory(heavy, fixture-gated testcontainers comparison scenarios) behind features. - Key deps:
traits, the rust/maven/python repository backends,znippy-compress,flate2/tar/zip,ureq(real-package download). Feature-gated heavy:agent-lib,server-lib,testcontainers,tokio,reqwest,libc(statvfs free-disk autodetect). - Shape: lib (publish=false), 4 files:
lib.rs,served.rs,nexus.rs,artifactory.rs. Features:nexus,artifactory,served. - Observed role in the workspace: Consumed by xtask's nornir-bench example, holger (
holger-dsviaserved), holger-server-ui Tool #1, and agent-cli/repo integration tests. The single source of the holger-vs-Nexus/Artifactory comparison workload.
Fill in (one line each — only the human knows these)
- Primary consumer(s):
- Why it exists (vs the obvious alternative):
- Hard constraint (airgap / no-C-deps / no-FFI / pure-Rust / etc.):
- Release cadence & independence (rides a parent? own repo someday?):
- Status (production / prototype / experimental / stubbed):
- Must-NOT-change invariant:
- Biggest known gap or TODO:
- Anything a newcomer would get wrong about it: