Compare Traces#904
Open
Sajeeth-Wimalasuriyan wants to merge 9 commits into
Open
Conversation
Sajeeth-Wimalasuriyan
commented
Jun 25, 2026
Contributor
Add a File -> Compare menu entry that opens a two-pane dialog for picking two trace databases, writes an index.yaml manifest with an optiq.compare section, and opens it through the existing multinode loader. Surface the source database instance ID from the model up through the controller (kRPVControllerTrackInstanceId) so each loaded track can be mapped to its compare source. The timeline meta area and the sidebar tree leaves render a colored A/B badge with a tooltip showing the source name and path. Co-authored-by: Cursor <cursoragent@cursor.com> (cherry picked from commit 64874e1)
…fest Replace the index.yaml manifest used by the Compare feature with a dedicated load path that opens the selected trace files directly through the existing multinode engine, so nothing is written into the user's trace folder: - model: add rocprofvis_db_open_database_multi to open N files as one combined RocprofDatabase, skipping manifest detection. - controller: add rocprofvis_controller_alloc_compare (system-only) and teach SystemTrace to load from a file list; validate each input is a rocprof trace before combining. - view: CompareFilesDialog hands the two paths straight to the controller; drop the yaml read/write and the yaml-cpp view dependency. Persist and reopen compare projects natively in the .rpv via a compare_files list (relative paths) instead of relying on the on-disk manifest; bookmarks/timeline/annotations ride along as usual. Fix a null-dereference crash in TopologyNode::GetParent (and an out-of-bounds stream-processor lookup) exposed by combined topologies whose tracks lack a requested ancestor type. Route drag-and-drop into the Compare dialog's slots while it is open instead of opening standalone trace tabs behind the modal. Co-authored-by: Cursor <cursoragent@cursor.com> (cherry picked from commit 4dff645)
(cherry picked from commit 1f3c999)
(cherry picked from commit b7fd08c)
(cherry picked from commit f445f22)
CreateTracksOrderRanking now runs on every rocprof/rocpd load, so a track with a null db_instance would crash. Match the null-guard convention used elsewhere and fall back to file index 0. Co-authored-by: Cursor <cursoragent@cursor.com>
Wire up the track order ranking for compare traces: after metadata load, reorder the timeline by order_rank (tie-break on track id) using the existing move-to-index mechanism so each compared file's counterpart tracks (A, B, ...) sit adjacent. No-op for non-compare traces; saved project order still takes precedence. Co-authored-by: Cursor <cursoragent@cursor.com>
Contributor
|
Not a comment, but a small feature request. I think when someone is working with a trace and clicks the compare button, it would be nice to reduce the number of clicks and automatically set the "first" field to the currently open trace(or the last open one from the list). Keep the browse button to allow editing; if no traces are open, keep the current state with two empty fields. |
Replace the fixed partition_id * 100 stride with a running order_base so track order_ids stay globally unique even when a partition holds more than 100 tracks (the old stride collided with the next partition's base). Also fix the "Crerate ... abd bd instance" typos in the rocprof/rocpd loaders flagged in review. Co-authored-by: Cursor <cursoragent@cursor.com>
tomk-amd
approved these changes
Jun 30, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.