Archive for June, 2011

Desktop Usage Stats

June 15, 2011 Leave a comment

I’ve completely re-written my application to gather more data on usage. Now I have access to real-time data on which apps users are running along with CPU utilization. Kind of interesting to see the numbers emerging from the data.

As an example, top apps are Internet Explorer, Word, Firefox then trailing quite a bit behind Excel (Access was 6th, Visual Studio was 9th). One of the surprising things that came up is idle time. Seeing scrnsave.scr show up in the list of applications started me looking at how often the machines are sitting ‘idle’ as evidenced by scrnsave.scr showing up in the application list. A quick bit of ts-sql showed that for about 11% of the logged-in time, scrnsave.scr was active. I need to let the new version run a bit longer to get a better idea what the average CPU utilization is.

Categories: Usage Stats, View, Vmware

VMware View usage statistics re-visited

June 1, 2011 Leave a comment

well, that didn’t take long. I’ve re-written my program that collects usage statistics on my view pools (any physical machines too.)  First thing I did was to generalize the program a little and set it up for command-line options. I can over-ride the default database and catalog settings on the command line if I wish (it currently uses a DSN-less connection to MSSQL server).

I setup a command line switch for data collection level. I can then set level equal to 1,2 or 3. At 1, the program will only record login, logout and View Broker URL, View Client IP and Client OS type. Level 2 is level 1 and the list of applications the user opened. Level 3 is level 2 along with average CPU utilization as a percent and eventually average memory used.

The View information comes out of the Volatile Environment reg key. This will be used to differentiate users connecting from on- or off-site. The CPU comes from System.Diagnostics.PerformanceCounters. CPU is accumulated every 3 seconds and then at logout or shutdown the CPU accumulator is divided by logged-in time/3. I’m not sure on how frequently to sample CPU at this point. I will probably set it up as another command-line switch to change frequency so I can do some testing to see what the best sample rate is. The minimum is 1 second per msdn, but that seems excessive. Average logged-in time for my users is 55 minutes which would be 3,300 samples. One of the things I don’t want to have happen is that my app skews any of the data collected, at least not skew it too badly.

so, as it stands I can run the program from an AD GPO and use command-line switches to control the functionality. It would look something like:  datacol.exe -ds=mySQLserver -ic=mylabs -L=3

The exe is 24k for the release build and on my win7 test pool seems to start somewhere around 20meg of ram used. Over time this creeps up to about 30meg but then drops back down to 27.

I also have the program set to minimize to the system tray, ignore mouse clicks and not allow the user to terminate it. Almost seems like it’s getting to the point where it might make more sense to re-write as a service instead.

Comments/suggestions appreciated.

Categories: View, Vmware