khone/koʊ.neɪ/
Experimental

Benchmark CLI

benchviz runs k6 against a deployed benchmark stack, or renders reports from existing k6 CSV files. A bare invocation is equivalent to the run subcommand.

Common commands

npm --prefix benchmark run benchviz -- run --stack khone-benchmark --region us-east-1
npm --prefix benchmark run benchviz -- run \
  --skip-test \
  --run-dir benchmark-results/some-run \
  --public-run-name high-256mb-min4-50-100-150-round2 \
  --public-output-dir benchmark-results-public \
  --themes light-transparent,dark-transparent

Options

Stack and output

OptionDefaultNotes
--stack <name>khone-benchmarkCloudFormation stack name.
--region <region>AWS configAWS region.
--profile <profile>defaultRun profile: default or cost-focused.
--output-dir <dir>benchmark-resultsRaw output parent directory.
--run-name <name>generatedStable raw-run directory under --output-dir.
--run-dir <dir>noneExisting or explicit run directory.
--label <label>noneOptional label for timestamped run directories.
--public-output-dir <dir>noneWrites a compact report bundle under this directory.
--public-run-name <name>raw run nameStable directory name under --public-output-dir.
--csv-path <path>noneExisting k6 CSV; implies --skip-test.
--csv-dir <dir>noneDirectory of k6 CSVs (uses newest); implies --skip-test.
--skip-testfalseSkip the k6 run and render from existing CSV.

Load shape

OptionDefaultNotes
--mode <mode>per_endpointper_endpoint or batch.
--executor <executor>ramping-arrival-rateramping-arrival-rate or ramping-vus.
--duration <duration>3mPer-stage ramp duration.
--hold-duration <duration>0sOptional hold duration after each stage.
--stage-targets <targets>50,100,150Comma-separated stage targets.
--stages-json <json>noneOverride with a full JSON stages array.
--vus <n>50VUs for ramping-vus mode.
--arrival-time-unit <unit>1sTime unit for ramping-arrival-rate.
--arrival-preallocated-vus <n>0Pre-allocated VU count override.
--arrival-max-vus <n>0Maximum VU count override.
--arrival-vus-multiplier <n>1Pre-allocated VU multiplier applied to the stage target.
--arrival-max-vus-multiplier <n>2Max VU multiplier applied to the stage target.
--max-delay-ms <ms>0max-delay query value sent to benchmark handlers.
--keyspace-size <n>1000Keyspace size for random item IDs appended by k6.
--warmup / --no-warmuponSend warmup request to each endpoint before measurement.
--endpoint <name>all stack targetsRepeatable endpoint filter.

Rendering and sampling

OptionDefaultNotes
--theme <theme>lightSingle chart theme.
--themes <themes>noneComma-separated chart themes (light, print, dark, transparent, light-transparent, dark-transparent).
--sample-latency <n>2000Maximum latency samples per endpoint in streaming mode.
--sample-seed <n>noneSeed for the streaming sampler.

Raw output

Raw run directories contain run.json, k6.csv, summary.csv, report.md, data/metrics.json, and themed chart subdirectories under charts/<theme>/.

Report bundle output

Report bundle output (under --public-output-dir) contains report.md, summary.csv, and the themed latency distribution chart files.