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.