Commit Graph

3636 Commits

Author SHA1 Message Date
b37e31b855 sysprof: cleanup filtering of related energy counters 2023-07-26 16:26:37 -07:00
ecacbc8c77 sysprof: start on an energy section via RAPL/Battery Charge counters 2023-07-26 12:07:09 -07:00
d8483691dc libsysprof: use non-breaking space between units 2023-07-26 11:52:26 -07:00
379e2ec828 sysprof: add overview charts for various sections 2023-07-26 11:07:59 -07:00
8b7900ee9f sysprof: grid lines for various tables 2023-07-26 10:25:11 -07:00
58b47cbe19 libsysprof: remove some weak pointer usage
These are incredibly slow and just not worth the overhead of using weak
pointers for everything.

Fixes some jank on filtering function symbols.
2023-07-25 20:32:21 -07:00
64a5ab0018 sysprof: add storage counters 2023-07-25 20:09:38 -07:00
b5ea549842 sysprof: update styling for counters columns 2023-07-25 20:09:31 -07:00
7599ab698e sysprof: add counter values for network section 2023-07-25 19:49:41 -07:00
29a1ec952f libsysprof: add API to lookup a process by PID 2023-07-25 19:31:40 -07:00
ab59c7e627 sysprof: force width-request for functions column
That way it can't shrink while filtering.
2023-07-25 19:22:51 -07:00
90dcf98248 sysprof: allow filtering functions 2023-07-25 18:00:18 -07:00
25f504e6e7 sysprof: start on storage section 2023-07-25 17:28:58 -07:00
3d836505f0 sysprof: tweaks to network section style 2023-07-25 17:28:49 -07:00
cb067ac3c1 sysprof: fix line fill for flipped y 2023-07-25 17:15:49 -07:00
8cc7bc8bcb sysprof: start on network section 2023-07-25 17:15:47 -07:00
48966cda63 sysprof: add pair helper 2023-07-25 17:03:34 -07:00
4822b02f2e sysprof: clear some models when changing callgraph view
This is just more attempt to avoid some listmodel issues.
2023-07-25 14:16:59 -07:00
24fa82f8ee sysprof: dont autoselect descendants
It makes focus confusing when loading Sysprof.
2023-07-25 14:16:24 -07:00
471e7205aa sysprof: clear focus when setting model
We seem to run into some weird ownership issues when there is focus during
the transition. Just work around it a bit for now.
2023-07-25 14:08:57 -07:00
f416b2f4ff sysprof: use non-breaking space between value and unit 2023-07-25 10:41:56 -07:00
a0ce83eead libsysprof: provide build-id in MMAP2 event to capture writer
We may not always get this value (in fact, I can't seem to actually get
the Kernel to provide it to me locally), but should we actually get it
this will send that along to the capture writer so it may add a @build-id\0
tail to the SysprofCaptureMap frame.
2023-07-24 17:31:51 -07:00
a7fe9abb19 libsysprof-capture: add map variant with build-id
This allows tacking on suplimental data to the capture with a build-id so
that our SysprofDocumentMmap can read it. The format is @build-id\0 after
the trailing \0 of the filename in a SysprofCaptureMap frame.
2023-07-24 17:30:07 -07:00
dfd81f1ecb libsysprof-capture: ensure trailing bit is zero
This ensures situations that are not perfectly aligned can still be 1-off
checked for a trailing \0 without scanning.
2023-07-24 17:28:46 -07:00
d1ae6b7b4a sysprofd: remove legacy v2 bits 2023-07-24 16:33:04 -07:00
85344b4963 libsysprof: handle mmap2 records
We still need to add an additional capture writer so that we can keep the
build-id around, but this gets the mechanics in place to handle the
PERF_EVENT_MMAP2 event type.
2023-07-24 16:32:58 -07:00
5f5868c060 libsysprof: add control structure for mmap2 events 2023-07-24 15:34:35 -07:00
29772e7ac2 sysprofd: add proxy support for mmap2/build_id
We will want to be able to open perf event streams with these options so
that we can get the build-id extracted from an ELF without having to rely
on parsing it at resolution time.

Additionally, it could give us an option for live-decoding at some point
in userspace without having to write the major DWARF capture data to disk.
2023-07-24 15:30:16 -07:00
0fe69dcc68 sysprof: use GtkListView for counters rows 2023-07-24 15:12:32 -07:00
732511076c libsysprof-capture: fix a 32-bit cast warning 2023-07-23 18:16:59 -07:00
49a17d5339 libsysprof: fix format of 64-bit integer 2023-07-23 18:16:59 -07:00
e4649a4879 Update Ukrainian translation 2023-07-23 18:36:55 +00:00
3119cc1cdf sysprof: insert space before unit 2023-07-22 22:04:04 -07:00
f646fe675f Update Georgian translation 2023-07-23 03:44:09 +00:00
861d78dfd1 sysprof: add summary of marks with avg/min/max/median 2023-07-22 16:43:32 -07:00
91d48b87d6 libsysprof: calculate min/max/avg/median durations for marks 2023-07-22 16:43:32 -07:00
f2ba5c2ef5 Update POTFILES.in 2023-07-22 15:28:36 +02:00
def9d5f47d sysprof: put frequency above usage
They're just easier to read that way since frequency jumps around more.
2023-07-21 22:58:11 -07:00
e74a7eb0e3 libsysprof: add symbols to capture 2023-07-21 20:49:25 -07:00
413772a263 build: update manifest 2023-07-21 20:07:45 -07:00
00f2db291c build: update manifest 2023-07-21 20:04:35 -07:00
db31ca62d7 build: update manifest 2023-07-21 19:53:27 -07:00
76c2d0007d Merge branch 'wip/chergert/libsysprof-analyze'
This merges a mostly completed rewrite of Sysprof using all the new GTK
features we can muster.

In particular, we now have SysprofDocument which can be used to read
documents instead of SysprofCaptureReader for a more document-oriented
experience. It's mmap-based and has significantly more indexing
capabilities for new features.

The recording process still needs a bit more work, along with opening
documents and custom debug-dirs.

Some applications are expected to break, such as gnome-builder which
will have to stop using the now-extinct libsysprof-ui library. Instead
applications should open the capture files with Sysprof directly.
2023-07-21 17:06:39 -07:00
35b15b93d0 sysprof: add CPU counters to cpu section 2023-07-21 16:55:45 -07:00
017e51cb62 libsysprof: return null for empty description
Just to decrease chances this causes tooltips to display.
2023-07-21 16:55:27 -07:00
5fdef90f4d libsysprof: fix tx counter id 2023-07-21 15:58:03 -07:00
f0ca95b38b sysprof: use layer factories to create charts 2023-07-21 15:53:09 -07:00
93e4162aa3 sysprof: add SysprofChartLayerFactory
This lets us create layers automatically from listmodel.
2023-07-21 15:52:49 -07:00
e571f167dd sysprof: janitorial cleanup 2023-07-21 14:11:08 -07:00
1d9b346a49 libsysprof: add some cryptography libraries 2023-07-21 13:14:15 -07:00