From bbb7cd508d669c28dcc82ae4eca980c0b7d000b1 Mon Sep 17 00:00:00 2001 From: KevinMarquette Date: Sun, 5 Feb 2017 11:48:32 -0800 Subject: [PATCH] Added smoothing of hit counts. Closing brackets were often skipped --- Chronometer/Classes/Chronometer.ps1 | 4 ++++ Chronometer/Classes/MonitoredScript.ps1 | 32 +++++++++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/Chronometer/Classes/Chronometer.ps1 b/Chronometer/Classes/Chronometer.ps1 index fe867df..ce93929 100644 --- a/Chronometer/Classes/Chronometer.ps1 +++ b/Chronometer/Classes/Chronometer.ps1 @@ -42,6 +42,10 @@ class Chronometer [MonitoredScript[]] GetResults() { + foreach($node in $this.FileMap.Values) + { + $node.PostProcessing() + } return $this.FileMap.Values } } diff --git a/Chronometer/Classes/MonitoredScript.ps1 b/Chronometer/Classes/MonitoredScript.ps1 index c2c04d7..e85acf6 100644 --- a/Chronometer/Classes/MonitoredScript.ps1 +++ b/Chronometer/Classes/MonitoredScript.ps1 @@ -46,4 +46,36 @@ class MonitoredScript $this.lastRecord = $record $this.lastNode = $node } + + [void] PostProcessing() + { + $this.lastNode = $null + $this.ExecutionTime = 0 + foreach($node in $this.line) + { + $command = $node.text -replace '\s','' + + switch -Regex ($command) + { + '^}$|^}#|^$' { + if($node.HitCount -eq 0) + { + $node.HitCount = $this.lastNode.HitCount + } + $node.Milliseconds = 0 + $node.Average = 0 + $this.lastNode = $node + } + '^{$|^{#}' { + $node.Milliseconds = 0 + $node.Average = 0 + $this.lastNode = $node + } + default { + $this.lastNode = $node + } + } + $this.ExecutionTime += $node.Milliseconds + } + } } \ No newline at end of file