By User12610965-Oracle on Jan 21, 2010
newbar 1.0: for Solaris 9 and higher
Originally there was perfbar.
"perfbar" gives a near realtime view of CPU utilization states.
In perfbar red=kernel, green=user, yellow=wait on IO, blue=idle, and white is indeterminate.
It is common for an early indication of a performance issue to be obvious in perfbar.
I decided that it would be wonderful to have a perfbar for threads. So I borrowed the gui for perfbar and modified it to use procfs to access thread CPU utilization states and display them ala perfbar.
In thrbar :
orange=wait for Lock
blue-green=wait for PageFault color
Many times I am working with flat files of mpstat, prstat, or my own tool, tpry, data. With 256 CPUs, up to 100 instances of a process and sometimes thousands of threads, it has become much too time consuming to graph and view all of that data.
So I have invented newbar. newbar takes prstat -mcL , mpstat, or tpry output and displays it in perfbar or thrbar format.
I have 3 scripts to accomplish these tasks:
do_newbar accepts an execname and number of rows for the display and post-processes the prstat.out and/or tpry.out file in the current working directory, displaying the threads for each pid with the given execname.
do_newbar_by_execname accepts an execname and processes all processes of that name in the tpry.out or prstat.out file simultanously at the process level(ie lwp 1). do_newbar_mp post processes mp.out in the CWD.
I have prebuilt the binaries. Sorry, I can not distribute the source. cp newbar.i386_32 or newbar.i386_32 or newbar.sparc_32 or newbar.sparc_64 to newbar and you are ready.
There are sample datasets included.
For do_newbar, copy tpry.out.sav to tpry.out and/or copy prstat.out_notimestamps or prstat.out_wtimestamps to prstat.out and run do_newbar java 4 .
For do_newbar_mp, just copy
mp.out_wtimestamps to mp.out
Do not forget to gunzip the files.
cp tpry_for_by_execname.out to tpry.out
or cp prstat_for_by_execname.out to prstat.out and run do_newbar_by_execname foobar 4