Commit Graph

3170 Commits

Author SHA1 Message Date
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
a880d02a84 libsysprof-analyze: remove debug code 2023-06-27 12:37:23 -07:00
92261dfc17 libsysprof-gtk: give access to normalized model
This can be handy from the inspector so you can inspect the normalized
values for the charts.
2023-06-27 12:33:50 -07:00
4eff7f6fa3 libsysprof-gtk: fix items-change emission for model changes 2023-06-27 12:33:26 -07:00
886ff654a1 libsysprof-analyze: calculate counter range after adding values
Otherwise we are just calculating a null set.
2023-06-27 12:19:56 -07:00
22826dfff1 libsysprof-gtk: start binding session data to listview rows 2023-06-27 10:59:12 -07:00
514f913f40 libsysprof-gtk: use 0 instead of -inf/inf 2023-06-27 10:59:00 -07:00
33b5c53a98 libsysprof-gtk: add session model/item
This makes it easy to get a session instance from inside a .ui file for
binding into listview rows.
2023-06-27 10:58:42 -07:00
696205aaf2 libsysprof-gtk: get expressions for x/y of counter values 2023-06-26 18:14:25 -07:00
b022b1537e libsysprof-gtk: start on charts of counters 2023-06-26 18:10:21 -07:00
6e08309881 libsysprof-analyze: fix pre-calculation 2023-06-26 18:08:37 -07:00
db0d5cce91 libsysprof-analyze: add counters property 2023-06-26 17:52:36 -07:00
d386f13051 libsysprof-analyze: pre-calculate ranges for counters 2023-06-26 17:52:27 -07:00
15dcbbc948 libsysprof-gtk: reinit after removing item from set
Otherwise we risk accessing bits inside the structure that were freed.
2023-06-26 17:43:28 -07:00
40b4ff4a36 libsysprof-gtk: exit when window is closed 2023-06-26 17:00:52 -07:00
3d57fd931e libsysprof-gtk: more defense from disposal 2023-06-26 16:58:45 -07:00
38dd294a75 libsysprof-gtk: set some default colors 2023-06-26 16:48:01 -07:00
2b96da9567 libsysprof-analyze: add property for mark end time 2023-06-26 16:46:18 -07:00
c40338bb0f libsysprof-gtk: add some missing header includes 2023-06-26 16:42:04 -07:00
3e952c0a96 libsysprof-gtk: use .ui file for test
This will allow us to iterate a bit more easier.
2023-06-26 16:40:24 -07:00
282e305c5d libsysprof-gtk: set proper object parent type 2023-06-26 16:39:57 -07:00
453882a39a libsysprof-analyze: expose properties for some data 2023-06-26 16:39:43 -07:00
6a3ae18165 libsysprof-gtk: measure layers from chart 2023-06-26 15:33:03 -07:00
a3912b27e3 libsysprof-gtk: port mark-chart to use Chart and Series 2023-06-26 15:32:54 -07:00
045877dabc libsysprof-gtk: handle dispose more gracefully 2023-06-26 15:32:31 -07:00
cf1b0c9604 libsysprof-gtk: make chaining up work w/o checking for NULL 2023-06-26 15:32:16 -07:00
9e61191d0d libsysprof-gtk: give session a visible/selected time axis
This makes it easier to bind to various charts and have them auto-update
when the axis changes.
2023-06-26 15:32:05 -07:00
f8223b1d9a libsysprof-gtk: make time series work with expressions 2023-06-26 15:31:40 -07:00
df065e81bb libsysprof-gtk: get Axis working 2023-06-26 15:31:24 -07:00
f0e556c910 libsysprof-gtk: use SysprofNormalizedSeries for time span layer 2023-06-26 14:20:05 -07:00
718867614a libsysprof-gtk: make column layer a SysprofXYLayer 2023-06-26 14:19:11 -07:00
6adda64123 libsysprof-gtk: add xy layer to allow some code deduplication
We can also port ColumnLayer to use this.
2023-06-26 12:24:31 -07:00
7493da1b42 libsysprof-gtk: start porting column layer to normalized series 2023-06-23 22:28:10 -07:00
e254fcdffb libsysprof-gtk: add getter for values array 2023-06-23 22:28:10 -07:00
a75e8f1dae libsysprof-gtk: add new SysprofTimeSeries
This is to replace what is in libsysprof-analyze currently, so we can do
charting in a more flexible manner.
2023-06-23 22:28:10 -07:00
5c2f4dc0a9 libsysprof-analyze: remove old series implementations 2023-06-23 22:28:10 -07:00