Commit Graph

134 Commits

Author SHA1 Message Date
22e121b564 libsysprof: remove dead code 2019-05-29 15:13:00 -07:00
e822128121 libsysprof: authorize proxy during start 2019-05-29 15:13:00 -07:00
d6266e54b1 fix gsetting name 2019-05-29 15:13:00 -07:00
59917c3e15 build: remove sysprof2 references 2019-05-29 15:13:00 -07:00
aafcc0a57a sysprofd: remove debug code 2019-05-29 15:13:00 -07:00
280f4b9415 libsysprof: backport autoptr cleanups when necessary 2019-05-29 15:13:00 -07:00
623d7ad027 build: cleanup dependency checking
We always require polkit now, so that we can fallback when we fail to
communicate with the peer.
2019-05-29 15:13:00 -07:00
eacdc47c34 libsysprof: fix weak ref usage 2019-05-29 15:13:00 -07:00
44e06da7ec libsysprof-ui: check for NULL 2019-05-29 15:13:00 -07:00
05bfc21fce libsysprof: only use sync form for perf counter
We already have async auth workflow, so we only need the synchronous
form here, which makes things a bit less complicated.
2019-05-29 15:13:00 -07:00
ec603e1221 perf: remove authorization and proxy usage from counter
This belongs in other abstractions to be more general.
2019-05-29 15:13:00 -07:00
eff557db59 libsysprof: remove authorization from perf source
This will be done more generically from the local profiler
later on.
2019-05-29 15:13:00 -07:00
037ac96425 whitespace cleanup 2019-05-29 15:13:00 -07:00
0e20e98801 libsysprof: add authorize_async() to authorize bus
We want a single authorization request from the user when
starting a profile, and to do it as early as possible. This
will allow for the local profiler to set this up before
starting things.
2019-05-29 15:13:00 -07:00
1d62916295 libsysprof-ui: use flatpak-spawn when necessary 2019-05-29 15:13:00 -07:00
2161668c01 whitespace cleanup 2019-05-29 15:13:00 -07:00
a361c66085 proc: use helpers for proc access 2019-05-29 15:13:00 -07:00
e282aa78c9 libsysprof: use helpers for proc access 2019-05-29 15:13:00 -07:00
ad4ca5faef helpers: add sync helper 2019-05-29 15:13:00 -07:00
852d220f0a bump app id 2019-05-29 15:13:00 -07:00
0bb1eadf91 libsysprof: get kallsyms from helper 2019-05-29 15:13:00 -07:00
2aea96d537 whitespace cleanup 2019-05-29 15:13:00 -07:00
935328356a kallsyms: allow creating from kallsyms data 2019-05-29 15:13:00 -07:00
5b40ce4f88 whitespace 2019-05-29 15:13:00 -07:00
fb9e356dbb libsysprof: add sync get_proc variant and fallbacks 2019-05-29 15:13:00 -07:00
0b284329d4 sysprof3: start moving API towards sysprof-3 2019-05-29 15:13:00 -07:00
44a555eb1f helpers: use old API for older systems 2019-05-29 15:13:00 -07:00
1bd0107c54 build: fix various includes for older GCC 2019-05-29 15:13:00 -07:00
1a576aa779 helpers: add fallbacks for perf_event_open
First try the proxy to the service, then fallback to trying in-process.
2019-05-29 15:13:00 -07:00
e53a56feaf build: remove unused file 2019-05-29 15:13:00 -07:00
cd3b4d6538 src: use helpers and add group_fd to remote API 2019-05-29 15:13:00 -07:00
427a4ca79d src: add helpers for common clinet/service side utils 2019-05-29 15:12:59 -07:00
4a6f7324c1 sysprofd: fix error path and add some logging 2019-05-29 15:12:59 -07:00
bc5c243407 sysprofd: implement mechanics for perf_event_open 2019-05-29 15:12:59 -07:00
ab2fdffa6d sysprofd: require polkit authorization by the peer 2019-05-29 15:12:59 -07:00
e77310a511 build: update some dependency versions
These might give us a chance to work on Debian stable.
2019-05-29 15:12:59 -07:00
ed48eadd08 sysprofd: start on port to GDBusConnection
This will help us reduce a lot of code and eventually make some things
more asynchronous to allow for interactive authorization.
2019-05-29 15:12:59 -07:00
46d3c553e5 libsysprof: allow kallsyms usage from daemon 2019-05-29 15:12:59 -07:00
543bf87b81 libsysprof: cleanup whitespace in headers 2019-05-29 15:12:59 -07:00
88a689ade1 libsysprof-ui: fixup whitespace in headers 2019-05-29 15:12:59 -07:00
a6e061f5b1 libsysprof-ui: add inside guards
Like the previous, but for libsysprof-ui.
2019-05-29 15:12:59 -07:00
7ea6ca43ec libsysprof: add inside guards to prevent stray includes
This requires that things use #include <sysprof.h> now instead
of individual includes. A few cases are still allowed in the
libsysprof-capture library to make copy/paste embedding easier.
2019-05-29 15:12:59 -07:00
219b48f668 ui: fix various css/ui includes 2019-05-29 15:12:59 -07:00
53c718b708 build: rename all symbols to use sysprof_ as prefix
As we gain in usage, we need to be more careful about using a prefix
that will not collide with other symbols. So version 3 of our ABI will
change to using Sysprof/SYSPROF/sysprof as the various prefixes.

The soname/api version bump will happen later on this branch so that
things are easier to test up until then.
2019-05-29 15:12:59 -07:00
4821883bfa libsysprof-ui: use symbol versioning macros 2019-05-29 15:12:59 -07:00
a54892e33f libsysprof: remove use of static library
We can just include the files directly, and avoid the static
linking and potential problems that come with that when porting
the build system to other platforms.
2019-05-29 15:12:59 -07:00
55f587988b libsysprof-capture: add missing config.h includes
This is needed for symbol visibility.
2019-05-29 15:12:59 -07:00
29258e59ba libsysprof: make symbol dirs public API 2019-05-29 15:12:59 -07:00
8b88bfe693 libsysprof: add versioning macros
This also moves stackstash.[ch] into a location that can be
embedded by both the libsysprof and libsysprof-ui code. We
pass native pointers to the structure as a gpointer in the
public API to allow for this. The performance of that code is
incredibly sensitive to the interactivity of Sysprof.
2019-05-29 15:12:59 -07:00
1b3663362d libsysprof-capture: set symbol visibility to hidden 2019-05-29 15:12:59 -07:00