The following are demonstrations of the hotuser DTrace program. Here, hotuser is run on a test program called "dofuncs", which is hard coded to spend half its time in delta(), a third in beta() and a sixth in alpha(). # ./hotuser -c ./dofuncs Sampling... Hit Ctrl-C to end. ^C FUNCTION COUNT PCNT dofuncs`alpha 511 16.5% dofuncs`beta 1029 33.3% dofuncs`delta 1552 50.2% hotuser has accurately sampled which user-level functions are on the CPU, producing a report of the expected breakdown. The hottest user-level function is delta(), which was sampled 1552 times - 50.2% of the total samples. Now hotuser is run on gunzip, to find which functions are most often on the CPU, # ./hotuser -c 'gunzip contents.gz' Sampling... Hit Ctrl-C to end. FUNCTION COUNT PCNT libc.so.1`_free_unlocked 1 0.1% gunzip`unzip 1 0.1% ld.so.1`strcmp 1 0.1% gunzip`inflate_dynamic 1 0.1% libc.so.1`_write 1 0.1% gunzip`write_buf 1 0.1% gunzip`0x2d990 2 0.3% libc.so.1`write 2 0.3% gunzip`0x2d994 2 0.3% ld.so.1`rtld_db_preinit 3 0.4% gunzip`0x2d98c 7 0.9% gunzip`huft_build 9 1.2% libc_psr.so.1`memcpy 138 18.5% gunzip`inflate_codes 233 31.2% gunzip`updcrc 344 46.1% This shows that updcrc() was sampled 344 times, and 46.1% of the total samples. A -l option will provide a breakdown on libraries only. hotuser is run on gzip to show library usage only, # ./hotuser -lc 'gzip contents' Sampling... Hit Ctrl-C to end. LIBRARY COUNT PCNT libc.so.1 2 0.0% libc_psr.so.1 37 0.9% gzip 4113 99.1% This shows that code in the gzip binary itself was on the CPU 99.1% of the sample times, with libc_psr.so.1 code on the CPU 0.9% of the time. The following shows library usage of mozilla. The pgrep command is used to match the most recent PID of mozilla-bin. # ./hotuser -lp `pgrep -n mozilla-bin` Sampling... Hit Ctrl-C to end. ^C LIBRARY COUNT PCNT libplds4.so 1 0.1% libappcomps.so 1 0.1% libi18n.so 1 0.1% libuconv.so 1 0.1% libpref.so 1 0.1% libblueprint.so 1 0.1% libz.so.1 2 0.2% libcaps.so 2 0.2% libXrender.so.1 2 0.2% libimglib2.so 2 0.2% libXft.so.2 3 0.3% libCrun.so.1 3 0.3% libdocshell.so 3 0.3% libplc4.so 4 0.4% libgtk-x11-2.0.so.0.400.9 5 0.5% libjsd.so 5 0.5% libX11.so.4 5 0.5% libnecko.so 8 0.9% libwidget_gtk2.so 9 1.0% libgkgfx.so 13 1.4% libglib-2.0.so.0.400.1 14 1.5% libgfx_gtk.so 18 2.0% libnspr4.so 20 2.2% libxpconnect.so 22 2.4% libgdk-x11-2.0.so.0.400.9 23 2.5% libgobject-2.0.so.0.400.1 25 2.7% libhtmlpars.so 27 3.0% libfontconfig.so.1 41 4.5% libxpcom.so 49 5.4% mozilla-bin 55 6.0% libmozjs.so 80 8.8% libc.so.1 115 12.6% libgklayout.so 352 38.6% This shows that 352 samples found code from libgklayout.so running, which was 38.6% of the samples.