feat(ctrace): process all trace channels per solution set - #2633
Conversation
Decode matching SWO, TB, and named-TB captures independently and continue after per-input failures. Qualify CTF bundle names with the channel to match CSV/XML output naming and prevent overwrites. Cover multi-channel selection, output modes, filters, failure isolation, and independent metadata. Update architecture and document the CTF path compatibility change.
Test Results 6 files 6 suites 9s ⏱️ Results for commit 0231634. ♻️ This comment has been updated with latest results. |
Collect graphical views from completed per-channel CTF bundles in one target-level XML, with capture-clock and trace-bus routing isolation. Separate the XML lifecycle from CTF bundles, share output-path validation, and cover multi-channel, multi-target and failure scenarios with tests and documentation.
## Summary - Exclude component coverage checks when no fresh flag report was uploaded for the commit, including carried-forward reports. - Keep carryforward data, coverage targets, thresholds, and upload failure handling unchanged. - Prevent false cross-component regressions such as the SVDConv check in #2633 after merging #2634. ## Validation - Official Codecov YAML validator: `Valid!`. - `git diff --check` passed. Only `codecov.yml` changes; no source or workflow changes.
Accept platform-specific rejection stages for overlong CTF and XML paths while still requiring an exception. Add an all-target, all-channel regression checking CSV, CTF and shared XML output names and types.
jreineckearm
left a comment
There was a problem hiding this comment.
Code looks mostly good, notices about AI generated files are missing in new files.
Going to test now.
jreineckearm
left a comment
There was a problem hiding this comment.
Functionality looks good. Happy to approve once the AI notices are added to new source files
Add Generated with AI notices to all five new C++ files. Clarify per-input backend setup and route-local event buffering in the architecture, diagram and runtime constraints.
|
Thanks for testing, @jreineckearm. The AI notices were added in 20c02fd. Rechecked all 125 tracked ctrace C++ source/header/test files, including all 28 changed files and the five new ones: no notices missing. All three inline comments are answered. The remaining review found no functional issues; one stale output-path statement was corrected in 3a13398. The ctrace build/test and coverage jobs passed at 20c02fd. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #2633 +/- ##
==========================================
- Coverage 78.68% 74.69% -3.99%
==========================================
Files 197 199 +2
Lines 32778 32802 +24
Branches 19152 19167 +15
==========================================
- Hits 25790 24502 -1288
- Misses 4662 6000 +1338
+ Partials 2326 2300 -26
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
jreineckearm
left a comment
There was a problem hiding this comment.
Perfect, thanks for fixing the copyright headers!
Purpose
Remove the single-input restriction for coexisting SWO and Trace Buffer captures of one solution set.
Related: #2573 and cmsis-toolbox #699.
Changes
SWO,TB, andTB_<name>input independently and sequentially, in deterministic order.--targetselects the solution set; without it, all discovered sets are processed.An explicit format override still applies to all inputs in its configuration.
<solution-set>.<channel>.csvand<solution-set>.<channel>.ctfper input.One optional
<solution-set>.traceanalysis.xmlcollects graphical views from eligible completed bundles.Only topics backed by emitted data generate views; point events remain in the standard CTF event table.
to each input. Failures retain a nonzero exit status while remaining inputs and solution sets continue.
Add the repository's AI-generation notice to all five new C++ files.
Compatibility and scope
Board.ctfbecomesBoard.SWO.ctf.Consumers must adapt; existing target-only bundles and historical per-channel XML files are not migrated or deleted.
<solution-set>.ctf; channel-qualified naming remains a specificationalignment task.
are excluded from XML with a warning. No clock correlation, timestamp rebasing or trace-data merge is introduced.
--channeloption, decoder or binary event-layout change. Event Recorder inputs remain warned/skipped.No output option still means validation only.
Validation
3e26087cpassed:native Linux AMD64, Windows AMD64 and macOS Arm64 tests; Linux/Windows Arm64 compile-only checks;
Babeltrace consumer validation and 100% ctrace source-line coverage.
missing sync, input-specific metadata/framing failures, output-path failures and unaffected artifacts.
The dedicated all-targets/all-outputs test checks generated filenames without duplicating decoder golden outputs.
unchanged-code verification and
git diff --checkpass.Checklist