mirror of
https://github.com/varun-r-mallya/sysprof.git
synced 2025-12-31 20:36:25 +00:00
ac11f0f94118831122c9a8ab84a4d3d46cf118a6
This should be useful to visualize system-wide events in the CPU timeline, especially once we add some more events. We may want to define some modes eventually, as not all captures will care about GPU visualization. However, it's pretty low overhead (60Hz * number of monitors), so maybe we can just filter it out at visualization time. We do a bit more setup work than necessary here (looking up the config number for the tracepoint per CPU, rather than looking it up once at startup), but I suspect I'll want to refactor the init anyway once we add more tracepoint markers.
Sysprof is a sampling profiler that uses a kernel module to generate
stacktraces which are then interpreted by the userspace program
"sysprof".
See the Sysprof homepage:
http://sysprof.com/
for more information
Questions, patches and bug reports should be sent to the sysprof
mailing list:
sysprof-list@gnome.org
The list is archived here:
https://mail.gnome.org/archives/sysprof-list/
Debugging symbols
- The programs and libraries you want to profile should be compiled
with -fno-omit-frame-pointer and have debugging symbols available,
or you won't get much usable information.
Building Sysprof
----------------
You need some packages installed. The package names may vary depending on your
distribution, the following command works on Fedora 25:
sudo dnf install gcc gcc-c++ ninja-build gtk3-devel
Then do the following:
meson --prefix=/usr build
cd build
ninja
sudo ninja install
WARNING: `ninja install` will mostly install under the configured install
prefix but installs systemd service configuration directly in the system
default location `/usr/lib/systemd` so it won't work without root privileges,
even if the install prefix is a user-owned directory.
Description
Languages
C
98.9%
Meson
1%