Installs a signal handler. See Data Collection and Signals.
Explicitly dynamically loads a system library. See Using System Libraries.
Dynamically compiles functions. See Dynamic Functions and Modules.
Creates descendant processes that you want to profile. See Using System Libraries.
Uses the profiling timer or hardware counter API directly. See Using System Libraries.
Also, if you want to control data collection from your program during runtime, see Program Control of Data Collection Using libcollector Library.