pub(crate) const USAGE: &str = "\
OA-Gateway bench — latency and throughput against public gateway APIs
Usage:
oa-gateway-bench engine [options]
oa-gateway-bench loopback [options]
oa-gateway-bench owp [options]
oa-gateway-bench uci [options]
oa-gateway-bench ping [options]
Shared options:
--duration DUR How long to publish (default 10s). 200ms, 10s, 1m, or seconds.
--warmup DUR Discard latency samples sent in this prefix of --duration (default 1s).
--rate N Publishes per second. 0 means as-fast-as-possible (default 0).
--payload-bytes N Minimum JSON payload size (default 64).
--json PATH Write the same numbers as one JSON object.
-h, --help Print this help and exit.
engine options:
--subscribers N How many engine subscribers (default 1).
--capacity N Delivery channel size passed to Engine::subscribe (default 4096).
owp options:
--publishers N WebSocket publishers (default 1).
--subscribers N WebSocket subscribers (default 1).
--xml-baseline Embedded OWP converts OMS JSON ↔ UCI XML (fixture schema).
--url URL Attach to a running gateway instead of starting OWP.
--ack-latency Also time PUB → +OK on the publisher socket.
uci options:
--iterations N Convert this many times (default 2000).
--direction DIR json-to-xml (default) or xml-to-json.
ping options:
--url URL Attach to a running gateway instead of starting OWP.
Examples:
oa-gateway-bench engine --duration 5s --warmup 1s
oa-gateway-bench engine --capacity 64
oa-gateway-bench owp --xml-baseline --duration 5s
oa-gateway-bench owp --url ws://127.0.0.1:9000/
oa-gateway-bench uci --iterations 2000
oa-gateway-bench ping --url ws://127.0.0.1:9000/
";Expand description
Operator-facing usage text for -h / --help.