blob: 9aea448c183fb0e2fee712add64c61d1f383846a [file] [view]
---
title: Command Flags
parent: Command Reference
grand_parent: Reference
nav_order: 150
---
# Command Flags
Complete reference of all `solr-orbit` command-line flags.
## Global flags
Accepted by all subcommands.
| Flag | Short | Description |
|------|-------|-------------|
| `--help` | `-h` | Display help text for the current command and exit |
| `--offline` | — | Run without network access; disables workload repository fetching and update checks |
| `--version` | `-v` | Show version and exit |
| `--quiet` | — | Suppress console output (except errors) |
## run flags
### Workload selection
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--workload` | string | — | Named workload (fetched from workloads repository) |
| `--workload-path` | path | — | Local workload directory path |
| `--workload-repository` | string | `"default"` | Git URL for the workloads repository (the string `"default"` resolves to the URL configured in `benchmark.ini`) |
| `--workload-revision` | string | — | Git revision (branch, tag, or commit) of the workloads repository. If omitted, the branch is selected automatically based on `--distribution-version` (e.g., `10.0.0` → branch `10`); falls back to `main` if no matching branch exists. |
| `--workload-params` | string | — | Comma-separated `key:value` Jinja2 parameter overrides |
| `--test-procedure` | string | workload default | Test procedure name to run |
| `--include-tasks` | string | — | Comma-separated task names to run; all other tasks are skipped |
| `--exclude-tasks` | string | — | Comma-separated task names to skip |
| `--enable-assertions` | flag | off | Enable task-level assertions defined in the workload |
### Cluster and pipeline
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--pipeline` | string | (dynamic) | Pipeline to use: `benchmark-only`, `docker`, `from-distribution`, or `from-sources`. Defaults to `benchmark-only` when no provisioning flags are given |
| `--target-hosts` | string | — | Comma-separated `host:port` list |
| `--distribution-version` | string | — | Solr version for provisioning pipelines |
| `--cluster-config` | string | `defaults` | Cluster config preset for provisioning pipelines |
### Distributed load generation
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--worker-ips` | string | `localhost` | Comma-separated IP addresses of worker coordinator machines |
### Multiple-iteration aggregation
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--test-iterations` | integer | `1` | Number of times to repeat the workload |
| `--aggregate` | boolean | `true` | Aggregate results from all iterations |
| `--sleep-timer` | integer | `5` | Seconds to wait between iterations |
| `--cancel-on-error` | boolean | `false` | Abort remaining iterations on first error |
### Telemetry
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--telemetry` | string | — | Comma-separated telemetry device names |
| `--telemetry-params` | string | — | Telemetry device parameters |
### Result output
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--test-run-id` | string | auto-generated | Custom ID for this run; used with `compare` and `aggregate` |
| `--user-tag` | string | — | A single `key:value` metadata pair attached to every metric record in this run (e.g., `intention:baseline`) |
| `--results-format` | string | `markdown` | Summary table format: `markdown` or `csv` |
| `--results-numbers-align` | string | `right` | Column alignment: `right`, `left`, `center`, or `decimal` |
| `--results-file` | path | — | Write the summary table to this file |
| `--show-in-results` | string | `available` | Values to include: `available`, `all-percentiles`, or `all` |
| `--visualize` | flag | off | Generate an interactive HTML visualization after the run |
| `--visualize-output-path` | path | — | Path to write the HTML visualization file (defaults to the test run directory) |
### General
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--test-mode` | flag | off | Run with ≤1,000 documents for quick validation |
| `--on-error` | string | `continue` | Error strategy: `continue` or `abort` |
| `--client-options` | string | `timeout:60` | Comma-separated client options passed to the Solr client (short: `-c`) |
| `--kill-running-processes` | flag | off | Kill other running `solr-orbit` processes before starting (short: `-k`) |
| `--preserve-install` | flag | off | Keep the Solr installation after the run (provisioned pipelines only) |
### Provisioning
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--revision` | string | — | Source code revision for the `from-sources` pipeline |
| `--runtime-jdk` | integer | — | Major JDK version to use for provisioned Solr nodes (e.g., `21`) |
| `--solr-modules` | string | — | Comma-separated Solr modules to enable (e.g., `extraction`) |
| `--plugin-params` | string | — | Comma-separated `key:value` pairs passed to all configured plugins |
| `--cluster-config-params` | string | — | Comma-separated `key:value` variable overrides for the cluster config |
| `--cluster-config-repository` | string | — | Git URL for a custom cluster-config repository |
| `--cluster-config-revision` | string | — | Git revision of the cluster-config repository |
| `--distribution-repository` | string | `release` | Repository to download Solr from |
### Advanced load generation
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--grpc-target-hosts` | string | `localhost:9400` | gRPC endpoint(s) for worker coordinator communication |
| `--enable-worker-coordinator-profiling` | flag | off | Profile the worker coordinator process |
| `--latency-percentiles` | string | — | Comma-separated additional percentiles to report for latency (e.g., `50,90,99,99.9`) |
| `--throughput-percentiles` | string | — | Comma-separated additional percentiles to report for throughput |
### Load testing
These flags enable automated load-ramp and redline testing to find a cluster's performance limits.
| Flag | Type | Default | Description |
|------|------|---------|-------------|
| `--load-test-qps` | integer | — | Run a load test that ramps up to this target QPS value |
| `--redline-test` | integer? | `0` (off) | Run a redline test to find the maximum sustainable throughput. Use as a bare flag (`--redline-test`, implicitly 1000 QPS) or with an explicit QPS target (e.g. `--redline-test 5000`) |
| `--redline-scale-step` | integer | — | Number of clients to add per scale step |
| `--redline-scaledown-percentage` | float | — | Percentage of clients to remove when the error threshold is exceeded |
| `--redline-post-scaledown-sleep` | integer | — | Seconds to wait after a scale-down event before resuming |
| `--redline-max-clients` | integer | — | Maximum number of concurrent clients during a redline test |
| `--redline-max-cpu-usage` | float | — | CPU usage percentage at which to begin scaling back |
| `--redline-cpu-window-seconds` | integer | `30` | Window in seconds over which average CPU load is measured |
| `--redline-cpu-check-interval` | integer | `30` | Seconds between CPU usage checks |
## list flags
| Flag | Description |
|------|-------------|
| `--workload` | Workload name (used with `list workloads` to filter by workload) |
| `--workload-path` | Local workload directory |
| `--workload-repository` | Git URL for the workloads repository |
| `--workload-revision` | Git revision of the workloads repository |
| `--limit` | Maximum number of test-run results to show (default: `10`; applies to `list test-runs`) |
## info flags
| Flag | Description |
|------|-------------|
| `--workload` | Workload name |
| `--workload-path` | Local workload directory |
| `--workload-repository` | Git URL for the workloads repository |
| `--workload-revision` | Git revision of the workloads repository |
| `--workload-params` | Comma-separated `key:value` Jinja2 parameter overrides |
| `--test-procedure` | Specific test procedure to describe |
| `--include-tasks` | Comma-separated task names to display |
| `--exclude-tasks` | Comma-separated task names to hide |
## compare flags
| Flag | Description |
|------|-------------|
| `--baseline` | Test run ID of the baseline run (see `list test-runs`) |
| `--contender` | Test run ID of the contender run (see `list test-runs`) |
| `--results-format` | Output format: `markdown` (default) or `csv` |
| `--results-numbers-align` | Column alignment: `right` (default), `left`, `center`, or `decimal` |
| `--results-file` | Write the comparison table to a file |
| `--show-in-results` | Values to include: `available` (default), `all-percentiles`, or `all` |
| `--percentiles` | Comma-separated list of percentiles to include in the comparison |
## aggregate flags
| Flag | Description |
|------|-------------|
| `--test-runs` | Comma-separated test run IDs to aggregate |
| `--test-runs-id` | Custom ID for the aggregated result |
| `--results-file` | Path to write the aggregated results JSON |
| `--workload-repository` | Git URL for the workloads repository |
## download flags
Solr is pure Java — no OS- or architecture-specific variants exist.
| Flag | Description |
|------|-------------|
| `--distribution-version` | Solr version to download (e.g., `9.10.1`) |
| `--distribution-repository` | Source repository (default: `release`) |
| `--cluster-config` | Cluster configuration preset to apply |
| `--cluster-config-params` | Comma-separated `key:value` variable overrides for the cluster configuration |
| `--cluster-config-path` | Local path to a cluster configuration directory |
| `--cluster-config-repository` | Git URL for a cluster configuration repository |
| `--cluster-config-revision` | Git revision of the cluster-config repository to use |
## convert-workload flags
| Flag | Description |
|------|-------------|
| `--workload-path` | Path to the source (OpenSearch Benchmark format) workload directory |
| `--output-path` | Destination directory for the converted workload |
| `--force` | Overwrite the output directory if it already exists |