Commit Graph

3467 Commits

Author SHA1 Message Date
b5eec21fbc sysprof: start on CPU section 2023-07-14 17:16:51 -07:00
fa7a4d5c75 sysprof: allow adding chart items from API 2023-07-14 17:09:33 -07:00
c7e1d862ac sysprof: add vfunc for when session is set 2023-07-14 17:09:23 -07:00
ea7fe3c55f libsysprof-gtk: add missing unref func 2023-07-14 17:09:12 -07:00
5e958d9026 libsysprof-gtk: filter items using expression for time
That way we don't require a DocumentFrame.
2023-07-14 17:09:07 -07:00
7b3b37c28e libsysprof-analyze: add key property to counters
this can be handy for filtering.
2023-07-14 16:26:53 -07:00
71fdc220dc libsysprof-gtk: root with symbol when activated 2023-07-14 15:47:50 -07:00
787d02353e sysprof: add indicator to allocations section 2023-07-14 15:18:39 -07:00
83681b2ee3 sysprof: use NULL when n-items is 0 2023-07-14 15:18:28 -07:00
d5cfd4866e sysprof: add sample count as indicator 2023-07-14 15:15:23 -07:00
0afc861b16 libsysprof-gtk: more subtle indicator style 2023-07-14 15:15:03 -07:00
2146e16931 sysprof: add indicators to various sections
This helps seeing at a glance if a recording when a bit sideways.
2023-07-14 15:09:13 -07:00
7ff844d4ec libsysprof-analyze: add bitset index n-items property 2023-07-14 15:07:17 -07:00
866b693ef1 libsysprof-gtk: fix styling of progress cell with backdrop 2023-07-14 14:41:04 -07:00
9e40096675 sysprof: tweak waterfall icon 2023-07-14 14:12:16 -07:00
d5320065c6 sysprof: add a waterfall to the marks section 2023-07-14 13:11:48 -07:00
1ad6f66b9e libsysprof-gtk: improve session model robustness
Handle items-changed, ensure we calculate items-changed at setup time
correctly when late binding is in use.
2023-07-14 13:11:48 -07:00
15df36f6c2 libsysprof-analyze: add tooltip helpers to data models 2023-07-14 13:11:48 -07:00
6afce43cc5 sysprof: remove separator 2023-07-14 11:35:39 -07:00
c81e832a5a sysprof: stub out counters section 2023-07-14 11:29:50 -07:00
668249a015 sysprof: binary search for filtered time range in marks scrubber 2023-07-14 09:58:29 -07:00
791beff1ab libsysprof-gtk: don't zoom on zero-sized marks 2023-07-14 09:55:07 -07:00
6f76432a17 sysprof: add support for bottom up stack traces
Keep the "All Processes" and "Process N" nodes, but reverse the stack
trace after that point.
2023-07-13 21:23:21 -07:00
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