CLI Reference¶
Note: the user-facing CLI lives in
lb_ui(invoke vialborpython -m lb_ui.cli). Runner/controller packages do not expose separate entrypoints.
Setup¶
- Install in a venv:
uv venv && uv pip install -e ".[ui,controller]" - Make
lbglobally available (optional):uv tool install -e ".[ui,controller]" - Enable shell completion:
lb --install-completion(bash/zsh/fish)
Global flags¶
--headlessforces headless output (useful in CI or pipes).
Config resolution¶
Order used by commands that need a config:
-c/--configflag- Saved default at
~/.config/lb/config_path(set vialb config set-defaultorlb config init) ./benchmark_config.jsonif present- Built-in defaults
Top-level commands¶
lb run [WORKLOAD ...] [-c FILE] [--run-id ID] [--resume [latest|ID]] [--remote/--no-remote] [--repetitions N] [--intensity LEVEL] [--setup/--no-setup] [--stop-file PATH] [--debug]Run workloads remotely via Ansible. Local execution is not supported by the CLI.lb run ... --docker [--docker-engine docker|podman] [--nodes N]Dev-only: provision containers and run via Ansible (requires.lb_dev_cliorLB_ENABLE_TEST_CLI=1).lb run ... --multipass [--nodes N]Dev-only: provision Multipass VMs and run via Ansible (requires.lb_dev_cliorLB_ENABLE_TEST_CLI=1).lb runs list [--root PATH] [-c FILE]/lb runs show RUN_ID [--root PATH] [-c FILE]Inspect stored runs underbenchmark_results/.lb analyze [RUN_ID] [--root PATH] [--workload NAME] [--host NAME]Run analytics on an existing run (currentlyaggregate).lb plugin .../lb plugins ...Inspect and manage workload plugins.lb config ...Create and manage benchmark configuration files.lb doctor ...Run prerequisite checks.lb test multipass ...(dev-only) Helper to run integration tests.
Plugin management (lb plugin ...)¶
lb plugin list|ls [--select] [--enable NAME | --disable NAME] [-c FILE] [--set-default]lb plugin select [-c FILE] [--set-default]lb plugin install PATH|URL [--manifest FILE] [--force]lb plugin uninstall NAME [--purge-config/--keep-config] [-c FILE]
Config management (lb config ...)¶
lb config init [-i] [--path FILE] [--set-default/--no-set-default]lb config set-repetitions N [-c FILE] [--set-default/--no-set-default]lb config set-default FILE/lb config unset-default/lb config show-defaultlb config edit [-p FILE]lb config workloads [-c FILE]lb config enable-workload NAME [-c FILE] [--set-default]lb config disable-workload NAME [-c FILE] [--set-default]lb config select-workloads [-c FILE] [--set-default]
Doctor checks (lb doctor ...)¶
lb doctor controller- Python deps + Ansible requirementslb doctor local- local workload tools (stress-ng, fio, sysstat)lb doctor multipass- Multipass availabilitylb doctor all- run all checks
Test helpers (lb test ..., dev installs only)¶
- Available when
.lb_dev_cliexists in the project root orLB_ENABLE_TEST_CLI=1is set. lb test multipass [-o DIR] [--vm-count {1,2}] [--multi-workloads] [-- EXTRA_PYTEST_ARGS...]
Environment variables¶
LB_ENABLE_TEST_CLI=1enableslb testand provisioning flags in the CLI.LB_USER_PLUGIN_DIRoverrides the user plugin install directory.LB_STOP_FILEsets a stop sentinel path if--stop-fileis omitted.LB_TEST_RESULTS_DIR,LB_MULTIPASS_VM_COUNTcustomize test helpers.