User mode sampling embeds an agent library into application address space using
LD_PRELOAD. The agent creates a per thread OS timer (default timer
interval is 10 ms), interrupts the execution of a thread by generating
SIGPROF or another runtime signal. Once thread receives the signal,
the agent collects IP samples, and it’s callstack for each sample if callstack
collection is enabled from signal handler. Collected data is stored in binary files for
later processing.
System wide performance data and already running process / thread performance data collection is not supported with user mode sampling.