Commit Graph

3875 Commits

Author SHA1 Message Date
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
71a2404d6e sysprof: include boudaries by default
This will help with graphs where we want to show things which will overlap
the edges.
2023-08-21 15:40:51 -07:00
3a5aa1e887 sysprof-cli: add --scheduler option 2023-08-21 15:25:35 -07:00
bd77a1d2ef sysprof-agent: add --scheduler option 2023-08-21 15:25:28 -07:00
233e7a72f1 sysprof: add UI to enable scheduler details 2023-08-21 15:22:25 -07:00
82020e86be libsysprof: add instrument to record scheduler switching
This is to allow us to look at what processes were running when as a way
to get a high-level overview of usage.
2023-08-21 15:05:48 -07:00
855939ae1b Update Galician translation 2023-08-21 09:52:41 +00:00
bf73d142dc libsysprof: sort frames with timsort
These are largely pre-sorted, but not fully when you have merged data. This
uses timsort to speed that up a bit.

In particular, the comparison of various sorts break down to (for a
~32,000,000 record capture.

  g_array_sort_with_data() => 3.9 seconds
  qsort_r() = > 3.7 seconds
  gtk_tim_sort() => .79 seconds
2023-08-18 16:46:28 -07:00
c730ce8320 Update Turkish translation 2023-08-18 17:24:51 +00:00
57fcddb614 elfparser: switch to char 2023-08-17 14:19:38 -07:00
bdf9a55969 libsysprof: be defensive against null traceable 2023-08-17 13:36:39 -07:00
b6b21673f8 Update Romanian translation 2023-08-17 16:30:42 +00:00
b7e64b2b62 Update Finnish translation 2023-08-17 15:31:11 +00:00
9f00d904b0 Revert "libsysprof: add rwlock for symbol cache"
This reverts commit d1b4308af7.
2023-08-16 15:43:50 -07:00
48dc402c3b Revert "libsysprof: parallelize capture symbolizing"
This reverts commit a7a0c782d1.
2023-08-16 15:43:49 -07:00
3b97252a8e Revert "libsysprof: be defensive against null traceable"
This reverts commit c75022c257.
2023-08-16 15:43:46 -07:00
c75022c257 libsysprof: be defensive against null traceable 2023-08-16 14:06:40 -07:00
a7a0c782d1 libsysprof: parallelize capture symbolizing 2023-08-15 22:17:34 -07:00
d1b4308af7 libsysprof: add rwlock for symbol cache
This is necessary so we can start looking at threading symbolizers.
2023-08-15 19:21:31 -07:00
10807758aa sysprof: use sampled model for marks scrubber
This can save a tramendous number of items to look at in the scrubber.
2023-08-15 19:08:15 -07:00