c059689da1
sysprof: add cpu/pid to log rows
...
And drop the details section, it's not really helpful here.
2023-07-13 20:31:52 -07:00
4c4caf420a
sysprof: make enter work after selection
...
By just focusing the zoom button.
2023-07-13 20:26:03 -07:00
1eed5a974f
libsysprof-gtk: use TimeFilterModel to speed up filter
...
We are only filtering currently by the time span, so just filter using the
actual timespan filter which can binary search the sorted sets.
2023-07-13 20:19:43 -07:00
e010980a1b
libsysprof-gtk: move timefiltermodel
...
This will all get joined together anyway, but for now.
2023-07-13 20:19:14 -07:00
be47b171e7
window: add seek buttons
...
These sort of go hand in hand with zoom, since it lets you page around
the data using the keyboard moving by visible range to the prev/next page.
2023-07-13 20:11:13 -07:00
986e04c7eb
sysprof: setup keybindings for zoom
2023-07-13 19:58:39 -07:00
80751d3ab1
sysprof: add tooltips for zoom
2023-07-13 19:58:30 -07:00
53e69fceaf
sysprof: add zoom controls
...
And update them when the visible range changes.
2023-07-13 19:52:50 -07:00
f53dda088b
libsysprof-gtk: handle eronious ranges better
2023-07-13 19:52:31 -07:00
a8257dbe81
libsysprof-gtk: include CPU in marks table
...
This can be useful when debugging things, so long as the app actually
used the active CPU.
2023-07-13 18:05:18 -07:00
8640a61667
sysprof: jump to log entry from selection in scrubber
2023-07-13 18:02:37 -07:00
d649d42aed
libsysprof-analyze: add equality function
...
This is helpful to see if two frames are the same underlying data frame.
2023-07-13 18:02:21 -07:00
1786df875e
window: disable sidebar button when not available
2023-07-13 17:47:53 -07:00
2c8bae5a7f
sysprof: add stack trace view to allocation section
2023-07-13 17:45:18 -07:00
69120dadc8
sysprof: add CPU column for traceables list
2023-07-13 17:42:03 -07:00
d837a7df1e
sysprof: show frame data for log entry
2023-07-13 17:41:51 -07:00
c34bc51f3f
sysprof: add simple utility for frame data
2023-07-13 17:41:40 -07:00
36414c8ec3
libsysprof-analyze: add some helper names to frames
2023-07-13 17:41:20 -07:00
7bc828035c
libsysprof-gtk: update time selection on double click
...
Double click an entry in the mark chart to have that set as the time
duration for the view.
2023-07-13 16:59:55 -07:00
882755f267
sysprof: improve placement of informative
2023-07-13 16:26:54 -07:00
cea61c0868
libsysprof-gtk: continue to improve time labels
2023-07-13 16:10:02 -07:00
fb6685e841
sysprof: add scrubber for memory section
2023-07-13 15:53:38 -07:00
e6a6f76681
libsysprof-gtk: more tick placement improvements
...
Make this a bit better when visible_time != document_time.
2023-07-13 15:53:22 -07:00
7ea03a3969
libsysprof-gtk: improve ruler point placement
...
This makes it so we generate better labels and position them at better
(more useful) points in time relative to the document start.
2023-07-13 15:31:43 -07:00
e55d74d80c
libsysprof-gtk: give session a copy of document time
...
This way we don't have to constantly route through the document for it to
determine relative axis information.
2023-07-13 14:55:00 -07:00
30177af92c
sysprof: fix gte boundary for binary search to slice
2023-07-13 14:40:42 -07:00
0bc18816d8
libsysprof-analyze: remove 32-bit time_offset optimization
...
This simply isn't worth the memory saves for the loss of precision. Just
use a 64-bit and store the actual time offset.
2023-07-13 14:36:40 -07:00
ace5716562
sysprof: filter logs by selected time
2023-07-13 13:14:07 -07:00
df5c1b7020
sysprof: add time scrubber to logs section
2023-07-13 13:00:13 -07:00
fb1c65af5c
libsysprof-gtk: describe log messages
2023-07-13 12:59:40 -07:00
730f8f4d66
sysprof: filter the callgraph by the selected time span
...
This ensures the callgraph code has fewer items to look at. The first level
of filtering is done by the SysprofDocument bitset index for items
matching the type (via SysprofDocumentBitsetIndex). Then the new
SysprofTimeFilterModel filters the frames by time-span by binary searching
for the first and last indexes which match that time span, avoiding the
pathological case of linear search for the spans (which would inflate a
GObject for every element).
2023-07-13 11:16:14 -07:00
f147cc6be0
libsysprof-gtk: invalidate callgraph when traceables change
...
If we get an items-changed event for the callgraph traceables, we need to
regenerate the callgraph. Queue a reload under such a situation.
2023-07-13 11:14:30 -07:00
72cf6ff3a5
sysprof: filter sample graph by visible time range
...
This allows it to avoid a bunch of work when you've dived down into a
section of visible time, as fewer nodes need to be looked at.
2023-07-13 11:06:13 -07:00
b9f7ecd945
sysprof: add SysprofTimeFilterModel
...
This is a model that expects the set to be in sorted order by time, and
requires that the items are a SysprofDocumentFrame. If that holds true,
it can binary search to find the correct frames based on a requested
time-span that is inclusive only of matching frames.
This is useful to dive down into data based on either the visible or
selected time span of a session without having to expensive GtkFilter
operations (which would look at every object in the set).
2023-07-13 11:05:22 -07:00
f39723c2e6
libsysprof-analyze: add equal func for timespan
2023-07-13 11:04:01 -07:00
7c02b0f62c
libsysprof-analyze: include CPU core-id
2023-07-13 08:43:49 -07:00
0d5d30dd60
sysprof: connect session filter to traceables
2023-07-12 18:05:18 -07:00
af5e62a7ef
sysprof: add scrubber to marks page
2023-07-12 18:02:22 -07:00
52090e1f77
libsysprof-analyze: add marks property
2023-07-12 18:02:10 -07:00
31536573f4
sysprof: implement scrubbing for samples view
2023-07-12 17:53:55 -07:00
e9b0609033
sysprof: use visible range for chart
...
We don't want it to update based on selection since that should match
what is in the scrubber.
2023-07-12 17:53:40 -07:00
08cf2b1c17
libsysprof-gtk: allow null track
2023-07-12 17:53:23 -07:00
83e7579460
sysprof: start on SysprofTimeScrubber
...
This is going to be used to bring the whole tracksview thing we did before
and make the selections work directly on charts. We can probably use the
same thing w/ a GtkOverlay and custom positioning to replace the old
usage too.
2023-07-12 17:26:56 -07:00
03bc678daa
sysprof: add dialog to show CPU information
2023-07-12 16:45:42 -07:00
d0012dd3b1
sysprof: make the sidebar a bit nicer w/ traceables
2023-07-12 16:02:45 -07:00
f3418c42e9
sysprof: hide utility when there is no sidebar widget
2023-07-12 15:53:38 -07:00
ea8befb624
sysprof: move traceables utility into SyprofSamplesSection
...
This gets it out of the callgrpah view so that it can live in the sidebar
area of a AdwOverlayNavigationView.
We allow the utility area to control the entire view (including the
toolbarview) so that we don't have to bind extra properties for titles,
and other random things.
2023-07-12 15:48:28 -07:00
27f429d4f2
libsysprof-gtk: use models and databinding for traceables
...
This is just working towards less code and more bindings for various parts
of the traceables display (so we can move it out of this view).
2023-07-12 15:12:04 -07:00
a234cc2197
libsysprof-gtk: add SysprofCallgraphView:utillity-traceables
...
This property is meant to hold accessory traceables that match the current
selection in the callgraph view. Eventually we want this bridged with the
callgraph sections to show something useful.
2023-07-12 14:52:39 -07:00
0cccd844b0
sysprof: start on utility pane
2023-07-12 14:46:10 -07:00