Do not use calendar time 11/20711/1
authorRobert Varga <rovarga@cisco.com>
Tue, 19 May 2015 10:21:31 +0000 (12:21 +0200)
committerRobert Varga <rovarga@cisco.com>
Tue, 19 May 2015 10:21:31 +0000 (12:21 +0200)
Instead of using System.currentTimeMillis(), as it travels with wall
time. Use nanoTime(), which is faster and monotonic.

Change-Id: I4b1089a23dbeba69acdceb4e0e55a0ec0457612f
Signed-off-by: Robert Varga <rovarga@cisco.com>
openflowplugin-impl/src/main/java/org/opendaylight/openflowplugin/impl/statistics/StatisticsManagerImpl.java

index ea0daf2f3c50d8d7a2517f479c11bbe39f47fb97..31e8f3112fac12860147764fd9f7674ec9ce1dd8 100644 (file)
@@ -149,13 +149,13 @@ public class StatisticsManagerImpl implements StatisticsManager {
         private int marksCount = 0;
 
         public void markStart() {
-            beginningOfTime = System.currentTimeMillis();
+            beginningOfTime = System.nanoTime();
             delta = 0;
             marksCount = 0;
         }
 
         public void addTimeMark() {
-            delta += System.currentTimeMillis() - beginningOfTime;
+            delta += System.nanoTime() - beginningOfTime;
             marksCount++;
         }
 
@@ -164,7 +164,7 @@ public class StatisticsManagerImpl implements StatisticsManager {
             if (marksCount > 0) {
                 average = delta / marksCount;
             }
-            return average;
+            return TimeUnit.NANOSECONDS.toMillis(average);
         }
 
     }