CLI reference
The test-scale CLI is a thin client over the control plane REST API. It is ideal for terminals, CI, and make docker-run wrappers.
Install the CLI
Section titled “Install the CLI”From the repository:
make build./bin/test-scale --helpGlobally:
go install ./cmd/cliexport PATH="$PATH:$(go env GOPATH)/bin"Homebrew: brew install MohamedBenTaher/tap/test-scale
Environment variables
Section titled “Environment variables”| Variable | Default | Purpose |
|---|---|---|
CONTROL_PLANE_URL |
http://localhost:8080 |
Base URL for API and UI |
PROMETHEUS_URL |
http://localhost:9090 |
Live metrics during watch mode |
TEST_SCALE_API_KEY |
none | Sent as X-Test-Scale-Key when set |
Docker Compose: make docker-run sources deploy/docker/scripts/ports.sh, which sets URL, ports, and the local dev API key.
Commands
Section titled “Commands”submit / run — start a run
Section titled “submit / run — start a run”test-scale submit -f plan.yamltest-scale run -f plan.yaml| Flag | Description |
|---|---|
-f, --file |
Plan YAML path (required) |
--watch |
Stream live progress (default on TTY) |
--no-watch |
Submit and exit |
--json |
Machine-readable output; disables watch |
Watch mode prints a live dashboard to stderr (status, workers, RPS, p95, progress). stdout receives a short summary when the run completes.
Plan files support ${ENV_VAR} expansion at parse time — export secrets before run.
status / watch — inspect a run
Section titled “status / watch — inspect a run”test-scale status --run-id run-0708-0843-b2abtest-scale watch -r run-0708-0843-b2abAccepts human slugs (run-0708-0843-b2ab) or UUIDs.
plans / ls — list saved plans
Section titled “plans / ls — list saved plans”test-scale plansReturns JSON array of persisted plans.
rerun / retry — run a saved plan again
Section titled “rerun / retry — run a saved plan again”test-scale rerun --plan-id <uuid>Creates a new run with the same stored request definition — ideal for regression checks.
compare / diff — two-run comparison
Section titled “compare / diff — two-run comparison”test-scale compare --current run-a --baseline run-btest-scale diff -c run-a -b run-b --fail-on-regression--fail-on-regression exits non-zero when p95 regresses more than 20% vs baseline — useful in CI.
open / ui — web UI
Section titled “open / ui — web UI”test-scale opentest-scale open --print # print URL onlyOpens the embedded Web UI. Pings /ping first unless --check=false.
| Flag | Description |
|---|---|
--print |
Print URL instead of opening browser |
--check |
Verify control plane is up (default: true) |
Alias cheat sheet
Section titled “Alias cheat sheet”| Canonical | Aliases |
|---|---|
submit |
run, start, up |
status |
watch, w, st, get, show |
plans |
ls, list |
rerun |
retry, again |
compare |
diff, cmp |
open |
ui, dashboard, web |
Workflows
Section titled “Workflows”Local Docker
Section titled “Local Docker”make quickstartmake docker-run PLAN=examples/http-post.yamlmake docker-openCI gate
Section titled “CI gate”test-scale run -f ci-smoke.yaml --json --no-watchtest-scale diff -c "$RUN" -b "$BASELINE" --fail-on-regressionKubernetes (port-forward)
Section titled “Kubernetes (port-forward)”kubectl port-forward -n test-scale svc/test-scale-ctrl-plane 8080:8080 &export CONTROL_PLANE_URL=http://localhost:8080export TEST_SCALE_API_KEY=<from helm notes>test-scale run -f deploy/kubernetes/ci-smoke.yamlTroubleshooting
Section titled “Troubleshooting”| Issue | Fix |
|---|---|
command not found |
./bin/test-scale or add ~/go/bin to PATH |
connection refused |
Start control plane (make docker-up or Helm) |
valid Test Scale API key is required |
Export TEST_SCALE_API_KEY or use make docker-run |
| Watch shows no metrics | Start Prometheus; set PROMETHEUS_URL |
invalid id |
Use slug or valid UUID |