diff options
Diffstat (limited to 'cddl/contrib/dtracetoolkit/Examples/hotuser_example.txt')
-rw-r--r-- | cddl/contrib/dtracetoolkit/Examples/hotuser_example.txt | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/cddl/contrib/dtracetoolkit/Examples/hotuser_example.txt b/cddl/contrib/dtracetoolkit/Examples/hotuser_example.txt new file mode 100644 index 0000000..c038acd --- /dev/null +++ b/cddl/contrib/dtracetoolkit/Examples/hotuser_example.txt @@ -0,0 +1,107 @@ +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. |