In this section

QuickRust records every build it runs in ~/.qrust; nothing is written into your repository unless you ask for it as below.

Write a report with every build

Set QRUST_REPORT to a path:

QRUST_REPORT=build-report.json cargo build
QRUST_REPORT="reports/{session}.json" cargo test --no-run

{session} is replaced with the run’s id, so successive builds write separate files. A relative path is relative to the directory the command runs in. To do this for every build of a project, set it in .qrust/config.toml:

[measurement]
report = "target-reports/{session}.json"

The build is analysed right after it finishes, which adds a little time to the command. If the report cannot be written, QuickRust prints a WARN line and the build’s result stays as it is; set measurement.strict = true if a missing report should fail the command.

Export a report after the build

qrust report --format json -o build-report.json     # the latest run
qrust report --format html -o report.html           # self-contained page, no scripts
qrust report --run latest~2 --format json           # to stdout
qrust report                                        # every section as text

-o (or --output) writes the file and prints OK Wrote <path>.

Find the run you want

qrust runs
qrust runs --limit 5 --format json
RUN                         STARTED                   FAMILY       STATE           WALL  OBSERVED  COMMAND
01M4SFR4D0T8A2T0XMX6XDVS4Y  2026-10-13T01:59:02.817Z  build        completed       57ms  rustc     cargo build
01M4SFR4AEWS8GV6Q36CH45KAQ  2026-10-13T01:59:02.735Z  build        failed          42ms  rustc     cargo build

Wherever a command takes --run, give latest, latest~N (N runs before the latest), or a run id or any unique prefix or suffix of one. Runs belong to the workspace you are in.

QuickRust keeps the last 200 runs of a workspace (measurement.keep-runs); export the ones you need to keep longer.

Export one section

qrust analyze timing --format json
qrust analyze rebuilds --format json --filter reason=source

Each section of qrust analyze prints as JSON with --format json, narrowed by --filter, --sort and --limit.

Keep paths out of shared reports

Exported reports replace the workspace root, your home directory, QuickRust’s Cargo home and QuickRust’s home with $WORKSPACE, $HOME, $CARGO_HOME and $QRUST_HOME. Environment values are kept only for a list of build-relevant variables, and credential-like ones show as <redacted>. To keep no environment values at all, set security.persist-environment = "none".