7a8f1d9d2e
flatpak: add stubs to extra flatpak cgroup information
...
The goal here is to discover the app and runtime paths so that we can
create a path mapping when resolving addresses.
2021-02-25 12:15:15 -08:00
9e823c57ce
elf: use discovered root when decoding symbols
2021-02-24 19:05:43 -08:00
bd8a8ada26
elf: track pid root when building lookaside buffers
...
We want to know the location of our root if it was specified in the
capture file. Such is useful for decoding symbols that may not be
reported right from perf tooling.
This allows us to try to translate maps for processes in containers.
2021-02-24 18:59:35 -08:00
b22899474d
proc: discover filesystem root for podman containers
...
For processes we find in a podman container, we can sniff the libpod
cgroup scope. Using that we can translate into the podman layer that
contains the files.
With that, future work could find the proper .so when resolving based on
alternate roots for the process.
2021-02-24 18:40:41 -08:00
b5790be7ad
helpers: add ability to read /proc/$pid/cgroup file
2021-02-24 17:57:03 -08:00
4758fb42ce
capture: add pid-root frame type
...
While I'm not thrilled to add new frame types for every sort of thing, I
think having this will be relatively useful so we can improve decoding
operations.
This adds SysprofCapturePidRoot which lets us specify a root directory
on the host system for which is the real root (/) of the PID. This can
be useful when reconstructing overlays for containers and you need to
direct access to alternate roots.
The layer gives us some ability to try to deal with overlayfs, albeit at
a very rudimentary level. In most cases I anticipate we just deal with
the main root and ignore overlays until necessary.
2021-02-24 17:56:37 -08:00
ff22417de9
build: add missing 3.40 version macros
2021-02-24 17:41:20 -08:00
afafeacc70
tests: avoid use of file that changes in test case
...
It turns out that /proc/cpuinfo changes out from under us rather frequently
and that makes it a bad use-case for a unit test. This uses meson.build
which presumably wont change while running the tests.
2021-02-24 17:41:09 -08:00
937e162472
tests: fix environment for running tests
...
These should not be in quotes so that we can build actual file paths
from them.
2021-02-24 17:39:35 -08:00
e7d1458428
sysprof: shorten default height of window
2021-02-24 14:20:23 -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
61934a1c02
libsysprof: make perf_event_paranoid failure softer
...
We can survive this being at 2, but we can keep it a debug info bit for
now to be less annoying on the console.
2021-02-24 14:03:51 -08:00
143554c68e
profiler: preroll authorization before starting
...
This helps some annoying cases where we keep checking over and over for
each CPU, procfile, etc during startup.
It makes the tool less useful on systems without D-Bus, but let's be
honest, profiling is a Linux only game for Sysprof.
2021-02-24 14:01:01 -08:00
4777e74862
sysprofd: ftruncate() when overwriting files
...
This is really only used for proc like files which are generally a single
page, but might as well start from zero.
2021-02-24 13:03:24 -08:00
86fb061899
governor: always disable paranoid status
...
This allows us to always attempt to disable the perf_event_paranoid
setting to -1 while we profile.
2021-02-24 12:19:36 -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
7ca4acc30d
sysprof-cli: always create governor source
...
But also disable it unless we're on Linux.
2021-02-24 11:59:34 -08:00
53d3c0afc9
governor: default to not disabling governor
2021-02-24 11:58:40 -08:00
52e04cf346
governor: disable paranoid setting in governor source
...
This could be it's own source, but it's nice to have it in one place
with our performance tooling.
2021-02-24 11:56:22 -08:00
0abba0949d
libsysprof: add client access to paranoid API
2021-02-24 11:54:19 -08:00
5a82ce21f2
libsysprof: fix typos
2021-02-24 11:34:01 -08:00
667180cbc8
sysprofd: add API to set perf_event_paranoid
...
This will allow us to get more information on demand when running the
profiler without endless tweaking by end users.
2021-02-24 11:26:10 -08:00
adf8a3cd6a
version: relicense with the rest of sysprof-capture
2021-02-24 09:39:01 -08:00
902397917b
release 3.39.92
2021-02-23 15:52:36 -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
f59a0db3dc
update copyright
2021-02-23 15:40:42 -08:00
4d332dc68a
about: add symbolic information to release
2021-02-23 15:40:32 -08:00
b77523eb3d
use g_memdup2()
2021-02-23 15:39:25 -08:00
843585e00d
cursor: handle NULL readers gracefully
...
Fixes #55
2021-02-23 15:33:51 -08:00
f41212680a
podman: add various possible debug dirs
2021-02-19 16:58:58 -08:00
77a340e3f6
build: use specify pic for static libsysprof-capture
2021-02-19 09:37:24 -08:00
cf4c5ac28c
Update German translation
2021-02-16 17:06:04 +00:00
da5a5afaac
Update Friulian translation
2021-01-23 08:45:21 +00:00
665945721a
Update Serbian translation
2021-01-19 10:44:11 +00:00
29bb63cbb7
Update Serbian translation
...
(cherry picked from commit 4d183be85b7a09680c1af8369d209a3bcb1f5f66)
2021-01-16 06:27:56 +00:00
14ae3e7c77
Release 40.alpha1 (3.39.90)
2021-01-14 15:39:08 -08:00
23e1652989
Merge branch 'master' into 'master'
...
meson.build: fix build without stack-protector
See merge request GNOME/sysprof!42
2020-11-25 16:58:59 +00:00
b8ac99dd48
meson.build: fix build without stack-protector
...
Check for -fstack-protector-strong availability through
has_link_argument as some compilers could missed the needed library
(-lssp or -lssp_nonshared) at linking step resulting in a build failure.
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com >
2020-11-25 08:25:22 +01:00
948c21647b
Merge branch 'master' into 'master'
...
src/libsysprof/elfparser.h: define NT_GNU_BUILD_ID
See merge request GNOME/sysprof!41
2020-11-24 19:40:33 +00:00
17b09387ee
src/libsysprof/elfparser.h: define NT_GNU_BUILD_ID
...
On uclibc elf.h does not have GNU extentions but we need this define
so we define it locally if its not getting it from elf.h
It should be noted that uclibc-ng defines NT_GNU_BUILD_ID since its
version 1.0.28 and
df350133f2
As a result, this patch is still needed with uclibc-ng < 1.0.28
Signed-off-by: Khem Raj <raj.khem@gmail.com >
[Retrieved (and slightly updated) from:
https://git.buildroot.net/buildroot/tree/package/sysprof/0001-define-NT_GNU_BUILD_ID.patch ]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com >
2020-11-24 20:26:31 +01:00
bd73d534d0
tools: feature test various sources behind __linux__
2020-11-16 14:58:09 -08:00
c570f9650e
kernel: fix use of address array
2020-11-16 14:57:38 -08:00
04eacbcfe2
build: make polkit optional again for sysprof-cli
2020-11-16 14:57:04 -08:00
6e4413d3aa
binfile: fix warning on non-Linux platforms
2020-11-16 14:17:09 -08:00
a8f61d013b
libsysprof: use private helper for getpagesize()
2020-11-16 14:14:16 -08:00
b8950c9409
platform: handle some differences on macOS
2020-11-16 14:13:50 -08:00
621fd70e81
build: avoid some compile checks on clang 12
2020-11-16 14:08:47 -08:00
f18fbe5ae8
build: various fixes for compiling on macOS
2020-11-16 14:01:02 -08:00
c82b0a1677
build: specify -D_DARWIN_C_SOURCE on darwin
...
Needed for access to things like RTLD_NEXT
2020-11-16 13:58:42 -08:00
9e78f7f877
Merge branch 'typedef-redefinition' into 'master'
...
libsysprof-capture: Drop duplicate struct typedefs
See merge request GNOME/sysprof!40
2020-11-16 15:56:43 +00:00