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
4282ff2b15
libsysprof-gtk: make xy series compile
...
We aren't using this, but this makes it fit the form of the rest of the
things in here.
2023-06-23 18:16:03 -07:00
808c633068
libsysprof-gtk: start on new XY series
...
This will extract the values using the expressions instead of manually
building series as we previously would need to do.
2023-06-23 18:05:02 -07:00
3cddf32eca
libsysprof-gtk: start on new axis/series design
...
This will mean we move series work from libsysprof-analyze into
libsysprof-gtk so we get access to things like GtkExpression.
2023-06-23 17:59:51 -07:00
73e2aec626
libsysprof-gtk: add chart layer for timespan drawing
...
This will allow us to drop the custom mark chart stuff and do this all more
generically using timeseries and charts. Long term, we'll probably want to
buy in on the expression stuff to get labels/etc as well as building the
series from another data source.
2023-06-23 10:45:00 -07:00
512dfae3e4
libsysprof-gtk: enable seperators for marks chart
...
It helps to read the rows a bit better.
2023-06-21 22:20:11 -07:00
13323c5e79
libsysprof-analyze: improve progress notifications
2023-06-21 22:06:42 -07:00
40778febae
libsysprof-gtk: reduce overhead of test charts
2023-06-20 19:20:03 -07:00
c3e95f5243
libsysprof-gtk: set css names for chart and layer
2023-06-20 19:19:48 -07:00
ece18d44e8
libsysprof-gtk: test charts with some random data
2023-06-20 17:19:11 -07:00
100b200995
libsysprof-analyze: allow series without a model
...
This can be useful when you want to generate some data for graphs.
2023-06-20 17:18:57 -07:00
b77247c40c
libsysprof-gtk: allow setting dashed lines
...
This is needed to make graphs like our previous cpu frequency graphs.
2023-06-20 17:18:32 -07:00
4191dc74b3
libsysprof-gtk: fix fill color
2023-06-20 17:18:13 -07:00
f71fbd9a31
libsysprof-gtk: allow filling a line chart
2023-06-20 16:58:17 -07:00
122c4906b8
libsysprof-gtk: add a split layer for top/bottom rows
...
This can be used to recreate our old duplex visualizer which draws in
opposite directions from a common middle Y point.
2023-06-20 16:39:30 -07:00
714a97e430
libsysprof-gtk: add missing export
2023-06-20 16:38:42 -07:00
1522a9f57f
libsysprof-gtk: allow flipping y-axis of line layer
...
This way it can be packed into a split layer to allow emulate our previous
duplex graphs.
2023-06-20 16:19:39 -07:00
5403f0335f
libsysprof-gtk: move some math to the GPU
...
We can at least do the subtraction on the GPU by setting up the
transformation instead of on every data point.
It would be nice to do the rect as well but it looks like we might get
culled do to the rect width.
2023-06-20 15:46:21 -07:00
985bd35221
libsysprof-gtk: add line layer which can line_to and curve_to
2023-06-20 15:35:25 -07:00
2a6d1a988c
libsysprof-gtk: redraw layer if properties change
2023-06-20 15:35:00 -07:00
982eee7f31
libsysprof-analyze: return NULL if series is empty
2023-06-20 15:34:43 -07:00
faf2303015
libsysprof-gtk: rename depth layer to column layer
...
I would like this to eventually be a bit more re-usable for XYSeries and
more than just "stack depth" for the traceables.
2023-06-20 14:30:03 -07:00
b40be19530
libsysprof-analyze: add test for symbol collision
2023-06-20 14:24:02 -07:00
07d08597ba
libsysprof-analyze: handle collision in symbol cache
...
If we have two nodes that collide for address space, we need to keep the
one we already have in the symbol cache. The other node cannot be cached
and will be dropped instead.
This fixes a leak when collisions occur.
2023-06-20 14:23:46 -07:00
1aafb143fd
libsysprof-analyze: clear stream on finalize
2023-06-20 14:22:51 -07:00
5787809f95
libsysprof-analyze: add simple strings test for asan
...
This just helps track down if there are any leaks via asan.
2023-06-20 13:49:49 -07:00
7595c611d7
libsysprof-analyze: remove unused function
...
No need for the "peek" variant, so just remove it.
2023-06-20 13:39:09 -07:00
c86a4e2f03
libsysprof-gtk: print layer item information when activated
2023-06-20 13:26:22 -07:00
50b9aa2567
libsysprof-gtk: allow chart to activate layer item on click
2023-06-20 13:26:07 -07:00
cf1b3ae16f
libsysprof-gtk: add vfunc to get a model item at x,y
2023-06-20 13:25:49 -07:00
85b233d0d8
libsysprof-gtk: fix getter for value
2023-06-20 13:25:26 -07:00
075c8e664d
libsysprof-gtk: break value at x,y coord into helper
2023-06-20 13:01:07 -07:00
b125f4e6e9
libsysprof-gtk: highlight item on motion
2023-06-20 12:46:15 -07:00
d68f2ff87a
libsysprof-gtk: add snapshot_motion to chart layer
...
This allows snapshoting the motion highlight separate from the rest of the
layer so that we can have better render tree diffs. Otherwise we risk
having to snapshot a large dataset from the chart layer itself rather than
just the hightlight areas that changed.
2023-06-20 12:45:43 -07:00
86f5fc6338
libsysprof-gtk: create depth chart for samples
2023-06-20 11:50:05 -07:00
0cdb97973a
libsysprof-gtk: implement some basic depth chart drawing
2023-06-20 11:49:53 -07:00
c2a8b04cf7
libsysprof-analyze: ignore inf/-inf values in xy series
2023-06-20 11:49:34 -07:00
d0d19cff39
libsysprof-analyze: use doubles for reference data
...
We only want to move to float for the internal 0..1 positions which are
used to draw to the screen (to reduce how much data we hold on to). But for
the data we need to calculate those 0..1 positions, we want better
precision for large numbers. Use double for all of those.
2023-06-20 11:49:22 -07:00
72d489f786
libsysprof-analyze: use weak backpointers for child listmodel
2023-06-20 11:26:10 -07:00
ab5c0c2bf7
libsysprof-analyze: don't leak subvolume mount option
2023-06-20 11:19:01 -07:00
e05dcdde03
libsysprof-gtk: start on test for charts
2023-06-20 11:10:43 -07:00
2a27bae70b
libsysprof-gtk: add session object to chart
2023-06-20 11:10:33 -07:00
23944627ea
libsysprof-gtk: be safer about multiple dispose calls
2023-06-20 11:09:59 -07:00
dcdc859759
libsysprof-gtk: add chart headers to toplevel header
2023-06-20 11:09:25 -07:00
92d3d5901d
libsysprof-gtk: janitorial cleanup
2023-06-20 11:09:05 -07:00
d7e889ebc8
libsysprof-gtk: ensure layer has allotment for private struct
2023-06-20 11:04:40 -07:00
3dfd5c0550
libsysprof-analyze: make error message better
2023-06-20 11:03:56 -07:00
29c72cf202
libsysprof-analyze: cleanup tid->symbol hashtable
2023-06-20 11:03:43 -07:00