Private/Show-CounterStatistic.ps1
function Show-CounterStatistic { [CmdletBinding()] param( [Parameter(Mandatory=$true)] [PerformanceCounter]$Counter ) $Config = $Counter.GraphConfiguration $colorMap = $Counter.colorMap $Stats = $Counter.Statistics $Indent = " " $StatLine = "" $colorMapOrdered = [ordered]@{} $colorMap.Keys | Sort-Object | ForEach-Object { $colorMapOrdered.add($_, $colorMap[$_]) } $StatLine = "$Indent Current: $($Stats.Current) | Min: $($Stats.Minimum) | Max: $($Stats.Maximum) | Avg: $($Stats.Average)" Write-Host -ForegroundColor $Config.Colors.Statistics -NoNewline $StatLine if ( $Stats.Last5.Count -gt 0 ) { Write-Host -ForegroundColor $Config.Colors.Statistics -NoNewline " | Last 5: " foreach ( $currentValue in $Stats.Last5 ) { $color = for ( $b = 0; $b -lt $colorMapOrdered.Count; $b++ ) { $bound = $colorMapOrdered.Keys[$b] if ( $currentValue -lt $bound ) { $colorMapOrdered[$b] break } } if ( [string]::IsNullOrEmpty($color) ) { $color = $colorMapOrdered[-1] } Write-Host -ForegroundColor $color -NoNewline "$currentValue" Write-Host -ForegroundColor $Config.Colors.Statistics -NoNewline " | " } Write-Host "" } } |