Commit Graph

101 Commits

Author SHA1 Message Date
b8c30e3285 libsysprof: add kallsyms to capture file
This can be used by the kernel symbol resolver to resolve symbols on a
different machine than where the capture is performed.
2019-05-29 15:13:01 -07:00
c7b4465e27 libsysprof: add missing new func 2019-05-29 15:13:01 -07:00
17a835570e build: remove dead code 2019-05-29 15:13:01 -07:00
3706869e06 libsysprof: clear trace fd after reading 2019-05-29 15:13:01 -07:00
552ccb4f60 libsysprof: move tracefd to separate source 2019-05-29 15:13:01 -07:00
385ece7c41 whitespace 2019-05-29 15:13:01 -07:00
7bba7a4dff hostinfo: get proc fd from daemon
Current CPU speed is censored in various containers, so we need access to
it from the daemon.
2019-05-29 15:13:01 -07:00
2c6044d7bb helpers: remove flatpak check for now
We don't know if the file is sensitive or not, so we must go to the
daemon for the contents.
2019-05-29 15:13:01 -07:00
272a0e284e whitespace 2019-05-29 15:13:01 -07:00
697ef7f350 libsysprof: serialize dbus proxy settings 2019-05-29 15:13:01 -07:00
7bec0d7698 libsysprof: make sure we have a SysprofSource 2019-05-29 15:13:01 -07:00
aac6e6ed9f Revert "helpers: try harder to avoid D-Bus to daemon"
This reverts commit 84c708890621472d640dfe2360e1273fcc5163cf.

This caused some issues with callgraphs.
2019-05-29 15:13:01 -07:00
404317d49d libsysprof: implement various serialization hooks 2019-05-29 15:13:01 -07:00
974cbf5130 libsysprof: add helper to create profiler from capture reader
This will look at what was in the reader before and create a new local
profiler from that. This still needs to add support for restoring info
from sources which need to be inflated.
2019-05-29 15:13:01 -07:00
9229e41976 libsysprof: allow auto-start of sysprof3
We don't need to allow auth here, but we do need to allow auto-start.
2019-05-29 15:13:01 -07:00
6a5c00b446 libsysprof: store some information about the profile in keyfile
This gets added as a metadata chunk to the capture file so that we can
use it later to recreate the session. The goal is to add something like
ctrl+r to run the capture again with identical settings to the previous
capture.
2019-05-29 15:13:01 -07:00
5331e8bd7f hostinfo: actually parse cpu freq details 2019-05-29 15:13:01 -07:00
cfab4b2d73 libsysprof: skip when no writer is available 2019-05-29 15:13:01 -07:00
54c39172df libsysprof-ui: fix dereference after steal
This is undefined behavior and most go right to left
2019-05-29 15:13:01 -07:00
27e75cf61b libsysprof: improve some defaults 2019-05-29 15:13:01 -07:00
4f00ec5e49 libsysprof: add some symbol libraries 2019-05-29 15:13:01 -07:00
3321308c4a libsysprof: use SYSPROF_TRACE_FD env var when spawning
This avoids connecting to the bus which is racey, and instead just hands
the FD off to the subprocess.
2019-05-29 15:13:01 -07:00
dbc47a3a69 libsysprof: log source failure to console 2019-05-29 15:13:01 -07:00
c204081cc0 libsysprof: add vfunc to modify spawn arguments 2019-05-29 15:13:01 -07:00
13b3edcbf6 helpers: try harder to avoid D-Bus to daemon 2019-05-29 15:13:01 -07:00
86aeb56f41 libsysprof: join using cat helper 2019-05-29 15:13:01 -07:00
570df015fa libsysprof: start on proxy source implementation
Still need to implement the join support for the writer.
2019-05-29 15:13:01 -07:00
1ba6799847 whitespace 2019-05-29 15:13:01 -07:00
234200f8d1 libsysprof: try local proc file access if not in flatpak 2019-05-29 15:13:01 -07:00
931849b25c build: add missing libraries to pkgconfig files 2019-05-29 15:13:01 -07:00
53addd7222 libsysprof: emit finished in source 2019-05-29 15:13:00 -07:00
4ef741348c libsysprof-ui: set as ready for now 2019-05-29 15:13:00 -07:00
588fd43d8b libsysprof-ui: stub out proxy source
The goal for this (which is unfinished) is to setup a dbus proxy to the
peer. That can be reused for both gtk and mutter, if configured correctly.

We'll likely need to allow some specific config tweaks in the UI.
2019-05-29 15:13:00 -07:00
c368da09de libsysprof-ui: allow restricting remote proxy 2019-05-29 15:13:00 -07:00
53a337bf00 whitespace 2019-05-29 15:13:00 -07:00
5718b5fb20 libsysprof: more fallbacks for bad proxy 2019-05-29 15:13:00 -07:00
5e368cede2 libsysprof: process local task parsing on a thread 2019-05-29 15:13:00 -07:00
59d40f4146 libsysprof: better empty check 2019-05-29 15:13:00 -07:00
59c2fb4b64 libsysprof: add is_empty() helper
This can be bound easier should we support GIR in the future.
2019-05-29 15:13:00 -07:00
209a2689d9 whitespace 2019-05-29 15:13:00 -07:00
91c95a0e0d libsysprof-ui: work on async loading 2019-05-29 15:13:00 -07:00
e3cfdddf46 libsysprof: handle failure case better 2019-05-29 15:13:00 -07:00
d6e3d580fd helpers: do not allow interactive authorization
We want to use the authorize_async() flow up front to authorize the
connection, and then make all other API fail immediately to reduce the
chance that we block the peers.
2019-05-29 15:13:00 -07:00
7291b14575 memory: get FD using the SysprofHelpers 2019-05-29 15:13:00 -07:00
9d72203687 sysprofd: add API to get a FD for a file in proc
This is useful for optimized parsing of proc files such as necessary by
the memory source to seek() back to the start (instead of re-opening a
new file).
2019-05-29 15:13:00 -07:00
16bc6f970e libsysprof: remove dead code 2019-05-29 15:13:00 -07:00
70ace7f160 libsysprof: fix kernel symbols init 2019-05-29 15:13:00 -07:00
df1217bbb8 libsysprof: use helpers to get proc info from host 2019-05-29 15:13:00 -07:00
36ecfd3dd1 libsysprof: add async variant for proc source 2019-05-29 15:13:00 -07:00
6bb7eded8a libsysprof: use daemon to get unredacted process info 2019-05-29 15:13:00 -07:00