login vsi company logo login vsi company logo 250x40

Cleaning up esxtop log files using PowerShell - Login VSI Tips and Tricks

Cleaning up esxtop log files using PowerShell - Login VSI Tips and Tricks

Every now and then when doing large scale tests using Login VSI or collecting live performance data I use VMware's esxtop tool to give me a detailed insight to what’s going on at the host. While esxtop provides great insights, sometimes it’s just a little bit too much information. This got me thinking, how can I quickly sanitize the log file so it only contains information that is actually relevant for me at this moment?

And, of course, the first thing that comes to mind is a few lines of PowerShell. I simply import the csv file collected using esxtop and export it again containing only the columns of information I like. So let’s import the esxtop logfile using the Import-CSV command, select the data I like using select-object and throw it out again using export-csv.

cleaning up esxtop log files using powershell error

Hmmm, what’s happening here? This should have been a fairly straight forward. Analyzing it a bit further, I found out that this is because there is a comma ending every line.

cleaning up esxtop log files using powershell error comma

Luckily PowerShell allows me to fix that before I feed the content to import-csv. While experimenting, I figure at this point it’s probably best to create a simple script that does the following:

  • Point to the esxtop log that I would like to filter
  • Import the “broken” csv file
  • Remove the last character from every line
  • Import the “fixed” CSV file
  • Select the counters of my choice
    • *\Physical Cpu(_Total)\% Util Time
    • *\Physical Disk Adapter(vmhba0)\Commands/sec
    • *\Physical Disk Adapter(vmhba0)\Reads/sec
    • *\Physical Disk Adapter(vmhba0)\Writes/sec
  • Write it to a new file (export.csv)
  • Clean up
Write-Host Select file
$fd = New-Object system.windows.forms.openfiledialog
$fd.MultiSelect = $false
$fd.showdialog()
$fd.filenames
Write-Host Read file
$lines=@()
$text = Get-Content -Path $fd.filenames
$text | %{ $lines += $_.SubString(0,$_.Length-1) }
$FixedFilename = $fd.filenames -replace ".csv", ".fixed"
$FilteredFilename = $fd.filenames -replace ".csv", ".filtered"
Write-Host Write fixed logfile
Set-Content -Path $FixedFilename -Value $Lines
Write-Host Read fixed logfile
$csv = import-csv -path $FixedFilename
Write-Host Write filtered logfile
$csv | select-object "*\Physical Cpu(_Total)\% Util Time", "*\Physical Disk Adapter(vmhba0)\Commands/sec", "*\Physical Disk Adapter(vmhba0)\Reads/sec", "*\Physical Disk Adapter(vmhba0)\Writes/sec" | export-csv  export.csv -notypeinformation
Write-Host Delete temp files
remove-item $FixedFilename 

For those of you who have their regional settings setup in a way that Excel does not require the comma fix, that’s great! Otherwise you can now live knowing that your log files will be a lot smaller :-).

Also, make sure to read this blog about PowerShell.

About the author

Mark Plettenberg (@markplettenberg) is a product manager of Login VSI and has played a critical role in the development and growth of Login VSI. Ask Mark about motorcycle mechanics and breaking/repairing anything and everything that has a power plug.


Tags: How-to, Login VSI, VMware, Load Testing, Best Practices, Support, Scripts

Popular Blogs

Windows Virtual Desktop - Update - December 2019

Windows Virtual Desktop Enhanced in the Latest Update

A lot has already been written about WVD in the last months. And while I had my initial concerns on this service many people are suggesting that they are willing to move to a platform like WVD in the next two years. Continue Reading
Login VSI - Press Release - Login VSI Releases Login Enterprise 4.0

[Press Release] Login VSI Releases Login Enterprise 4.0

Login VSI Releases Login Enterprise 4.0 New Application Load Testing Functionality Maximizes End-User Experience Continue Reading
Login VSI and Ymor Form Partnership to Deliver Performance Improvement to Business-Critical Applications

[Press Release] Login VSI and Ymor Form Partnership to Deliver Performance Improvement to Business-Critical Applications

The partnership offers a total solution for enterprise organizations to monitor and test business-critical applications from end-to-end via VDI or in the Cloud. Ymor offers various monitoring solutions, used to test and monitor the performance of critical business chains from end-to-end. In VDI environments, Ymor can now offer the monitoring solutions of Login VSI. Continue Reading
[Press Release] IGEL Expands Alliance with Login VSI; Integrates Login Enterprise into IGEL OS 11.03

[Press Release] IGEL Expands Alliance with Login VSI

Integrating Login Enterprise into IGEL OS 11.03 The combined solution enables IT organizations to leverage their IGEL infrastructure to continuously test the performance and availability of virtual and cloud workspaces. Continue Reading
Login VSI - Validating Your Remote Infrastructure at Scale - Man at Desk

Enabling Your Remote Workforce

Given recent global events, a majority of my users may need to work remotely. Many of our customers have been asking us if we can help them test the user-experience for their remote workforce, as well as the infrastructure that delivers it. We have seen requests range from the quality of the remote user-experience to the ability of their VPN to handle the throughput of a large volume of concurrent connections. Continue Reading
Login VSI Releases Login Enterprise 4.1

[Press Release] Login VSI Releases Login Enterprise 4.1

Login VSI Releases Login Enterprise 4.1 Comprehensive Testing Platform Ensures Business Continuity Continue Reading