Commit Graph

3250 Commits

Author SHA1 Message Date
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
14e6952726 libsysprof-profile: clamp to range 2023-06-30 12:43:31 -07:00
dfcba71fd7 libsysprof-gtk: remove alpha for diamonds
Not worth it for so little alpha.
2023-06-30 12:15:25 -07:00
7c50708c0c libsysprof-gtk: tweak coloring for mark view 2023-06-30 12:14:03 -07:00
22ea27ca7a libsysprof-gtk: ignore informative area of listview 2023-06-30 11:48:13 -07:00
0334c4768d libsysprof-gtk: add example for drawing position line 2023-06-30 10:54:19 -07:00
ef5923eb08 libsysprof-gtk: add section for GTK FPS 2023-06-29 17:41:00 -07:00
b124c8a013 libsysprof-gtk: add marks details from catalog as rows 2023-06-29 17:34:00 -07:00
02f74a2263 libsysprof-gtk: add entries for coalesced marks by group 2023-06-29 17:21:10 -07:00
b96b26ace1 libsysprof-gtk: setup some more counter charts 2023-06-29 17:00:19 -07:00
d72e796c91 libsysprof-gtk: use signals to create charts
This allows us to keep the final type for tracks like I want and instead
move various logic into signal handlers which are kept within the same
source file for discovery.
2023-06-29 16:24:33 -07:00
af985b6ac1 libsysprof-gtk: transfer ownership of model to series 2023-06-29 15:15:40 -07:00
334d75a4d2 libsysprof-gtk: discover subcounters for CPU usage 2023-06-29 15:12:34 -07:00
8373314bf3 libsysprof-gtk: setup some default styling for tracks 2023-06-29 15:11:42 -07:00
58853a85bb libsysprof-gtk: bridge subtracks to GtkTreeListModel 2023-06-29 15:11:29 -07:00
2f25fd31fe libsysprof-gtk: return NULL unless subtracks are non-empty
These don't really change at runtime, so we can employ this to bridge
things to GtkTreeListModel well.
2023-06-29 15:11:02 -07:00
b340371055 libsysprof-gtk: fill spline by default 2023-06-29 15:10:18 -07:00
bc63f3f463 libsysprof-gtk: improve alignment for lines 2023-06-29 15:10:05 -07:00
4d553ec88e libsysprof-profile: more CPU data points
2x per second just isn't enough data points for useful graphs. Ideally we
will make this tunable by the instrument, but not for now.
2023-06-29 14:20:02 -07:00
22cee18f61 libsysprof-gtk: dont transfer ownership of borrowed axis 2023-06-29 14:17:47 -07:00
57e702b139 libsysprof-gtk: start on counter track ideas 2023-06-29 14:15:26 -07:00
0004d0bffa libsysprof-gtk: allow line layer to draw over edge
This is needed to avoid clippin when the line reaches the top. It's easier
to just allow it to draw to the edge than to create alternative ways of
adjusting height/width for the chart itself.
2023-06-29 14:15:09 -07:00
2147254127 libsysprof-gtk: add missing autoptr cleanup 2023-06-29 14:14:20 -07:00