Commit Graph

3390 Commits

Author SHA1 Message Date
1f4f4d7e50 build: keep libsysprof-capture version at 4
We haven't changed the format, so we really don't want to cause unnecessary
churn by applications consuming this.
2023-07-12 11:49:55 -07:00
c4b5e3ec99 sysprof: fix initial sorting of log entries 2023-07-12 11:33:42 -07:00
78a17d5d52 libsysprof-analyze: add API to get CPU info as objects
This can be handy to use from UI so we can bind it to UI elements.
2023-07-12 11:24:18 -07:00
8c85cca062 libsysprof-gtk: add some spacing for section header 2023-07-12 10:37:56 -07:00
88d0589fea libsysprof-profile: tail journald and append logs to capture
It can be handy to get system information from journald to correlate with
what is going on in applications. This simple journald tail GSource will
dispatch to our callback which can append the logs to the capture.

This uses a custom callback rather than the GSourceFunc because that seems
a bit annoying to use with recent GCC function equivalence checks.
2023-07-12 10:31:23 -07:00
ae571f3f6e libsysprof-ui: remove legacy libsysprof-ui library
This is libsysprof-gtk now, but that too will be absorbed by sysprof app
directly rather than having a UI library.
2023-07-12 10:00:11 -07:00
6075a0cd91 build: fix log domains 2023-07-11 13:32:09 -07:00
812a54803c sysprof: add dialog to show process information
Includes address layout and mount info for troubleshooting.
2023-07-10 16:23:16 -07:00
8c3fef768d libsysprof-analyze: expose properties for mmaps and mounts 2023-07-10 16:18:42 -07:00
0be15aa897 sysprof: add more section icons 2023-07-10 15:30:08 -07:00
fb85c2078e sysprof: start on icons for sections 2023-07-10 14:59:09 -07:00
79f6984e3e sysprof: add some mark icons to marks section 2023-07-10 14:49:33 -07:00
7dbb5abb62 sysprof: add stack traces above memory callgraph 2023-07-10 14:44:26 -07:00
dc66e93eec sysprof: ensure initial row is selected 2023-07-10 14:39:33 -07:00
77a305f3bf libsysprof-analyze: runtime protection against NULL names
Shouldn't happen, but at least don't crash.
2023-07-10 14:35:38 -07:00
0c51dff124 sysprof: add memory allocations section
Still a bunch to do here to restore what we had previously, but this gets
the section into place.
2023-07-10 14:23:15 -07:00
9147d45e4a libsysprof-gtk: start on memory callgraph view 2023-07-10 14:22:44 -07:00
a4276f5b8f libsysprof-analyze: allow two pointers for augmentation
This affords us the ability to shove memory statistics in the inline
augmentation area for memprof data.
2023-07-10 14:15:03 -07:00
6f2a3ac74e sysprof: categorize sidebar sections 2023-07-10 14:04:20 -07:00
e6a769b386 sysprof: add stack traces above callgraph
This still needs to be put into a proper selectable container, but having
the chart there gives me some idea of how things look for now.
2023-07-10 13:54:45 -07:00
0a342c7d26 sysprof: ctrl+n to go record again from greeter 2023-07-10 13:47:20 -07:00
d47a7b0791 libsysprof-analyze: add process title including PID 2023-07-10 13:42:56 -07:00
b22e2f3b6a libsysprof-profile: use shared time for process times 2023-07-10 13:35:50 -07:00
f003482afb libsysprof-analyze: update end-times after process pool is created
These largely get created when processing the load of various document
pieces. Wait until the end so that we actually have something to update.
2023-07-10 13:31:13 -07:00
32bfc4eb26 sysprof: wire up compositor toggle 2023-07-10 13:08:08 -07:00
1c08fc18b0 libsysprof-profile: fix success case 2023-07-10 13:07:40 -07:00
e52af10ea3 libsysprof-gtk: use custom scheduler for work items 2023-07-10 13:00:41 -07:00
8fd4f21aa6 libsysprof-gtk: add shared scheduler for workers
This is a scheduler that I put into GtkSourceView as well so that we can
do multiple work items with a shared deadline.
2023-07-10 13:00:20 -07:00
af185e2c50 libsysprof-gtk: expose information about normalized series to inspector 2023-07-10 12:49:50 -07:00
a75de29241 libsysprof-gtk: remove indirection from timeseries calculation
Require an expression to get the end-time so that we can directly bind it
to the series generation.
2023-07-10 12:49:37 -07:00
58d9717399 libsysprof-gtk: emit items-changed if session changes
That way we can generate new items with a proper session pointer.
2023-07-10 12:26:41 -07:00
a08a14374b libsysprof-analyze: cleanup various swap bytes code 2023-07-10 12:21:00 -07:00
26ceab43f5 libsysprof-analyze: ensure end time is > begin time 2023-07-10 12:15:13 -07:00
c0b46530a4 libsysprof-analyze: fix various swap calculations 2023-07-10 12:10:49 -07:00
af0470a381 sysprof: set max sidebar widths 2023-07-10 11:46:50 -07:00
5d1a7a8cce sysprof: start on processes chart 2023-07-10 11:34:28 -07:00
f0e0298acb sysprof: connect view menu to callgraph properties 2023-07-10 11:33:27 -07:00
5082616c94 libsysprof-gtk: add some callgraph toggles to session
The idea is that we bind these to properties for use in UI/menus.
2023-07-10 11:32:49 -07:00
304943a03c libsysprof-profile: include spawnable information in metadata 2023-07-10 10:58:52 -07:00
a0befecfaa libsysprof-profile: add hostname to capture metadata 2023-07-10 10:51:18 -07:00
b82b2b5434 libsysprof-profile: add sysinfo metadata to capture 2023-07-10 10:47:27 -07:00
788bb949f1 sysprof: add SysprofSingleModel
This model is a helper so that we can create a ListModel with a single item
in it as can be useful from UI files.
2023-07-10 10:39:42 -07:00
439ea30c2f libsysprof-profile: add more system information as metadata 2023-07-10 10:38:52 -07:00
846e2e6818 libsysprof-gtk: bail if we don't have enough info to normalize 2023-07-10 10:38:40 -07:00
1ee9719f5a sysprof: remove metadata dialog
This is a section now, so we can drop this dialog.
2023-07-10 09:36:01 -07:00
d0da970e86 sysprof: use a section for metadata
This is more discoverable than in the menu, and since it conveys user
information we should elevate that so they know what is in there before
sharing it with other people.
2023-07-10 09:34:21 -07:00
bb0b7d672e sysprof: remove files dialog
This is a section now, so purge this.
2023-07-09 15:36:30 -07:00
68b538bce6 sysprof: add an embedded files section
This seems more discoverable than the dialog, which we can drop now.
2023-07-09 15:35:06 -07:00
3accd82af2 libsysprof-analyze: add property for compressed status 2023-07-09 15:34:43 -07:00
a519825e33 sysprof: add section for marks 2023-07-09 15:18:11 -07:00