Commit Graph

3894 Commits

Author SHA1 Message Date
7915f75540 Update Georgian translation 2023-08-26 03:31:47 +00:00
9f0a214a69 sysprof: include file/category in tooltips 2023-08-25 17:41:47 -07:00
fd3e5af1fa libsysprof: add category name private helper 2023-08-25 17:41:34 -07:00
d1b228bf28 sysprof: add menu button for callgraph options
This is useful for when we are viewing things like flamegraphs which can
take advantage of options in the callgraph.

Also add some labels for the header bar buttons.
2023-08-25 16:49:27 -07:00
75c7a99339 sysprof: dive into flamegraph node upon click
This makes the graphs interactive finally where you can select a node and
see the children of it directly. Click down the stack to return to a
larger view.
2023-08-25 15:44:27 -07:00
cd06a025a4 sysprof: render from alternate root to real root
This helps with the situation where we are going to render the parents
of the selected root first, and want them to take the whole width. Next
step is to support invalidation of the rendering.
2023-08-25 15:29:23 -07:00
35b75aa25b sysprof: rely on count from root node
We have a valid count on root now so no need to deal with the 0 counts.
2023-08-25 14:11:55 -07:00
4a283a79c5 sysprof: use hand cursor to indicate flamegraph interactivity
You can click on flamegraph items (and soon) we will update the graph to
show you that node. Set the hand cursor when doing that so the user knows
that is an option.
2023-08-25 13:36:19 -07:00
22fe863230 sysprof: add description for process items 2023-08-25 13:13:34 -07:00
174d5f2cd4 sysprof: add tooltips to chart layer
Now that we do some filtering on these to not show too many items per row,
this can be enabled. Previously it could *really* slow things down due to
all the app<->compositor traffic it causes.
2023-08-25 12:56:24 -07:00
8a43440f6a sysprof: fix double accounting in recursion
We don't want to cost-account the same summary multiple times while walking
up to the root. Otherwise, you can get items which come out to a percentage
of > 100% which is not exactly what you're expecting to see as a normalized
value.
2023-08-25 12:43:57 -07:00
a28353eb76 sysprof: sort callgraph models incrementally
This represented a large stall when loading the window, and also results
in doing a bunch of work twice as we set the model (then again the time
range).

So instead, just do it incrementally and let the functions list backfill in
a bit.
2023-08-25 12:42:59 -07:00
00554090d8 libsysprof: check for null node before setting toplevel 2023-08-25 12:42:07 -07:00
3de88108ce libsysprof: ensure we update count for root node 2023-08-25 12:41:52 -07:00
677c6a19a7 libsysprof: fix kernel (Linux) categorization 2023-08-25 11:37:17 -07:00
352f1b2038 sysprof: include sample count and percentage in tooltip 2023-08-25 11:27:55 -07:00
be9cf3d5f8 sysprof: add stable alpha variation
This is something that original flamegraphs do to aid in seeing adjacent
towers. We want that too, but we need it to be stable across redraws. Use
the hash of the symbol rather than g_random_double_range() for that.
2023-08-25 11:15:26 -07:00
ec03b13b49 sysprof: tweak font size 2023-08-25 11:15:26 -07:00
e8aa5bef96 Update Ukrainian translation 2023-08-25 12:53:48 +00:00
51118f7441 Update Persian translation 2023-08-25 11:49:45 +00:00
be2d9af18d Update Georgian translation 2023-08-25 05:11:35 +00:00
47ff438b20 sysprof: add hooks to track selection changes 2023-08-24 17:53:02 -07:00
b5bfe86c67 Merge branch 'wip/chergert/flamegraph' 2023-08-24 17:19:48 -07:00
9776f1f41b sysprof: add tooltip for flamegraphs 2023-08-24 17:17:15 -07:00
4a97716f5f sysprof: generate flamegraph rectangles off thread
Then cache the render tree so that we can have highlight nodes without
having to use children widgets.
2023-08-24 17:05:28 -07:00
507c0e79c2 libsysprof: move callgraph sorting to thread worker 2023-08-24 14:13:17 -07:00
ec9d930d58 sysprof: tweak drawing of flame graph 2023-08-24 13:04:16 -07:00
db825f6010 Update Ukrainian translation 2023-08-24 19:27:43 +00:00
7c34f8a687 sysprof: fixed row height and text labels
This makes things look a bit more like flamegraphs.pl in the sense that we
have some labels and separation between rows. Also, use a ScrolledWindow so
that we can have much taller graphs to accommodate deep stack traces.

We might want to jump to the bottom at some point, but this gets things in
place for now. Icicle graphs are another option (invert).
2023-08-24 12:00:42 -07:00
debd576c2e sysprof: sort flamegraph alphabetically for X axis
This is what flamegraph.pl does, and there is somewhat an expectation that
we match that.
2023-08-24 11:21:28 -07:00
4d6f0fe061 sysprof: use Flamegraph for naming
That is a closer match to callgraph, and the original name anyway.
2023-08-23 16:32:20 -07:00
5a5e269e7c sysprof: fix category and weights for drawings 2023-08-23 16:16:28 -07:00
f9dabe582a sysprof: some work on graph recursion 2023-08-23 16:01:14 -07:00
790408f10c sysprof: allow caller to check for invisible nodes 2023-08-23 16:01:00 -07:00
cfc40225c9 sysprof: add very simple graph generation
This is not yet interactive, nor very descriptive of what is contained
within it.
2023-08-23 15:25:41 -07:00
9de7199373 sysprof: add helper to get category color 2023-08-23 15:25:07 -07:00
be2970929f sysprof: bind callgraph to flame graph 2023-08-23 14:32:18 -07:00
b80c8b8b5b libsysprof: always increment count for callgraph nodes
This shouldn't affect categorizing because that only uses the value if
is_toplevel. But with this added, we can use the count for weights in
other tooling w/o needing augmentation.
2023-08-23 14:32:04 -07:00
fd618ccb4b callgraph: track max height of callgraph 2023-08-23 14:31:10 -07:00
2cf6701adf sysprof: add scaffolding for flamegraph 2023-08-23 14:07:17 -07:00
8588058a8f Update Galician translation 2023-08-23 07:34:02 +00:00
6a6c2488cc Update Turkish translation 2023-08-22 20:19:23 +00:00
72df5767c3 Update Turkish translation 2023-08-22 16:30:48 +00:00
69651a3af2 Update Persian translation 2023-08-22 13:45:41 +00:00
3aaf8f13e3 Updated Spanish translation 2023-08-22 13:44:31 +02:00
ddeb1a37d8 sysprof: remove unneeded caption 2023-08-21 20:36:56 -07:00
e2e19c10e6 sysprof: add colorization to time span layers
We might need to back this off or find some tweaks if it's too slow, but
for now it seems reasonably fast to just do it.
2023-08-21 16:43:29 -07:00
340e92403f libsysprof: stop streams at end of recording
Don't wait for disposal to stop this recording.
2023-08-21 16:01:35 -07:00
40c0791e23 Merge branch 'wip/chergert/scheduler' into 'master'
add support for tracking scheduler details

See merge request GNOME/sysprof!74
2023-08-21 22:55:24 +00:00
fa49127c85 sysprof: don't include edge items when filtering 2023-08-21 15:43:49 -07:00