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
51ce85b399
libsysprof-analyze: add scaffolding for listing marks by name/group
2023-06-15 09:36:18 -07:00
8558cd1b58
libsysprof-gtk: remove marktable stiple
...
This doesn't work when you have recycling rows because even/odd isn't
stable. Additionally, the hover highlight is generally enough to be able
to give yourself a guide to read across columns.
2023-06-14 22:38:42 -07:00
b0742d1368
libsysprof-gtk: tweak styling for marktable
2023-06-14 22:31:59 -07:00
11387e5a55
libsysprof-gtk: add scaffolding for chart widget
...
This doesn't yet render things, but it starts to get the plumbing in place
so that we can create a custom row type and then consume the marks
catalog from SysprofDocument eventually.
2023-06-14 22:23:18 -07:00
231535a396
libsysprof-analyze: add SysprofMarkCatalog
...
This will get used to group marks together by group->name->marks from
the SysprofDocument.
2023-06-14 22:22:34 -07:00
c8ac9fe984
libsysprof-gtk: fix usec/msec groupings
2023-06-14 17:29:18 -07:00
fb1a1b40ee
libsysprof-gtk: add sorting for remaining marks columns
2023-06-14 17:21:32 -07:00
344247bf80
libsysprof-gtk: setup default sort for start column
...
These may not be in order as sometimes threads record at different rates
as well as marks being tacked on at the end from a memfd.
2023-06-14 17:17:03 -07:00
944ed885a8
libsysprof-gtk: show column separators for mark table
2023-06-14 17:16:28 -07:00
e25e44b02a
libsysprof-gtk: set numeric for time labels
2023-06-14 17:16:11 -07:00
4551b7871c
libsysprof-gtk: set single-line-mode
2023-06-14 17:15:55 -07:00
45465f7d9a
libsysprof-gtk: add SysprofMarkTable
...
This is a raw view of the marks in a session which should help for just
finding the information you care about when the visual model is too
cumbersome or lacks searching capabilities.
2023-06-14 17:02:19 -07:00
be1d56f5db
libsysprof-gtk: add SysprofSession
...
This is meant to become our toplevel object controlling an analysis
session. We need it to know about any filters in place such as time
selections.
Callgraph needs to be updated to use this as well.
2023-06-14 17:01:31 -07:00
5135b404fb
libsysprof-gtk: add SysprofTimeLabel
...
This is useful for things that are durations or time offsets.
2023-06-14 16:59:53 -07:00
72be9f240f
libsysprof-analyze: add sysprof_document_list_marks()
2023-06-14 16:59:20 -07:00
d51d7c4773
libsysprof-analyze: add rsvg/gdk_pixbuf to modules
2023-06-14 15:38:48 -07:00
b6589e67cf
libsysprof-analyze: include threads in filtered descendants view
2023-06-14 15:26:56 -07:00
5b929b8d5d
libsysprof-analyze: add callgraph flags for thread-ids
...
This allows you to set a flag to show the thread id of what was recorded.
Use this to help disassociate similar threads in a process to figure out
which thread is consuming a majority of the Total time of that process.
2023-06-14 15:11:56 -07:00
54ecdc57cd
libsysprof-gtk: set descendants on function selection
2023-06-14 14:25:16 -07:00
e63c0b7c2e
libsysprof-analyze: fix descendants of process symbols
2023-06-14 14:25:01 -07:00
a296fa3eab
libsysprof-gtk: remove stack frame number
...
This just wastes space that could be useful for symbols.
2023-06-14 13:55:01 -07:00
93aadbc035
libsysprof-gtk: make list of traceables smaller
...
It's not that important, only that we can walk through them with the
keyboard in an easier fashion than say, GtkDropDown.
2023-06-14 13:54:41 -07:00
656f95f276
libsysprof-gtk: cleanup xml formatting with xmllint
2023-06-14 13:51:47 -07:00
8edab49028
libsysprof-gtk: add specialized symbol label for descendants
...
This allows us to provide a bit more context to things in the descendants
callgraph based on the symbol. Context switches get specialized highlight
as well as All Processes and Processes nodes.
2023-06-14 12:09:27 -07:00
2a65bf30af
libsysprof-analyze: add symbol kind property for symbols
...
Additionally, add the pid as the binary nick for processes so that we can
show them in the callgraph with the process name.
2023-06-14 12:08:23 -07:00
21766d275c
libsysprof-gtk: shrink callgraph indent after 20
2023-06-13 17:22:59 -07:00
819b6c5a72
libsysprof-gtk: set callgraphview css name
2023-06-13 17:22:40 -07:00
2034811ec7
libsysprof-gtk: give some space for symbols in descendants
2023-06-13 17:04:56 -07:00
8bd585d37b
libsysprof-gtk: select function from traceable
2023-06-13 17:00:05 -07:00
6d5d5db8bb
libsysprof-gtk: use libpanel for PanelPaned
...
This responds to expand a bit more like we want.
2023-06-13 14:09:33 -07:00
1e2081f681
libsysprof-gtk: simplify time to string output
2023-06-13 13:53:59 -07:00