PowerShell Stopwatch
One component of metrics you can take is measuring how long your scripts take to run. I have a few scripts for powershell and wanted to have a line tell me how long it took.
Start
$sw = [Diagnostics.Stopwatch]::StartNew()
Toss this at the start. Setting the $sw
variable to refer to at the end of the script.
Stop
$sw.Stop()
Output
Then output the elapsed time.
$elapsed = $sw.Elapsed.TotalSeconds
Write-Host "Ran $elapsed seconds"
Full
$sw = [Diagnostics.Stopwatch]::StartNew()
...
$sw.Stop()
$elapsed = $sw.Elapsed.TotalSeconds
Write-Host "Ran $elapsed seconds"