                            vimtop v.0.3 (Alpha)
                     =================================
                      https://wiki.eng.vmware.com/Top

This is still alpha version targeting internal VMware audience.

Usage:
   Simply execute "vimtop" command.

What we have right now?
   1. The main view of the application should look something like this:
      <snip>
      VIMTop:  uptime:  0 days 02:53:04, load average:  2.25,  1.76,  1.69
      Tasks:     31 all,    0 run,   31 sleep,    0 block,    0 stop,    0 zombie
      CPUs:   15.2%us   7.6%sy   0.0%ni 174.9%id   0.0%wa   0.0%hi   0.0%si   0.0%st
       CPU     %USR     %SYS      %NI     %IDL     %IOW     %IRQ    %SIRQ   %STEAL
       0       6.65     2.85     0.00    89.34     0.00     0.00     0.00     0.00
       1       8.55     3.80     0.00    85.54     0.00     0.00     0.00     0.00
      Memory:    8391196kB total   8220999kB used    170196kB free      9424kB buffs
      Swap:     16113463kB total   1634885kB used  14478577kB free    615329kB cached
      Vmalloc:  35184372MB total       166MB used  35184205MB free  35184199MB chunk
      (Q)uit, (S)et interval, (W)rite config, (P)ause, (v)Center, (H)elp, (R)efresh
       PID    NAME                     THREADS    %CPU    %MEM        MEM       SIZE
                                           num       %       %         MB         MB
       7406   Inventory Service            444   30.35   14.36    1204.99    2113.00
       6743   Component Manager             52    4.89    3.43     287.90     796.31
       4730   Reverse HTTP Proxy            12    4.89    0.14      11.85     191.19
       8139   Message Bus Config Servi      33    2.94    3.31     277.81     747.72
       8670   vCenter Server                30    2.94    0.49      41.05     582.53
       3469   vAPI Server                    7    2.94    0.80      66.76     295.56
       3803   vSphere Client                81    1.96    7.04     591.03    1389.44
       3164   Host Client                   70    1.96    4.79     402.10    1272.19
       4910   SMS/SPBM                      62    1.96    5.15     432.13    1146.85
       5397   API Proxy                     57    0.98    2.30     193.10     897.61
       7135   ESXi Agent Manager            45    0.98    3.05     255.72     745.98
       6021   Licensing Manager             45    0.98    3.49     292.74     776.86
       8393   CM Service Control Agent      30    0.98    0.67      56.08     655.00
       4596   vmware-vmdir                  26    0.98    0.08       6.47   21844.19
       4995   SSO VM Identity               22    0.98    1.19     100.10     550.50
       3536   vAPI Server                    2    0.98    0.13      10.90     150.14
       4641   vmware-vmkdc                  21    0.00    0.01       1.04     222.09
       4559   VMCA                          14    0.00    0.01       1.09     189.41
       8440   vPostgres VCDB                 1    0.00    0.23      19.62     512.55
       3542   vAPI Client                    1    0.00    0.05       4.04      67.92
       8754   vPostgres VCDB                 1    0.00    0.06       5.08     507.65
       4993   SSO VM Identity                1    0.00    0.00       0.21       8.46
       5211   vPostgres                      1    0.00    0.22      18.80     503.01
       5231   vPostgres Licensing            1    0.00    0.02       1.43      36.68
       8441   vPostgres VCDB                 1    0.00    0.13      10.72     504.71
       9122   vPostgres VCDB                 1    0.00    0.06       5.43     505.54
       9123   vPostgres VCDB                 1    0.00    0.04       3.58     504.47
       10213  vPostgres VCDB                 1    0.00    0.15      12.78     515.59
       13211  vPostgres VCDB                 1    0.00    0.13      10.99     505.02
       21577  vPostgres VCDB                 1    0.00    0.08       6.66     504.71
      </snip>
      There are a lot more columns you can select and show here - use 'c' to bring the column selection dialog;
   3. You can edit supplied /etc/vmware/vimtop/vimtop.xml file in order to add new process selectors and/or to change the display names of the processes. The selector is a simple regex query, that is matched agains the full command line of the process, as it is found in the /proc directory.
   4. Support for some JMX counters. Generally, the stats provider is working, but we need some more work to add more valuable counters and to polish the existing ones;
   5. Use 'v' to access locally running vCenter and 'y' to access locally running Inventory service;
   6. 'h' for help.

Known issues ... a lot:
   1. Some TUI (Console User Interface) glitches, like:
      i) Resizing of console window is not working properly - make sure you are using SSH client (e.g. PuTTy) or xterm wide enough,
      ii) vCenter view is not properly displayed in 80x25 text mode - we need to redesign it somehow in order to show such amount of information if we are about to support this display mode;
   2. Dynamic counters are still not supported. This means that you need have the vCenter running before switching vimtop to vCenter view. Otherwise it will crash with the following message in the vimtop.log file:
        <snip>
        2013-06-17T12:25:07.124Z [7FAACA233720 panic 'Default']
        -->
        --> Panic: Assert Failed: "_statInfo != __null" @ bora/vim/apps/top/outputControlImpl.cpp:79
        --> Backtrace:
        --> backtrace[00] rip 00007faac958a8d9 Vmacore::System::Stacktrace::CaptureFullWork(unsigned int)
        </snip>
      Please, don't be upset, just retry the procedure. This is something that will be fixed for next revisions;
   3. Write config is not implemented for VpxD view.

Things to add in the next revisions:
   0. Much more counters for processes:
      i) full list of counters retrieved from the vCenter,
     ii) full list of counters retrieved from the JMX service;
   2. Support for record/replay modes;
   3. Eventually, remote mode;
   4. Support for connection to more than one vCenter simultaneously ("multi-VM");
   5. SSO automatic login with credentials of current user. Integration with "appliancesh";
   6. Support for Windows. Will be useful for replay mode (and eventually for remote mode);
   7. Help strings for the columns (i18n, eventually).

Performance improvements:
   1. Speed-up the vCenter connection:
      i) Asynchronous stats queries to the vCenter;
      ii) Some performance fixes in the Vmacore::PerfCounter::Registry implementation.
   2. Some improvements in the SR/SD framework in order to reduce the memory footprint of the application (already planned).

Please use http://bugzilla.eng.vmware.com VPX/Infrastructure/vimtop (Product/Category/Component) for bug reporting and suggestions.
You can contact the author on: ktsvetkov@vmware.com
