Recent Sysprof Changes



Hi everyone!

I pushed a number of fixes this weekend to Sysprof to help us deal with
newer kernels as more things are locked down in response to
Spectre/Meltdown.

- Notably, I'm seeing newer kernels censor addresses in /proc/kallsyms
to non-root users. So we have a new GetKernelSymbols() helper in
sysprofd which can do the parsing as root and provide the symbols back
to the client application (after appropriate polkit authorization).

- Also, since mappings for kernel vs user-space have changed, we need to
ensure we're checking the SpAddressContext more stringently. To do this,
I added a new SpSymbolResolver.resolve_with_context() vfunc so we could
avoid any ABI break.

- I've added a new libsysprof-capture.a static-linked target that can be
used to build tools which read/write the Sysprof binary capture format.
Use sysprof-capture-2 with pkg-config to link against it.

- Philip Chimento polished up my SpiderMonkey profiler prototype and
landed it in GJS. It uses the Sysprof capture format which means you'll
be able to profile GJS applications (gnome-shell, Polari, Maps, etc) and
open the JS profile in Sysprof. My hope is for turn-key integration for
Builder.

As always, testing appreciated.

-- Christian


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]