Commit Graph

3272 Commits

Author SHA1 Message Date
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
e8c11ea7d9 libsysprof-gtk: keep visible range when deselecting 2023-06-30 16:31:38 -07:00
83c0822990 libsysprof-gtk: skip out of bounds data 2023-06-30 16:29:24 -07:00
5493e05100 libsysprof-gtk: fix alpha check 2023-06-30 16:29:13 -07:00
366b89fba1 libsysprof-gtk: clip chart to prevent overdraw 2023-06-30 16:22:33 -07:00
36c8181c7f libsysprof-gtk: increase height of ruler 2023-06-30 16:22:21 -07:00
ab94cf7f22 libsysprof-gtk: improve interaction between listview and zoom button 2023-06-30 16:11:04 -07:00
c1fe67b74c libsysprof-gtk: update normalized series when axis changes 2023-06-30 16:10:36 -07:00
a3a9ca1529 libsysprof-gtk: connect zoom plumbing to session
This gets the plumbing in place, but all of the charts are not yet doing
the proper filtering based on session visible time.
2023-06-30 15:38:55 -07:00
bd5ce9de06 libsysprof-gtk: add zoom button within selection 2023-06-30 15:31:46 -07:00
67f155b0e2 libsysprof-gtk: don't reset selection when clicking on info 2023-06-30 15:10:42 -07:00
53c111791e libsysprof-gtk: work on selections for session 2023-06-30 15:03:22 -07:00
9481c8e772 libsysprof-analyze: add duration helper 2023-06-30 15:02:46 -07:00
b9a3591771 libsysprof-gtk: reuse selection for in/out params 2023-06-30 14:22:06 -07:00
160f23e650 libsysprof-gtk: selection improvements
Deny gesture if clicking out of our charting area. Don't short circuit if
we need to draw selection areas.
2023-06-30 14:21:03 -07:00
44fc3f7eac libsysprof-gtk: hoist selection check to allow for session selection 2023-06-30 14:05:14 -07:00
2604f143c4 libsysprof-gtk: start on interactive drag selections 2023-06-30 13:59:30 -07:00
508d1abbb6 libsysprof-gtk: lighten alpha for selection column
This is darker than the ruler posts, but lighter than foreground.
2023-06-30 13:31:42 -07:00
4babfaa6b7 libsysprof-gtk: remove motion from time ruler
This is done on the tracks view instead
2023-06-30 13:31:24 -07:00
eafc897a9e libsysprof-gtk: use foreground color for selection column 2023-06-30 13:28:36 -07:00
96d7851439 libsysprof-gtk: setup style tweaks to test the window 2023-06-30 13:24:09 -07:00
d8ba258051 libsysprof-analyze: give SysprofDocument a title 2023-06-30 13:23:54 -07:00
1713c978c3 libsysprof-gtk: add cpu frequency rows 2023-06-30 12:44:15 -07:00
38e72a0147 libsysprof-gtk: ignore range when range is set manually 2023-06-30 12:44:04 -07:00