Github user eolivelli commented on a diff in the pull request:
https://github.com/apache/zookeeper/pull/629#discussion_r217911197
--- Diff: src/java/main/org/apache/zookeeper/server/ServerStats.java ---
@@ -54,9 +57,10 @@ synchronized public long getMinLatency() {
return minLatency == Long.MAX_VALUE ? 0 : minLatency;
}
- synchronized public long getAvgLatency() {
+ synchronized public double getAvgLatency() {
if (count != 0) {
- return totalLatency / count;
+ String avgLatency = df.format((double)totalLatency / count);
+ return Double.parseDouble(avgLatency);
--- End diff --
Why don't you this way ?
return totalLatency *1.0 / count
Using format/parse is costly and it can lead to unexpected results,
expecially with floating point values
---