Commit Graph

440 Commits

Author SHA1 Message Date
3b2c111598 visualizergroupheader: dedazzle 2022-04-01 13:14:51 -07:00
4e8b2ce9c5 sysprof-ui: remove dazzle header 2022-04-01 13:14:51 -07:00
24c1cfe5bf memprofpage: remove dazzle usage
We will need to use some replacements in GTK 4 though.
2022-04-01 13:14:51 -07:00
5a6e0a3594 marksaid: embed rgba shading code 2022-04-01 13:14:51 -07:00
99a4cd8309 css: remove dead CSS 2022-04-01 13:14:51 -07:00
07d2de5d3a cellrendererduration: inline rounded rectangle
We can just embed this instead of relying on dazzle, and inline it at
the same time.
2022-04-01 13:14:51 -07:00
fb16745723 visualizer: remove DzlBin usage
We can just use GtkBin for now, and in GTK 4 we'll switch to using
GtkWidget as the parent type. But this helps us progress on de-dazzling.
2022-04-01 13:14:51 -07:00
94d7e90206 display: use GtkPaned
We don't need MultiPaned here (other than it works nicer than GtkPaned).
We can move to PanelMultiPaned in the future if we need it.
2022-04-01 13:14:51 -07:00
f56c36b054 callgraphpage: remove dazzle for shortcuts
We can do this manually with a key controller.

In the future, we will do this with GTK 4's shortcut controller.
2022-04-01 13:14:51 -07:00
2888ae2ad8 visualizergroup: remove dazzle usage 2022-04-01 13:14:51 -07:00
d05f1cba57 Preload correct speedtrack lib in GUI
Signed-off-by: FeRD (Frank Dana) <ferdnyc@gmail.com>
2021-11-16 15:42:37 -05:00
7a040a6032 memprof: add section for allocation leaks
These are defined by allocation records that do not have a corresponding
release record.
2021-11-04 21:10:44 -07:00
66d412b235 display: show time in local time
Fixes #67
2021-10-28 19:01:18 -07:00
e02785ba23 start on new resolver for paths 2021-09-14 19:53:46 -07:00
d1a43dc4a8 libsysprof-ui: Fix a typo in a label 2021-03-08 15:27:27 -08:00
c93286cf9a libsysprof-ui: remove GTK aid
This isn't needed anymore now that we have the Control FD source which is
used to pass data between processes.
2021-02-24 14:20:17 -08:00
6d3398f258 libsysprof-ui: always setup governor source on Linux
We need this for disabling paranoid perf event.
2021-02-24 12:19:08 -08:00
3e1686a7f4 ui: tweak layout of recording button a bit
This makes things look a lot better on the initial display. If the window
is too large, the compositor can maximize it anyway.
2021-02-23 15:50:10 -08:00
b77523eb3d use g_memdup2() 2021-02-23 15:39:25 -08:00
f0303f4b68 meson: Fix pkgconfig generation
This fix error when gio is a subproject, when there is pc file
assotiated for objects in libraries_private meson automatically promote
them to requires.

Also remove some values that are already the default.
2020-10-01 10:15:38 -04:00
93a21a25ab format: improve string formatting for smaller timings 2020-09-30 12:29:07 -07:00
04b6fdfcbe libsysprof, libsysprof-ui: Generate pkg-config dependencies
Otherwise, using libsysprof-ui will usually fail because <dazzle.h>
is not added to the search path.

Resolves: https://gitlab.gnome.org/GNOME/sysprof/-/issues/49
Signed-off-by: Simon McVittie <smcv@debian.org>
2020-09-16 10:48:04 +01:00
68c50ba869 build: Pass libraries to pkgconfig.generate as a positional argument
This allows Meson to associate the pkg-config module with the "main"
library that it represents, in an unambiguous way.

Signed-off-by: Simon McVittie <smcv@debian.org>
2020-09-16 10:47:22 +01:00
620f1f0ff0 build: fix build warnigns with Clang 2020-08-14 12:57:50 -07:00
eae4eb4ad7 build: Drop redundant _GNU_SOURCE definitions
It’s defined in `meson.build` now. See the previous commit.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-07-06 11:27:28 +01:00
3c7b76c6ba build: Move Meson dependency() calls to where they’re used
This avoids making the project depend on all its dependencies, some of
which are optional, when being built as a Meson subproject.

Signed-off-by: Philip Withnall <withnall@endlessm.com>
2020-07-03 22:01:33 +01:00
97ddf5a0cc libsysprof: port UI to new ABI
Some minor changes were necessary so that we could change the ABI in
libsysprof-capture to be free from GLib (and therefore used by GLib).

This also adds some wrappers for capture API in libsysprof so that we
can continue to use GError from UI code.
2020-07-03 22:00:34 +01:00
51021ece1a libsysprof-ui: use "Recording" instead of "Capture" 2020-07-01 17:50:36 -07:00
03f32fe718 display: show message dialog when there is an error opening file
Fixes #42
2020-07-01 13:21:25 -07:00
9de1dd3ab5 libsysprof-ui: remove control source
This is already part of the local profiler.
2020-03-15 15:57:26 -07:00
259aa9ba93 libsysprof-ui: allow double click to select mark range 2020-03-13 17:00:17 -07:00
37afd71370 speedtrack: start on simple port of iobt as "speedtrack"
The long term goal here is to help people find issues with their main
loop performance because of mixed workloads getting in the way of
interactivity.
2020-03-13 15:51:33 -07:00
390c5cde18 libsysprof-ui: add access to control source from .ui 2020-03-13 15:19:06 -07:00
58b9bc9992 libsysprof-ui: fix minute value 2020-02-26 21:59:03 -08:00
0c698f2da1 libsysprof-ui: dont warn for not-supported error 2020-02-26 10:46:08 -08:00
9b52e88d3a libsysprof-ui: add label for number of allocations 2020-02-21 12:39:13 -08:00
f25c573ba6 libsysprof-ui: remove use of GAtomicRCBox
Switching this to use an embedded ref count allows us to backport to
operating systems restricted to GLib 2.56.
2020-02-20 11:02:49 -08:00
a62664f8e5 memprof: add allocation instead of self to clipboard 2020-02-19 20:12:02 -08:00
8e81b1fcf9 libsysprof: add summary information for memprof profile 2020-02-19 00:16:36 -08:00
6b1872a5ce libsysprof-ui: dont change pages if operation was cancelled 2020-02-18 21:03:12 -08:00
dd6b44cb2f libsysprof-ui: move controls above stack 2020-02-18 19:56:30 -08:00
16e35c1fa6 libsysprof-ui: allow switching to temporary allocations 2020-02-18 19:20:38 -08:00
d525f065f4 libsysprof-ui: add API to reload pages
This can be useful when the page is interactive and needs to reload.
2020-02-18 19:17:38 -08:00
059508d582 memprof: fix whitespace 2020-02-18 17:22:32 -08:00
77a13fe7f9 icons: provide helper icons
Fixes https://gitlab.gnome.org/GNOME/sysprof/issues/30
2020-02-18 12:05:55 +01:00
aca1a6a765 libsysprof-ui: check for valid frame type before incrementing 2020-02-13 14:32:34 -08: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
bae10987f0 libsysprof-ui: fix timing information for marks tooltips 2020-01-24 09:29:34 -08:00
94b0ecb758 display: provide recording time for display titles 2020-01-23 12:46:44 -08:00
460df56fa5 visualizers: clear selected row when showing details
The details don't correspond to any selected row, so clear the row when
we switch to the details page.
2020-01-23 12:36:04 -08:00