#!/bin/sh clearstr=`clear` /usr/sbin/dtrace -n ' #pragma D option quiet /* constants */ inline int LINES = 18; inline string CLEAR = "'$clearstr'"; dtrace:::BEGIN { /* reverse sorting order */ setopt("aggsortrev"); printf("Tracing... Please wait.\n"); } lck_mtx_lock_spin:adaptive-acquire { /* count number of locks */ @locks = count(); @times[execname] = count(); } profile:::tick-2sec { /* clear the screen */ printf("%s", CLEAR); /* show top LINES results only */ trunc(@times, LINES); /* print header */ printf("\n"); printf(" %-15s ", "TOTAL"); printa("%@10u\n", @locks); printf("\n"); /* print overview */ printa(" %-15s %@10u\n", @times); printf("\n"); /* reset counters */ trunc(@locks); trunc(@times); } '