PowerCLI: Determine Deployment Times

Surprisingly it can be difficult to track exactly how long a VM has taken to deploy. So, I dug into the events part of powercli and came up with a way to calculate deployment times.

Basically the script is looking for the VMDeingDeployedEvent start time and then the VMDeployedEvent start time. We then take the difference of the 2 and print that out. It also matches up these 2 events based on a “chainid” that makes sure they match up.

If you have a large environment you might have to do many events to go back even a week. In my current environment that is of decent size about 500,000 events went back about a month.

The output is Name, Date, Minutes, Seconds for deploy and shows the oldest to newest, but you can sort it however you like.

Here is the script:

<#
.SYNOPSIS
   <A brief description of the script>
.DESCRIPTION
   <A detailed description of the script>
.PARAMETER <paramName>
   <Description of script parameter>
.EXAMPLE
   <An example of using the script>
#>

$samples = Read-Host "Enter Number of Samples to go back"

$events = Get-VIEvent -maxsamples $samples | where {$_.Gettype().Name -eq "VmBeingDeployedEvent" -or $_.gettype().name -eq "VmDeployedEvent"}
$VMDeployReport = @()
$events | where {$_.Gettype().Name -eq "VmBeingDeployedEvent"} | % {
        $row = "" | Select Name, Date, Minutes, Seconds
        $chainidkey = $_.chainid
        $VmName = ($_.FullFormattedMessage).split('')[1]
        $deployed = $events | where {$_.gettype().name -eq "VmDeployedEvent" -and $_.Chainid -eq $chainidkey}
        $StartTime = $_.createdtime
        #$date = $deployed.CreatedTime.ToString().split('')[0]
        $endtime = $deployed.createdtime
        $time = New-TimeSpan -start $starttime -end $endtime
        $row.Name = $VmName
        $row.date = $EndTime
        $row.Minutes = $time.Minutes
        $row.Seconds = $time.Seconds
        $VMDeployReport += $row
        }
        $VMDeployReport 
Advertisements

Interview with VMware’s Founder

I thought this was a very good interview so I figured I’d share!

Interview with Vmware Founder