Visualize numeric data from your Windows OS

When I published my blog post titled “Visualize the Services Graph of your Windows OS“, I wanted to create another blog post, supplementary to it. The purpose of the “Visualize the Services Graph of your Windows OS” blog post was to show that you can (and should) visualize data from your Windows OS. The data depicted in that blog post were not numeric in nature. So, imagine how becoming it is for me to create another blog post that advocates the visualization of any numerical data from your Windows OS. If you can visualize non numerical data, then imagine how becoming it is to visualize numerical data. Only some relevant programs allow you to visualize non numerical data, but all relevant programs and techniques allow you to visualize numerical data.

This blog post will gently push you into this direction.

There are some situations where you can obtain and visualize non numeric data from your Windows OS:

  • You can visualize the hierarchical structure of the services, the file system, or the registry.
  • You can visualize the timeline of events, errors, and so on.  For example, you can create a timeline that displays when each application was installed.
  • You can create your own infographics from data from your Windows OS.
  • And so on.

If there exist some situations that pertain to the visualization of non numeric data, there are a lot of situations where you can obtain and visualize numeric data from your Windows OS:

  • You can count the number of messages of each different type in an error log.
  • You can get numeric data from performance counters.
  • You can get numbers of files and file sizes from the file system.
  • You can get similar statistics (like counts of  keys and values) from the registry.
  • You can get numeric data (like memory size or CPU percent usage) from the process (and their corresponding threads) that run in your Windows OS.
  • And so on.

OK. Let us analyze the situation where you obtain and visualize numerical data from your Windows OS running processes. You can use PowerShell to obtain the data. The following script provides two columns of comma (semicolon actually 🙂 ) separated values. The first column lists the name of the process (along with a dash and then the process id, in order to better tell the processes apart). The second column lists the virtual memory (in MB) that the process occupies.

$output = "ProcessName" + ";" + "VirtualMemory(MB)"
$output

$processes = Get-Process

foreach ($process in $processes)
{
$output = $process.ProcessName + "-" + $process.Id + ";" + ([int]($process.VM/1MB)).ToString()
$output
}

By redirecting the output of this script to a file, we obtain a csv file that lists the processes and their corresponding virtual memory.  Here is a sample output from a Windows 7 Ultimate (with Service Pack 1) 32-bit OS:

ProcessName;VirtualMemory(MB)
audiodg-6036;45
conhost-5036;51
csrss-376;35
csrss-440;202
dllhost-3868;36
dwm-3032;208
explorer-3056;312
firefox-5900;982
FirefoxPortable-1404;106
FirefoxPortable-4308;105
FirefoxPortable-5168;106
Greenshot-3428;158
GrooveMonitor-3208;66
hkcmd-3264;54
Idle-0;0
igfxpers-3288;53
igfxsrvc-3296;41
lsass-508;37
lsm-524;18
MsDepSvc-1720;117
MsMpEng-800;405
msseces-3308;114
NisSrv-2528;55
powershell_ise-4644;340
PresentationFontCache-2752;116
SearchFilterHost-5416;38
SearchIndexer-3556;263
SearchProtocolHost-3900;52
services-476;39
smss-280;4
spoolsv-1464;66
sppsvc-484;30
sqlbrowser-444;25
sqlservr-2012;1556
sqlwriter-848;30
svchost-656;45
svchost-732;34
svchost-928;93
svchost-964;168
svchost-996;134
svchost-1148;65
svchost-1196;26
svchost-1300;104
svchost-1384;34
svchost-1492;60
svchost-1596;33
svchost-1636;79
svchost-3812;80
System-4;19
taskhost-3064;67
taskhost-3348;66
TeamViewer_Service-1816;73
vmnat-1952;37
vmnetdhcp-2068;27
vmware-authd-2184;83
vmware-usbarbitrator-2128;52
wininit-428;30

Here are these data depicted using a 2-D column chart in Excel 2007:

Microsoft Excel - output

I also used the free Tableau Desktop Public Edition to create two more visualizations of the same data.  The first is a treemap visualization:

Tableau Public - Treemap

The second is a packed bubbles visualization:

Tableau Public - PackedBubbles

I hope I have whetted your appetite for visualization. The point I am trying to make is that by visualizing the data from your OS, you can gain better insight into its workings.

Advertisements

About Dimitrios Kalemis

I am a systems engineer specializing in Microsoft products and technologies. I am also an author. Please visit my blog to see the blog posts I have written, the books I have written and the applications I have created. I definitely recommend my blog posts under the category "Management", all my books and all my applications. I believe that you will find them interesting and useful. I am in the process of writing more blog posts and books, so please visit my blog from time to time to see what I come up with next. I am also active on other sites; links to those you can find in the "About me" page of my blog.
This entry was posted in Administration. Bookmark the permalink.