[cargo-nextest] add a store export-chrome-trace command#3163
Conversation
c2e1f8b to
4df389f
Compare
There was a problem hiding this comment.
Pull request overview
Adds a new cargo nextest store export-chrome-trace subcommand that converts recorded run events into Chrome Trace Event Format JSON for visualization in Perfetto / chrome://tracing, plus supporting runner-side conversion logic and snapshot tests.
Changes:
- Introduce
nextest-runner::record::convert_to_chrome_tracewith grouping + JSON formatting options. - Wire up
cargo nextest store export-chrome-trace(including CLI parsing, archive/store support, and error/exit-code mapping). - Add snapshot and unit tests validating emitted trace structure (pause/resume gaps, retries/flows, counters, etc.).
Reviewed changes
Copilot reviewed 10 out of 11 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| nextest-runner/src/record/chrome_trace.rs | New converter from recorded events → Chrome trace JSON, with extensive tests. |
| nextest-runner/src/record/mod.rs | Add module + re-export converter API/types. |
| nextest-runner/src/record/display.rs | Factor run-id prefix highlighting into shared Styles helpers. |
| nextest-runner/src/record/AGENTS.md | Document Chrome trace export behavior and invariants. |
| nextest-runner/src/errors.rs | Add ChromeTraceError error type. |
| cargo-nextest/src/dispatch/utility/store.rs | Add store export-chrome-trace subcommand implementation + CLI options. |
| cargo-nextest/src/errors.rs | Map Chrome trace export errors to ExpectedError + exit codes. |
| cargo-nextest/src/dispatch/core/tests.rs | Add CLI argument parsing coverage for new subcommand/options. |
| nextest-runner/src/record/snapshots/*.snap | Add insta snapshots for trace output (basic/pause-resume/slot-mode). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #3163 +/- ##
==========================================
+ Coverage 84.62% 85.12% +0.49%
==========================================
Files 156 157 +1
Lines 43838 46067 +2229
==========================================
+ Hits 37100 39214 +2114
- Misses 6738 6853 +115 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
9846397 to
b320c52
Compare
Export data in the Chrome event trace format, suitable for importing into Perfetto and other viewers.
b320c52 to
8a1b20d
Compare
Export data in the Chrome event trace format, suitable for importing into Perfetto and other viewers.