Skip to content

Conversation

@lievenhey
Copy link
Contributor

@lievenhey lievenhey commented Nov 18, 2024

This PR expands the tracepoint PR to show additional information when hovering over a tracepoint.
This requires the perfparser PR to be merged.
image

This is still wip. The following things are planned:

  • Cache for tracepoint formats
  • Custom Tracepoint formatters (some format strings execute code which we don't support)

@lievenhey lievenhey force-pushed the tracepoint-hover branch 3 times, most recently from a4eef75 to f434e6d Compare December 2, 2024 12:19
Copy link
Contributor

@milianw milianw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

really great work @lievenhey and sorry for the overly long delay in reviewing. there are only a few minor things left from the code POV, I'll now look at the CI failure and also test-run it locally a bit


#include "data.h"

class TracePointFormatter
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

only used by formatTracepoint, so this can move to the .cpp file (into an anon namespace there?)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Formatter is unit tested so I need that public access.

@GitMensch
Copy link
Contributor

This looks nice. I do wonder (as I've not used tracepoints before) if it would be useful to provide a different (search-able list) as an alternative to the hover (that could be a separate PR, of course).

Note: docs for the hover are missing.

@GitMensch GitMensch mentioned this pull request Feb 8, 2025
lievenhey and others added 9 commits November 27, 2025 14:39
The tracepoints are getting a better visual representation on the
timelinewidget so this is no longer necessary.
Move the tracepoints from TimeAxisHeaderView to TimeLineWidget so that
we can use the header for cpu usage.
This also improves usability since the tracepoints are no longer bundles
in one line. They now each have their own line.
Enum automatically counts up so there is no need to manually set these
values.
this allows the user to group important timelines together so that he
can compare them better
The favourites and tracepoint patches include some rows in the model
that may be empty. To keep the code simple an readable all rows will be
shown. Then a proxy model is put ontop to remove empty rows.
This way we can more easily find them and changing the sort order
doesn't move them to the bottom.
Showing only one cost is fine if we only show a hardware event, but
since we now support tracepoints and some come in an enter/exit pair it
requires us to rework the timeline delegate.
This patch makes the event source combobox multi select and allows to
select multiple event sources.
@lievenhey lievenhey force-pushed the tracepoint-hover branch 8 times, most recently from 146933f to 38c15a7 Compare November 27, 2025 14:26
This patch allows hotspot to correctly parse most format string from the
tracepoint definition. If that fails every entry in the tracepoint will
be printed unformatted. In this case it is possible to add a custom
formatter.
@lievenhey lievenhey force-pushed the tracepoint-hover branch 2 times, most recently from bb21870 to d66c68d Compare November 27, 2025 14:38
@lievenhey lievenhey force-pushed the tracepoint-hover branch 10 times, most recently from fe6a58b to c80f53b Compare November 27, 2025 16:02
@lievenhey lievenhey force-pushed the tracepoint-hover branch 3 times, most recently from 795d6d1 to a02f515 Compare December 3, 2025 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants