Commit Graph

21 Commits

Author SHA1 Message Date
feccf5fbeb css: fix object select image styling for profiler assistant
Fixes #79
2022-07-22 13:30:43 -07:00
3002640c50 build: use app-id to determine installed icon
This means we don't install org.gnome.Sysprof.svg anymore when building
with -Ddevelopment=true (and vice versa). We do use org.gnome.Sysprof.svg
from libsysprof-ui, but that embeds the appropriate resources.
2022-07-22 13:13:59 -07:00
917fab35e7 libsysprof-ui: remove unused ui file 2022-04-01 13:15:49 -07:00
33c81a3a9c memprof: add memory profiling using LD_PRELOAD
This brings over some of the techniques from the old memprof design.
Sysprof and memprof shared a lot of code, so it is pretty natural to
bring back the same callgraph view based on memory allocations.

This reuses the StackStash just like it did in memprof. While it
would be nice to reuse some existing tools out there, the fit of
memprof with sysprof is so naturally aligned, it's not really a
big deal to bring back the LD_PRELOAD. The value really comes
from seeing all this stuff together instead of multiple apps.

There are plenty of things we can implement on top of this that
we are not doing yet such as temporary allocations, cross-thread
frees, graphing the heap, and graphing differences between the
heap at to points in time. I'd like all of these things, given
enough time to make them useful.

This is still a bit slow though due to the global lock we take
to access the writer. To improve the speed here we need to get
rid of that lock and head towards a design that allows a thread
to request a new writer from Sysprof and save it in TLS (to be
destroyed when the thread exits).
2020-02-07 19:00:33 -08:00
e8528609ec libsysprof-ui: land new UI design
This comprises a massive rewrite of the UI for browsing captures. We use
the SysprofAid class to scan capture files for content and then auto-
matically add visualizers and details pages.

To avoid breaking things incrementally, we just land this as a very large
commit. Not necessarily ideal, but given the amount of stuff that could
break, this is easier.

As part of this process, we're removing a lot of the surface API so that
we can limit how much we need to maintain in terms of ABI.
2019-06-24 20:52:40 -07:00
8f12ef3c09 build: move .ui files out of ui subdirectory
This has mostly just been annoying, so move them.
2019-06-24 17:09:10 -07:00
d81890d950 libsysprof-ui: remove profiler menu button 2019-06-04 14:41:14 -07:00
5f3a9c0a72 libsysprof-ui: add log view 2019-05-29 15:13:01 -07:00
bfe72c1d77 libsysprof-ui: add simplified time label
This handles the resizing of the numbers better to avoid jitter of the
positioning.
2019-05-29 15:13:01 -07:00
2c85331c9a libsysprof-ui: add fallback icon location 2019-05-29 15:13:00 -07:00
65f1a8d5a0 libsysprof-ui: start on data collection icons 2019-05-29 15:13:00 -07:00
597d757bf8 libsysprof-ui: style environment editor 2019-05-29 15:13:00 -07:00
91a5bbaeee libsysprof-ui: start on launch UI 2019-05-29 15:13:00 -07:00
11712643b9 libsysprof-ui: start on profiler assistant 2019-05-29 15:13:00 -07:00
691a1bc2b0 libsysprof-ui: start on new tabbed design 2019-05-29 15:13:00 -07:00
de06c0da45 libsysprof-ui: start on details view 2019-05-29 15:13:00 -07:00
300461ab5d libsysprof-ui: start on capture view
This widget is going to allow us to remove most of SysprofWindow into a
reusable widget tos hare with Builder.
2019-05-29 15:13:00 -07:00
3c644c245d libsysprof-ui: stub out marks view 2019-05-29 15:13:00 -07:00
b88a54353c libsysprof-ui: use stripblanks 2019-05-29 15:13:00 -07:00
219b48f668 ui: fix various css/ui includes 2019-05-29 15:12:59 -07:00
1708ad1b48 tree: start on massive tree refactor
The big thing going on here is that we are going to split up the libraries
a bit better, and remove GObject from the capture library. The libsysprof
library will bring in the capture library statically, so we can export the
symbols we want.

Eventually, we will bump the version to sysprof-3, but not yet.
2019-05-29 15:12:59 -07:00