Commit Graph

3205 Commits

Author SHA1 Message Date
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
5220c6bc21 libsysprof-analyze: add getters for min/max value 2023-06-29 14:14:05 -07:00
821bfc9bdf libsysprof-gtk: make track subclassable
The goal here is that we can move a bunch of the machinery to create
charts into subclasses rather than one sort of annoying convoluted layer.
2023-06-29 12:23:34 -07:00
6e476b683a libsysprof-gtk: allow finding matching sub-tracks by counter 2023-06-29 11:02:35 -07:00
4e794328ea libsysprof-gtk: allow tracks to have subtracks 2023-06-29 10:40:58 -07:00
dee9d93ec3 libsysprof-gtk: break track discover out into seperate module
This stuff can eventually get pretty hairy, so keep it contained and away
from the rest of the session so it may stay tidy.
2023-06-29 10:40:45 -07:00
756e647e21 libsysprof-analyze: add sysprof_document_find_counter()
This allows finding a specific counter without having to traverse them
all from consumer code.
2023-06-29 10:36:40 -07:00
436a03a0f5 libsysprof-gtk: setup tracks layout a bit more 2023-06-28 16:53:52 -07:00
300a238ebb libsysprof-gtk: start on track discovery 2023-06-28 16:53:39 -07:00
255db785ad libsysprof-gtk: setup tree list for tracks view
We want tracks to have subtracks (such as a total-CPU graph track being
able to expand to show individual CPU graphs).
2023-06-28 15:14:09 -07:00
f416471f3f libsysprof-gtk: add tracks model to session
The goal here is for the session to decode information from the document
and then determine what tracks can be displayed. This is what an "aid"
used to do in libsysprof-ui. I think we can just centralize it now that
we have a lot more abstractions in SysprofDocument.
2023-06-28 15:13:28 -07:00
5d2b1c06a6 libsysprof-gtk: start on SysprofTracksView
This is eventually going to contain the list of tracks we have at the
top of the analysis view.
2023-06-28 14:53:52 -07:00
d148357953 libsysprof-gtk: use css for undershoot 2023-06-28 13:00:51 -07:00
1b8f1035ec libsysprof-gtk: soften line marks 2023-06-28 12:53:19 -07:00
19d6347ff3 libsysprof-gtk: add antialias option 2023-06-28 12:50:49 -07:00
712013a91a libsysprof-gtk: move flip-y to SysprofXYLayer
So that we can use it to perform value coordinate flipping on multiple
charts and graphs.
2023-06-28 12:36:05 -07:00
dc3d237edb libsysprof-gtk: allow inverting values in normalized series 2023-06-28 12:35:16 -07:00
6d9baa0118 libsysprof-gtk: cleanup some flipped-y situations
Alternatively, we should probably fix this in the normalization layer since
that will allow us to treat everything uniformally.
2023-06-28 11:19:59 -07:00
71c0c20834 libsysprof-gtk: basic hover support for line layer 2023-06-28 11:16:59 -07:00
c1375fa10f libsysprof-gtk: use box for side charts 2023-06-28 10:43:19 -07:00
ff42362c0a libsysprof-gtk: reimplement hover interaction for column layer 2023-06-28 10:43:08 -07:00
95d67a63d1 libsysprof-gtk: clear position ruler when leaving widget 2023-06-28 09:23:02 -07:00
8ff5561f0f libsysprof-gtk: add some timeruler styling 2023-06-28 09:20:25 -07:00
23ce03500d libsysprof-gtk: ensure resources are pulled in for CSS 2023-06-28 09:20:13 -07:00
d0e75f11af libsysprof-gtk: draw motion indicator for selection 2023-06-27 17:59:22 -07:00
e33b56ebf1 libsysprof-gtk: use color from CSS 2023-06-27 17:52:53 -07:00
4d61d90b3a libsysprof-gtk: use toolbarview
Just so we can see how that will interact with other bits as we put
together the grabbing machinery.
2023-06-27 17:45:33 -07:00
af9288d3f7 libsysprof-gtk: start on a time ruler widget
This totally needs better logic to determine the groupings so that we
get something closer to ".5" rather than some fraction crap.
2023-06-27 17:45:09 -07:00
14608a073d libsysprof-gtk: add a duplex layer
So that we can do the sort of rows we currently have in stable.
2023-06-27 16:24:54 -07:00
c2d27ce85a libsysprof-gtk: ignore out-of-sequence data
We shouldn't be getting this here, but drop it if we do come across it so
that we don't screw up path drawing.
2023-06-27 15:52:54 -07:00
4efb0abbf8 libsysprof-analyze: give counter values access to type
Otherwise they won't know how to return the proper value to callers.
2023-06-27 15:52:51 -07:00
b5f3bd2b26 libsysprof-profiler: buffer controlfd data to intermediate memfd
This ensures that we don't clobber things by writing them without possible
translation. That is problematic when each controlfd process might have
it's own counter registration or JIT maps as they could collide with the
main writer's own state.

This fixes some situations where the counter data was coming in with
erroneous values.
2023-06-27 15:02:30 -07:00
fbebc31c05 libsysprof-gtk: make accent fg/bg color available internally
This does more work than it should have to since we are reading the color
repeatedly, but it's still better than the data being stored per-instance.
2023-06-27 15:01:02 -07:00
86bb52f56c libsysprof-profile: include gnome-shell data in test-profiler 2023-06-27 14:27:06 -07:00
e9a7a76fd4 libsysprof-gtk: use accent color by default 2023-06-27 14:26:27 -07:00
e15050b568 libsysprof-analyze: fix calculation of number of counters 2023-06-27 13:54:04 -07:00
d7584d1d86 libsysprof-profile: various cpu counter cleanups and fixes 2023-06-27 13:41:15 -07:00
ab12f6a18a tools: don't resolve unless requested
It can be way to slow to be useful for quick things.
2023-06-27 13:39:06 -07:00
30dc327f02 libsysprof-profile: remove use of g_alloca in recording fibers 2023-06-27 13:19:46 -07:00
4bb6b588bf libsysprof-profile: avoid alloca for counter state 2023-06-27 13:16:07 -07:00
7156c2141b libsysprof-gtk: add more drawing options for testing 2023-06-27 13:08:55 -07:00
cf7d9dc7a4 libsysprof-gtk: add pathological check for axis
That way we don't give values back that will not make any sense.
2023-06-27 13:08:45 -07:00
f803b5ea3d libsysprof-gtk: close path when doing fills 2023-06-27 13:00:45 -07:00
26346ec790 libsysprof-analyze: sort counter values by time 2023-06-27 13:00:33 -07:00
a801b9ebf9 libsysprof-gtk: use spline in test-charts 2023-06-27 12:37:38 -07:00
9f95794d8e libsysprof-gtk: rename use-curves to spline 2023-06-27 12:37:31 -07:00