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