Commit Graph

3295 Commits

Author SHA1 Message Date
d993bf3d37 libsysprof-analyze: expose logs as document property
# Conflicts:
#	src/libsysprof-analyze/sysprof-document.c
2023-07-06 16:53:38 -07:00
6197ad2082 libsysprof-gtk: add test to list files in UI 2023-07-06 16:01:48 -07:00
f772b82f66 libsysprof-analyze: expose files as a property 2023-07-06 15:53:48 -07:00
904815f4f6 libsysprof-gtk: add test to list processes time duration 2023-07-06 15:52:41 -07:00
82032c3aa4 libsysprof-gtk: bind expression to normalized series 2023-07-06 15:52:28 -07:00
fbd52438b5 libsysprof-gtk: fix property names 2023-07-06 15:52:20 -07:00
b3f8b45b16 libsysprof-analyze: add duration property to process
This is a bit easier to bind to a chart since we need the expression as
a duration rather than the end time.
2023-07-06 15:33:56 -07:00
a999a8a455 libsysprof-analyze: expose processes as property 2023-07-06 15:20:11 -07:00
51abce735c libsysprof-analyze: ensure exit-time is >= spawn time 2023-07-06 15:00:59 -07:00
f7bdebe1a8 libsysprof-analyze: ensure all process info get an exit time 2023-07-06 14:59:08 -07:00
58a089fb94 libsysprof-analyze: expose exit-time as a property 2023-07-06 14:58:53 -07:00
2b29ce8e73 libsysprof-analyze: record exit time of processes
This will allow us to treat them as a duration in a chart.
2023-07-06 14:52:02 -07:00
65a567f0d1 libsysprof-analyze: cleanup some signed-int bswap 2023-07-06 14:51:41 -07:00
c0a7a94d52 libsysprof-analyze: add flag to ignore system libraries 2023-07-06 12:13:23 -07:00
c3e0235d99 libsysprof-gtk: add some test menus 2023-07-06 11:44:00 -07:00
125ad56af5 libsysprof-gtk: include time when formatting memory value 2023-07-06 11:32:38 -07:00
5884636da5 libsysprof-analyze: add some string helpers 2023-07-06 11:32:23 -07:00
a0d5f0fc66 libsysprof-profile: set cwd when spawning process 2023-07-06 11:18:53 -07:00
c5af1f95c6 libsysprof-gtk: allow tracks to format values for display 2023-07-06 11:18:46 -07:00
4793b12ca2 libsysprof-profile: use GByteArray for read buffer
That way we aren't relying on the stack for access to buffer data.
2023-07-06 10:59:46 -07:00
7f23fd5e9e libsysprof-analyze: pre-sort frames during loading
That way we can be sure that we only have to look forward to find closing
pairs of operation (such as allocation/free, or appended capture data from
controlfd ring buffers).
2023-07-06 10:19:55 -07:00
9fd20c306f libsysprof-analyze: warn on non-aligned or short-frames
And bail doing any further processing on the capture.
2023-07-06 10:18:52 -07:00
7d93b9f581 libsysprof-analyze: add stack traces w/o kernel context
This restores the functionality we had previously for user vs kernel.
2023-07-05 18:06:42 -07:00
ec77e2b2ff libsysprof-gtk: add more colors to color iter 2023-07-05 18:02:09 -07:00
6e13590f62 libsysprof-gtk: show counter values in informative 2023-07-05 17:54:46 -07:00
ccb7bb4f27 libsysprof-gtk: tweak fps line drawing 2023-07-05 17:54:35 -07:00
3ebea4823e libsysprof-gtk: add lookup item support for line points 2023-07-05 17:54:22 -07:00
1ac95756af libsysprof-gtk: use double math funcs and constants 2023-07-05 17:54:01 -07:00
68cda70138 libsysprof-analyze: add format helper 2023-07-05 17:53:44 -07:00
d865a0ed99 libsysprof-gtk: add style flag for fill 2023-07-05 17:30:16 -07:00
2810f65f18 libsysprof-gtk: use different colors for grouped counter layers
This way you can see them when overlaid on the same chart (such as for
CPU frequency).
2023-07-05 17:27:16 -07:00
f41e6e8917 libsysprof-gtk: add color iter for graph colors 2023-07-05 17:26:45 -07:00
ec593ed79c libsysprof-gtk: allow selecting items in timespan layer
Double clicking a time span will update the visible/selected span to match
what was selected.
2023-07-05 17:05:58 -07:00
36aa121607 libsysprof-analyze: helper to list traceables by string search
This will let you take a callgraph and create a new GListModel containing
the original traceables but filtered with something like "_sysprof_*" to
get all traceables containing functions starting with "_sysprof_".
2023-07-05 16:53:44 -07:00
9263624fa0 libsysprof-gtk: add track for samples with context switches 2023-07-05 16:31:45 -07:00
3722dfefd2 libsysprof-gtk: use list_by_group() to get aggregate marks 2023-07-05 16:07:35 -07:00
2e0f046390 libsysprof-analyze: add aggregate marks by group
This is handy so that we can show aggregate results in other places without
using a FlattenListModel which can mess up event ordering.
2023-07-05 16:07:07 -07:00
af39c9611c libsysprof-gtk: transfer ownership to flatten model 2023-07-05 15:57:03 -07:00
d91e57b10d libsysprof-gtk: use doubles for normalized values
These need more precision so that we can convert them to our final position
by widget width/height which may have implications with zoom.
2023-07-05 15:48:42 -07:00
98998eb868 libsysprof-gtk: add informative description of events under pointer
We are not using Tooltips for these because they 1) introduce additional
delay, 2) slow things down to a hault do to protocol overhead/compositor
work/etc.

There may be a desire to do this differently for a11y purposes at some
point, but I'd want to see how that use case plays out before trying to
shove text description updates every frame motion to a screen reader.
2023-07-05 15:26:36 -07:00
aa3df478bc libsysprof-gtk: put marks behind a POI toplevel track 2023-07-05 14:37:15 -07:00
a479bded04 libsysprof-gtk: ensure you can't focus/target the timecode label 2023-07-05 14:05:52 -07:00
866a4fac6c libsysprof-gtk: add some libpanel bits for testing layout 2023-07-05 13:55:39 -07:00
7ad4a3bb40 libsysprof-gtk: add counter discovery toggles for dashed/spline 2023-07-05 11:36:13 -07:00
5c0a56c47a libsysprof-gtk: add a timecode label above the ruler 2023-07-05 11:31:54 -07:00
a2da225216 libsysprof-gtk: try harder to get motion events
I still see some occasionaly hiccups in the GtkEventControllerMotion where
if you move slowly from the SysprofTimeRuler area to the headerbar, you
might not get a GtkEventControllerMotion::leave event triggered. But we
can deal with that later as that's clearly something we should be able to
expect to be triggered.
2023-07-05 11:31:54 -07:00
16ea3f6f64 libsysprof-gtk: add view menu 2023-07-03 22:43:42 -07:00
5dcff9ae32 libsysprof-gtk: add weighted callgraph view 2023-06-30 17:21:06 -07:00
c5cff39ab9 libsysprof-gtk: add some charts and tables to bottom area 2023-06-30 17:15:13 -07:00
6fe6ebf081 libsysprof-gtk: add label expression for time span
So we can show labels on things if zoomed in enough. We should also make
this available for hover/query-tooltip/etc.
2023-06-30 16:56:41 -07:00