PLOCKSTAT(8) Maintenance Procedures PLOCKSTAT(8)


NAME


plockstat - report user-level lock statistics

SYNOPSIS


plockstat [-vACHV] [-n count] [-s depth] [-e secs]
[-x arg [=val]] command [arg]...


plockstat [-vACHV] [-n count] [-s depth] [-e secs]
[-x arg [=val]] -p pid


DESCRIPTION


The plockstat utility gathers and displays user-level locking statistics.
By default, plockstat monitors all lock contention events, gathers
frequency and timing data about those events, and displays the data in
decreasing frequency order, so that the most common events appear first.


plockstat gathers data until the specified command completes or the
process specified with the -p option completes.


plockstat relies on DTrace to instrument a running process or a command
it invokes to trace events of interest. This imposes a small but
measurable performance overhead on the processes being observed. Users
must have the dtrace_proc privilege and have permission to observe a
particular process with plockstat. Refer to the Dynamic Tracing Guide for
more information about DTrace security features.

OPTIONS


The following options are supported:

-A
Watch all lock events. This option is equivalent to -CH.


-C
Watch contention events.


-H
Watch hold events.


-e secs
Exit after the number of seconds specified have elapsed.


-n count
Display only the specified number of entries for each
output category.


-s depth
Record a stack trace rather than just the calling
function.


-p pid
Specify a process ID from which plockstat is to gather
data.


-v
Print out a message to indicate that tracing has started.


-x arg[=val]
Enable or modify a DTrace runtime option or D compiler
option. The list of options is found in the Dynamic
Tracing Guide. Boolean options are enabled by specifying
their name. Options with values are set by separating the
option name and value with an equals sign (=).


-V
Print the DTrace commands used to gather the data. The
output can then be used directly with the dtrace(8)
command.


OPERANDS


The following operands are supported:

arg
A string to be passed as an argument to command.


command
The name of a utility to be invoked.


count
A positive integer value.


pid
A process identifier for a process to be monitored.


secs
Duration specified as a positive integer number of seconds.


EXIT STATUS


The following exit values are returned:

0
Successful completion.


>0
An error occurred.


ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | See below. |
+--------------------+-----------------+


The command-line syntax is Evolving. The human-readable output is
Unstable.

SEE ALSO


mutex_init(3C), pthread_mutex_lock(3C), pthread_rwlock_rdlock(3C),
pthread_rwlock_unlock(3C), pthread_rwlock_wrlock(3C), rwlock(3C),
fasttrap(4D), attributes(7), dtrace(8), lockstat(8)


Dynamic Tracing Guide:


https://illumos.org/books/dtrace/


May 23, 2020 PLOCKSTAT(8)