IMPTRACE(1) BSD General Commands Manual IMPTRACE(1)NAME
imptrace — report importance donation events in real time
SYNOPSIS
imptrace [-i [-s]] [-p pid] [-d]
DESCRIPTION
The imptrace utility displays a trace of importance donation events.
Importance donation is used by adaptive jobs on the system to manage
their priority on the system. See xpc_transaction_begin(3) and
launchd.plist(5) for more information about the mechanism and its use.
The options are as follows:
-i Show internal kernel boosts
-s Show stacks for internal boosts.
-p pid Limit events to the process identified by pid.
-d Display raw Dtrace output; do not reformat timestamps and sort
output.
The traced events are as follows:
BOOSTED The specified process has received a boost and transi‐
tioned out of the background.
UNBOOST The specified process has dropped its last remaining
boost and transitioned back into the background.
Recv Boost The specified process has received a boost and accepted
ownership of that boost in userspace, usually by dequeu‐
ing the boosting message.
Drop Boost The specified process has dropped a boost.
____ Int Boost Internal boost events are only emitted when tracking of
kernel internal boosts is activated with the -i option.
Their use and meaning is subject to change and dependent
on the implementation details of importance donation.
EXAMPLES
The imptrace script will output one line for each event, for example a
typical boosting exchange might look as follows:
0000:00:00.000000000 EVENT PROCESS BOOSTS NOTES
0023:15:13.844332886 BOOSTED 22:configd
0023:15:13.844372519 Recv Boost 22:configd 1 from 275:SystemUIServer
0023:15:13.844497860 UNBOOST 22:configd Boosted for 0 ms
0023:15:13.844509452 Drop Boost 22:configd 0
In this case, SystemUIServer (PID 275) has sent a message to configd (PID
22) which caused it to be boosted. configd then dropped the boost causing
it to be become unboosted and return to background state. Boosted and
unboost events may appear before the triggering recv or drop boost.
NOTES
imptrace is implemented using Dtrace. For information about the probes
used, see comments in the imptrace source. When debugging an adaptive
service, it may be helpful to combine these probes with other Dtrace
providers; however, they should be considered unstable.
OS X May 01, 2013 OS X