Commit Graph

480 Commits

Author SHA1 Message Date
ffda366809 libsysprof-capture: add byte-order helper
This isn't needed for reading captures, but can be helpful when dealing
with embedded data such as file frames.
2019-05-29 15:13:01 -07:00
3b3011544b libsysprof: decode and supplement kernel symbols 2019-05-29 15:13:01 -07:00
1f91bc77ed libsysprof: avoid kallsyms in capture file
The kallsyms is huge (like 12Mb) and we want to avoid adding anything we
don't need. Instead, we can rely on the symbols source to decode the
symbols immediately and add them to supplemental.
2019-05-29 15:13:01 -07:00
649dcf3aac libsysprof: add trailing empty kernel node
This can be used so that we always know a symbol will be after the returned
symbol (so we can look for peer address).
2019-05-29 15:13:01 -07:00
6e3632c0e5 libsysprof-ui: add local symbol decoder source to profiler
This allows us to decode symbols locally at the end of a capture so that
we avoid trying to decode them on a machine without the info.
2019-05-29 15:13:01 -07:00
b2b3b48b52 libsysprof: add __symbols__ file with supplemental symbol data
This can be used by a future symbol resolver to resolve symbols from the
target host rather than on the capture view host.
2019-05-29 15:13:01 -07:00
b9c52f4573 libsysprof: whitespace 2019-05-29 15:13:01 -07:00
b17ff843d7 libsysprof: add helper to decode symbols with address range 2019-05-29 15:13:01 -07:00
e39feeeeb0 utils: add symbol range support for binfile and elfparser 2019-05-29 15:13:01 -07:00
f18a7171cf whitespace 2019-05-29 15:13:01 -07:00
57255a1d29 libsysprof: remove lookaside from public API 2019-05-29 15:13:01 -07:00
90c165aa08 libsysprof: stub out source for appending symbols 2019-05-29 15:13:01 -07:00
8a246d4453 libsysprof: create hook for supplemental writer data 2019-05-29 15:13:01 -07:00
4da55f4267 libsysprof: add cpuinfo to capture file when possible 2019-05-29 15:13:01 -07:00
874fb01c25 libsysprof: use embedded kallsyms when possible
This uses the kallysms that has been embedded in the capture file when
that is possible (such as when proc-source appends it).
2019-05-29 15:13:01 -07:00
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
318e9e300c tools: add option to list files in capture 2019-05-29 15:13:01 -07:00
9410238d30 libsysprof-capture: skip frame when necessary 2019-05-29 15:13:01 -07:00
596d29496d libsysprof-capture: add file reader helper 2019-05-29 15:13:01 -07:00
336dae4d1f libsysprof-capture: add helper to list files in capture 2019-05-29 15:13:01 -07:00
7650d6e7c6 libsysprof-capture: add file chunk frame type 2019-05-29 15:13:01 -07:00
1940e45bf4 libsysprof-ui: add tooltips for message column 2019-05-29 15:13:01 -07:00
c5e6ef7f2a libsysprof-ui: prefer Time over Offset 2019-05-29 15:13:01 -07:00
acf64b46e6 libsysprof-ui: hide logs view when no logs are present 2019-05-29 15:13:01 -07:00
7a0b5ed404 libsysprof-ui: reload logs when selection changes 2019-05-29 15:13:01 -07:00
5f3a9c0a72 libsysprof-ui: add log view 2019-05-29 15:13:01 -07:00
7202d7aed9 libsysprof-ui: add tree model for log messages 2019-05-29 15:13:01 -07:00
cc415c9140 libsysprof-capture: add log frame type
This is useful to interleave logs with the capture so that we can have
correlation without interjecting them into mark fields.
2019-05-29 15:13:01 -07:00
d77c305779 tools: use writer-cat from libsysprof-capture 2019-05-29 15:13:01 -07:00
ded0233553 libsysprof-ui: add callgraph loading dialog
This can lag a bit on big profiles, so add a loading page while we generate
the callgraph in a thread.
2019-05-29 15:13:01 -07:00
26bcf94888 whitespace 2019-05-29 15:13:01 -07:00
19f4a6ae70 libsysprof-capture: add writer buffer size helper
This could be useful to know what you can actually shove into the capture
file based on size.
2019-05-29 15:13:01 -07:00
9c1518b384 tools: use PolkitUnixProcess 2019-05-29 15:13:01 -07:00
88bf04cb37 tools: add polkit agent to sysprof-cli
The goal for this is to be able to not use sudo to authenticate the user
and elevate privileges.
2019-05-29 15:13:01 -07:00
aca6baa3bd tools: add --gjs option and fix --use-trace-fd
This uses the new tracefd source for gjs and trace-fd sources.
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
283c3f5ba5 libsysprof: start on some new aids to select 2019-05-29 15:13:01 -07:00
552ccb4f60 libsysprof: move tracefd to separate source 2019-05-29 15:13:01 -07:00
a4b5a582f4 libsysprof-ui: allow creating aid instance 2019-05-29 15:13:01 -07:00
8c608ffa5e libsysprof-ui: implement GtkBuildable for .ui usage
This allows us to configure an aid with sources.
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
bfe72c1d77 libsysprof-ui: add simplified time label
This handles the resizing of the numbers better to avoid jitter of the
positioning.
2019-05-29 15:13:01 -07:00
272a0e284e whitespace 2019-05-29 15:13:01 -07:00
d43137475e libsysprof-ui: add fork to list of marks 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