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
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
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
f18fbe5ae8
build: various fixes for compiling on macOS
2020-11-16 14:01:02 -08: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
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
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
254b9f8f69
capture: fix compilation on Clang 11
...
Fixes #48
2020-09-16 12:41:09 -07:00
2260945e8f
Merge branch 'wip/issue49' into 'master'
...
libsysprof, libsysprof-ui: Generate pkg-config dependencies
Closes #49
See merge request GNOME/sysprof!38
2020-09-16 18:09:27 +00: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
088408c085
sysprof-capture-condition: always return even if unreachable
...
Fix the problem with -Werror=return-type
2020-09-15 20:51:28 +07:00
429223635e
compat: add TEMP_FAILURE_RETRY compatiable implementation
2020-09-15 20:30:48 +07:00
50439c9ca9
compat: add fallback implementation for reallocarray(3)
2020-09-15 20:30:48 +07:00
9ce6353ea4
collector: add missing config.h include
...
This was causing symbols to not be exported when used within libsysprof.
2020-08-21 13:45:50 -07:00
0a529b7670
proc: authorize before starting source
2020-08-21 13:15:38 -07:00
e647a83557
turbostat: fix ref count check
2020-08-21 13:15:38 -07:00
2850858d24
profiler: dont authorize during profiler startup
...
This should be done by sources, as there are configurations that will not
require polkit communication and that can be frustrating when it happens.
2020-08-21 13:15:38 -07:00
e968518083
perf: authorize polkit as part of source startup
2020-08-21 13:15:34 -07:00
bbe62d83b8
helpers: avoid concurrent requests to authorize
...
We don't want to spam users with polkit requests, so try to only do one
at a time and ensure that if we suceeded, we skip it until later.
2020-08-21 13:01:39 -07:00
7b74c73205
capture: use plural naming for request_counters()
2020-08-19 15:14:53 -07:00
361b29a459
capture: add sysprof_collector_is_active()
...
This can be used to check if a collector is actively running.
2020-08-19 15:12:19 -07:00
61be0a0455
capture: add API to request a counter id
2020-08-19 15:09:52 -07:00
b913de8882
capture: add counter define/set collectors
2020-08-19 13:43:30 -07:00
c7e0e11fc2
captur: cleanup headers
2020-08-19 13:43:30 -07:00
691b6ef342
macros: simplify static assert fallback to use __COUNTER__
...
It is rather annoying that the other sizeof form doesn't work with Clang.
This at least gets things working (assuming you have __COUNTER__ support)
which most things we care about do at this point (including MSVC).
2020-08-14 12:59:29 -07:00