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
4d86d8641a
libsysprof-analyze: cleanup kernel symbols
2023-06-20 11:03:31 -07:00
43ec0e48f5
libsysprof-gtk: start on some loading progress
2023-06-19 19:00:22 -07:00
9d6c60a0d6
libsysprof-gtk: add thread toggle for callgraph test
2023-06-18 14:05:44 -07:00
d4efcb04fa
libsysprof-gtk: add column for process id
...
I wish we had a thread-id for messages, but that would require changing
the capture format and/or add a new frame type.
2023-06-18 13:51:35 -07:00
1e3345ae42
libsysprof-gtk: select time range when activating mark w/ duration
2023-06-16 17:28:44 -07:00
01876ed3b9
libsysprof-gtk: always show time for start column
...
But allow hiding it for the duration column.
2023-06-16 17:21:28 -07:00
7f13f0e327
libsysprof-analyze: ignore end time from syscap header
...
We are already walking through all the frames so we can guess this better
than what is in the capture file. This helps ensure that loading older
captures still has the end clamped to the last event we'll see.
2023-06-16 17:08:21 -07:00
bbd832015e
libsysprof-gtk: start on chart + layers
...
The goal here is to be able to connect data series such as
SysprofTimeSeries or SysprofXYSeries to various chart layers. Those
chart layers get stacked in a SysprofChart.
Some glue code will be necessary to go from frames into data series but
we can experiment with how to automate that later on.
2023-06-16 17:00:31 -07:00
4e5e6be841
libsysprof-analyze: add API to read back the min/max ranges
2023-06-16 16:58:46 -07:00
06767c0a1d
libsysprof-analyze: add an XY series strucuture
...
This is meant to contain information about XY coordinates that we can
store in a normalized form. That allows them to be reused across different
scales without regenerating them.
It also includes a back-pointer to the model index so that we can pull out
the real object when necessary for drawing.
2023-06-16 16:16:44 -07:00
f53fb38d69
libsysprof-gtk: remove selections from mark chart
...
This doesn't benefit from a selection currently.
2023-06-16 15:56:02 -07:00
0f113eaad7
libsysprof-gtk: remove debug code
2023-06-16 15:54:00 -07:00
be36f36a0a
libsysprof-gtk: select mark time range on double click
2023-06-16 15:52:57 -07:00
ac9a95a92b
libsysprof-gtk: add sysprof_session_select_time()
...
This allows changing the time to a specific section within the document
time span.
It may also update the visible time to include the selected time.
2023-06-16 15:52:39 -07:00
dc4d15442f
libsysprof-gtk: allow last item to have text
2023-06-16 15:51:43 -07:00
81453a3ec7
libsysprof-gtk: fix notify of time selection
2023-06-16 15:51:33 -07:00
5c178d0672
libsysprof-gtk: janitorial cleanup
2023-06-16 15:18:28 -07:00
b66791fbcd
libsysprof-gtk: draw some information under the pointer
2023-06-16 15:17:30 -07:00
ca892b4f5f
libsysprof-gtk: tweak rendering to use CSS named colors
...
We still don't want to fully rely on the CSS machinery because that would
require widgets, which is far too heavy for the number of render nodes we
need to regularly draw.
2023-06-16 14:52:36 -07:00
906e81ec02
libsysprof-gtk: tweak row title alignment
2023-06-16 13:58:19 -07:00
5839d46694
libsysprof-gtk: draw diamonds above squares
2023-06-16 13:58:02 -07:00
266c15a4e1
libsysprof-gtk: fix duration render and cull text
...
We don't need to render text in most cases. Additionally, that requires
inflating a GObject to extract from the capture.
Instead, try to determine if we will even want to render the text before
causing any of that work to happen.
Also setup the pixel range for the layout so it may ellipsize as necessary.
2023-06-16 13:38:43 -07:00
10b2ecd299
libsysprof-analyze: remove pre-calculated time offsets
...
These are rather annoying because we want to avoid inflating the objects
in most cases anyway.
2023-06-16 13:10:41 -07:00
87e28a6062
libsysprof-gtk: use timeseries for rendering chart marks
...
This allows us to pre-calculate the values and re-use them, while also
allowing for us to avoid inflating GObject's for marks unless it becomes
necessary to access additional information.
2023-06-16 13:08:31 -07:00
d752e2eec2
libsysprof-analyze: add SysprofTimeSeries
...
This includes a helper to generate timeseries items such as marks which
have a point in time and optionally a duration.
The TimeSpan has also been beefed up to gain a few operations that are
useful for implementing that.
2023-06-16 13:07:40 -07:00
aa3aacc721
libsysprof-gtk: add intermediate chart item
...
This will give us a place to deal with filtering as well as caching
points based on the selected time range.
2023-06-16 10:54:43 -07:00
a3e08b441f
libsysprof-gtk: map in the mark chart item
...
This gets the auto-filtering into account, but we still need to get the
drawing of time ranges to use the proper timespan.
2023-06-15 17:49:32 -07:00
f2f47b12d7
libsysprof-gtk: make chart row use :model property
...
This will allow us to make a map model and then bind from that after
filtering based on selection.
2023-06-15 17:14:03 -07:00
5e18436a15
libsysprof-gtk: add SysprofMarkChartItem
...
The goal here is to use a map list model to convert to these and then to
use the session filter to apply the selection.
2023-06-15 17:08:38 -07:00
1a94b60fbf
libsysprof-analyze: only extend timespan for data types
2023-06-15 16:51:08 -07:00
b718e3ac9e
libsysprof-gtk: set session time range from document
...
This will eventually get updated as selections are made, and various other
components can adapt to that change.
2023-06-15 16:43:49 -07:00
d4da036f73
libsysprof-analyze: move timespan to analyze library
...
That way we can use it for the document itself, and have it update the
timespan of the recording in case it didn't get updated due to ctrl+c or
something prematurely stopping.
2023-06-15 16:43:17 -07:00
9eca425a25
libsysprof-gtk: add timespan to session
...
We want to be able to monitor this from session observers to be able to
update the visible area and/or what is rendered.
2023-06-15 16:32:12 -07:00
d458d312a3
libsysprof-gtk: start on a chart row
...
This is just playing around to get things to render. There is much to do
to ensure that we interact with this well (and cache some values for
faster generation on allocation changes).
2023-06-15 16:15:11 -07:00
6dcb5e5fdd
libsysprof-analyze: include time as fractions for marks
...
This allows more easily calculating the horizontal position of marks and
their duration from charts.
2023-06-15 16:14:32 -07:00
7568c31fcf
libsysprof-gtk: use listview instead of columnview
...
We don't really want the columnview headers at all, so just use listview
and we'll use our inscription to control the size of the name "column".
2023-06-15 13:28:03 -07:00
b572b7426e
libsysprof-analyze: pre-sort marks from hashtable
2023-06-15 13:27:27 -07:00
1455876835
libsysprof-analyze: make mark catalog work with sections
...
This allows us more flexibility with creating sections usin the flatten
list model as the rows need to contain the data for the headers.
2023-06-15 13:19:18 -07:00
2fb3815af3
libsysprof-gtk: tweak sizing and expansion
2023-06-15 12:45:54 -07:00
1a806d3106
libsysprof-analyze: ignore empty message rows
2023-06-15 12:39:21 -07:00
a25b7a8141
libsysprof-gtk: add columnview header-factory experiment
2023-06-15 12:34:49 -07:00
9a762fa1d4
libsysprof-analyze: add mark catalog kind
...
We can use this to separate catalogs for names vs groups when building
tree models of them.
2023-06-15 11:52:15 -07:00
8b4ab761ab
libsysprof-analyze: add mark information during index pass
2023-06-15 11:44:36 -07:00
80dac7c0cd
libsysprof-analyze: create mark catalogs from hashtable
...
We still need to insert these when parsing the mmap'd capture on the
first pass of data.
2023-06-15 10:35:16 -07:00