Commit Graph

2157 Commits

Author SHA1 Message Date
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
8f8ce85327 libsysprof-capture: Drop duplicate struct typedefs
All three of these structs are already defined in
`sysprof-capture-types.h`, which is included from these three headers.

Drop the duplicate definition to silence the Clang warning:
```
In file included from /opt/gnome/install/include/sysprof-4/sysprof-capture.h:63:
/opt/gnome/install/include/sysprof-4/sysprof-capture-cursor.h:67:38: warning: redefinition of typedef 'SysprofCaptureCursor' is a C11 feature [-Wtypedef-redefinition]
typedef struct _SysprofCaptureCursor SysprofCaptureCursor;
                                     ^
/opt/gnome/install/include/sysprof-4/sysprof-capture-types.h:98:41: note: previous definition is here
typedef struct _SysprofCaptureCursor    SysprofCaptureCursor;
```

Signed-off-by: Philip Withnall <pwithnall@endlessos.org>
2020-11-16 15:15:26 +00:00
52a72fa7ec Updated Danish translation 2020-11-01 14:26:09 +01:00
ffc370a578 Update German translation
(cherry picked from commit c7e8bfc03171e14ffbea51d81429e9cbcf97a460)
2020-10-26 22:53:55 +00:00
309ec5b091 Release 3.38.1 2020-10-15 17:12:53 -07:00
eec5bb944b mountinfo: fix parsing of mount and mountinfo for btrfs
When dealing with Btrfs subvolumes, we might need to translate the src
directory to the proper subvolume. This isn't exactly perfect, as I could
imagine some scenarios that might break things here, but it seems to be
good enough to get decoding working on Fedora 33 with a default btrfs
installation.

If you have more creative setups, I'd be happy to see some testing there.

You can use ./src/tests/test-mountinfo /proc/self/mountinfo /some/path.so
to get information on what was resolved.

Fixes #34
2020-10-15 14:23:16 -07:00
9405c960cc tools: load proper speedtrack library
Fixes #51
2020-10-15 13:38:37 -07:00
80008497c2 Update Greek translation
(cherry picked from commit 37f272b33a3d958b3082034ca6242274e7800376)
2020-10-01 19:55:01 +00:00
3760a49dd9 Merge branch 'pkgconfig' into 'master'
meson: Fix pkgconfig generation

See merge request GNOME/sysprof!39
2020-10-01 16:47:32 +00: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
b39a43d218 capture: dont leak listed files strings
Fix leak introduced by #50
2020-09-28 15:56:36 -07:00
28bb526603 capture: fix sysprof_capture_reader_list_files()
This needs to stash the string pointers internally so that we can maintain
ABI and still fix the issue at hand.

Fixes #50
2020-09-28 15:53:54 -07:00