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
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