(cli-usage-patterns)=
This page covers common usage patterns and troubleshooting for BenchBox CLI.
benchbox run --platform duckdb --benchmark tpch
benchbox run --benchmark tpcds --scale 0.01 --phases generate \
--output ./test-data
benchbox profile
benchbox run --help-topic examplesThe commands, in order, run a TPC-H test on DuckDB, generate test data for development, analyze the system for optimization, and show all available CLI examples.
benchbox run --platform databricks --benchmark tpcds --scale 1 \
--phases power,throughput --output dbfs:/benchmarks/
benchbox run --platform bigquery --benchmark tpch --scale 0.1 \
--tuning ./bigquery-tuning.yaml
benchbox run --platform snowflake --benchmark tpch --scale 1 \
--tuning notuning --verboseThe commands run a full TPC-DS benchmark on Databricks, run BigQuery with custom tuning, and run a Snowflake baseline for comparison.
benchbox run --benchmark tpcdi --scale 0.1 --phases generate,load \
--output s3://my-bucket/test-data/
benchbox run --platform redshift --benchmark tpch --scale 1 \
--phases load --forceThe first command generates data for ETL testing. The second runs in load-only mode for data that already exists.
BENCHBOX_NON_INTERACTIVE=true benchbox run \
--platform duckdb --benchmark tpch --scale 0.01 \
--quiet --output ./ci-results
benchbox run --platform duckdb --benchmark tpcds \
--seed 42 --phases power --output ./reproducible-resultsThe first command runs in non-interactive mode for CI/CD. The second gives reproducible benchmark runs.
BENCHBOX_OUTPUT_DIR=./baseline benchbox run --platform snowflake --benchmark tpch --scale 1 \
--tuning notuning --output ./baseline
BENCHBOX_OUTPUT_DIR=./optimized benchbox run --platform snowflake --benchmark tpch --scale 1 \
--tuning tuned --output ./optimized
benchbox compare \
./baseline/results/*.json \
./optimized/results/*.json \
--format html --output tuning-comparison.htmlbenchbox run --platform databricks --benchmark tpcds \
--capture-plans --verbose --scale 0.1The first two commands and the compare command compare tuning against a baseline. The last command gives detailed query analysis with plan capture.
BENCHBOX_OUTPUT_DIR=./current-results benchbox run --platform duckdb --benchmark tpch --scale 0.1 \
--output ./current-results
benchbox compare \
./baseline-results.json \
./current-results/results/*.json \
--fail-on-regression 10%This runs the benchmark and fails on a regression of more than 10%.
(cli-troubleshooting)=
benchbox --version
uv tool install benchboxThe first command verifies the installation. If the command is not found, check your PATH or reinstall for CLI use.
benchbox check-deps --platform databricks
uv add benchbox --extra databricksThe first command checks what is missing and the second installs the missing dependencies.
benchbox platforms check clickhouse-server trino lakesail-df dask-df
benchbox platforms status lakesail-df
benchbox platforms status dask-dfThe first command checks package availability and local provisioning readiness. The other commands inspect one platform, including endpoint and backend readiness notes.
benchbox platforms check reports local service ports and LakeSail Spark Connect gaps as
environment readiness issues. These checks are bounded probes only; they do not start servers, initialize Ray/Dask,
or create/drop benchmark databases.
benchbox platforms status databricks
echo $DATABRICKS_TOKEN
benchbox platforms checkThe commands check the platform status, verify the environment variables, and test the platform configuration.
uv tool install benchbox
ls -la /path/to/output/directoryThe first command uses a user-level CLI installation. The second checks the output directory permissions.
benchbox profile
benchbox run --platform duckdb --benchmark tpch --scale 0.001
benchbox run --platform duckdb --benchmark tpch --compression zstd:9The commands profile system resources, use a smaller scale factor, and enable high compression.
benchbox validate
cat ~/.benchbox/config.yaml
benchbox run --dry-run ./debug --platform duckdb --benchmark tpchThe commands validate the configuration, check the configuration file syntax, and use a dry run to preview settings.
benchbox --help
benchbox run --help
benchbox run --help-topic all
benchbox run --help-topic examples
benchbox platforms --help
benchbox platforms status clickhouseThe commands give general help, then command-specific help. --help shows the common options, --help-topic all shows all options including advanced ones, and --help-topic examples shows categorized usage examples. The last command shows platform status and details.
benchbox run --verbose --platform duckdb --benchmark tpch
benchbox run -vv --platform duckdb --benchmark tpchThe first command enables detailed logging. The second is very verbose, for debugging.
benchbox run --dry-run ./debug --platform databricks --benchmark tpchFor additional support, see the GitHub Issues page.