diff options
author | Luck <git@lucko.me> | 2018-05-31 17:03:57 +0100 |
---|---|---|
committer | Luck <git@lucko.me> | 2018-05-31 17:03:57 +0100 |
commit | e1baaa4d0a0f67be82bb58ad10743d5fe46fd8fc (patch) | |
tree | 932a731d00dd8377cccf994da8636f498efa7863 /common/src/main/java/me/lucko/spark | |
parent | cbd5325a0837f3ee57682ada657d4cd7c3e6ee37 (diff) | |
download | spark-e1baaa4d0a0f67be82bb58ad10743d5fe46fd8fc.tar.gz spark-e1baaa4d0a0f67be82bb58ad10743d5fe46fd8fc.tar.bz2 spark-e1baaa4d0a0f67be82bb58ad10743d5fe46fd8fc.zip |
Cache the average value
Diffstat (limited to 'common/src/main/java/me/lucko/spark')
-rw-r--r-- | common/src/main/java/me/lucko/spark/common/TickMonitor.java | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/common/src/main/java/me/lucko/spark/common/TickMonitor.java b/common/src/main/java/me/lucko/spark/common/TickMonitor.java index e6342c4..efe79ab 100644 --- a/common/src/main/java/me/lucko/spark/common/TickMonitor.java +++ b/common/src/main/java/me/lucko/spark/common/TickMonitor.java @@ -15,6 +15,7 @@ public abstract class TickMonitor implements Runnable { private double lastTickTime = 0; private State state = null; private DoubleSummaryStatistics averageTickTime = new DoubleSummaryStatistics(); + private double avg; public TickMonitor(TickCounter tickCounter, int percentageChangeThreshold) { this.tickCounter = tickCounter; @@ -39,7 +40,7 @@ public abstract class TickMonitor implements Runnable { this.state = State.SETUP; this.lastTickTime = now; sendMessage("Tick monitor started. Before the monitor becomes fully active, the server's " + - "average tick rate will be calculated over a period of 100 ticks (approx 5 seconds)."); + "average tick rate will be calculated over a period of 120 ticks (approx 6 seconds)."); return; } @@ -52,7 +53,7 @@ public abstract class TickMonitor implements Runnable { this.averageTickTime.accept(diff); // move onto the next state - if (this.averageTickTime.getCount() >= 100) { + if (this.averageTickTime.getCount() >= 120) { sendMessage("&bAnalysis is now complete."); sendMessage("&f> &7Max: " + df.format(this.averageTickTime.getMax()) + "ms"); @@ -60,19 +61,19 @@ public abstract class TickMonitor implements Runnable { sendMessage("&f> &7Avg: " + df.format(this.averageTickTime.getAverage()) + "ms"); sendMessage("Starting now, any ticks with >" + this.percentageChangeThreshold + "% increase in " + "duration compared to the average will be reported."); + + this.avg = this.averageTickTime.getAverage(); this.state = State.MONITORING; } } if (this.state == State.MONITORING) { - double avg = this.averageTickTime.getAverage(); - - double increase = diff - avg; + double increase = diff - this.avg; if (increase <= 0) { return; } - double percentageChange = (increase * 100d) / avg; + double percentageChange = (increase * 100d) / this.avg; if (percentageChange > this.percentageChangeThreshold) { sendMessage("&7Tick &8#" + this.tickCounter.getCurrentTick() + " &7lasted &b" + df.format(diff) + "&7 milliseconds. " + "&7(a &b" + df.format(percentageChange) + "% &7increase from average)"); |