Eric Anholt ac11f0f941 sources/perf: Capture DRM vblank events as a mark.
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.
2018-05-16 10:52:28 +01:00
2018-03-04 21:06:01 -08:00
2018-03-19 20:23:01 +00:00
2018-03-18 13:38:17 +00:00
2017-09-28 16:23:03 -07:00
2018-05-15 16:33:30 +01:00
2018-05-14 17:15:57 +01:00
2016-12-01 02:34:11 -05:00
2017-09-28 16:24:27 -07:00
2016-11-28 14:04:46 -08:00
2016-12-01 02:34:11 -05:00
2016-04-13 05:14:09 -07:00
2016-04-13 05:24:03 -07:00
2016-04-22 18:34:48 -07:00
2016-04-13 05:24:03 -07:00
2016-04-13 05:24:03 -07:00
2016-12-01 02:34:11 -05:00
2018-04-09 21:28:41 -07:00
2018-03-13 17:46:55 -07:00
2017-09-15 17:49:20 -07:00
2016-04-14 02:52:06 -07:00

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%