You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sirona.apache.org by rm...@apache.org on 2015/11/11 23:16:04 UTC

svn commit: r1713939 - in /incubator/sirona/trunk: agent/javaagent/src/main/java/org/apache/sirona/javaagent/tracking/PathTracker.java api/src/main/java/org/apache/sirona/pathtracking/PathTrackingInformation.java

Author: rmannibucau
Date: Wed Nov 11 22:16:03 2015
New Revision: 1713939

URL: http://svn.apache.org/viewvc?rev=1713939&view=rev
Log:
SIRONA-52 ensuring we offset properly nanotime

Modified:
    incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/tracking/PathTracker.java
    incubator/sirona/trunk/api/src/main/java/org/apache/sirona/pathtracking/PathTrackingInformation.java

Modified: incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/tracking/PathTracker.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/tracking/PathTracker.java?rev=1713939&r1=1713938&r2=1713939&view=diff
==============================================================================
--- incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/tracking/PathTracker.java (original)
+++ incubator/sirona/trunk/agent/javaagent/src/main/java/org/apache/sirona/javaagent/tracking/PathTracker.java Wed Nov 11 22:16:03 2015
@@ -178,7 +178,6 @@ public class PathTracker
     public void stop( final Object reference )
     {
         final long end = System.nanoTime();
-        final long start = currentPathTrackingInformation.getStart();
         final Context context = THREAD_LOCAL.get();
 
         final String uuid = context.getUuid();
@@ -203,8 +202,8 @@ public class PathTracker
         final PathTrackingEntry pathTrackingEntry =
             new PathTrackingEntry( uuid, NODE, this.currentPathTrackingInformation.getClassName(), //
                                    this.currentPathTrackingInformation.getMethodName(), //
-                                   start, //
-                                   ( end - start ), //
+                                   currentPathTrackingInformation.getStartDateNs(), //
+                                   ( end - currentPathTrackingInformation.getStart() ), //
                                    this.currentPathTrackingInformation.getLevel() );
 
         if ( USE_STORE )

Modified: incubator/sirona/trunk/api/src/main/java/org/apache/sirona/pathtracking/PathTrackingInformation.java
URL: http://svn.apache.org/viewvc/incubator/sirona/trunk/api/src/main/java/org/apache/sirona/pathtracking/PathTrackingInformation.java?rev=1713939&r1=1713938&r2=1713939&view=diff
==============================================================================
--- incubator/sirona/trunk/api/src/main/java/org/apache/sirona/pathtracking/PathTrackingInformation.java (original)
+++ incubator/sirona/trunk/api/src/main/java/org/apache/sirona/pathtracking/PathTrackingInformation.java Wed Nov 11 22:16:03 2015
@@ -17,11 +17,21 @@
 
 package org.apache.sirona.pathtracking;
 
+import java.util.concurrent.TimeUnit;
+
 /**
  * @since 0.2
  */
 public class PathTrackingInformation
 {
+    private static final long OFFSET;
+    static
+    {
+        // nanoTime is a clock solution, we need start date for final query so computing the local offset
+        // to get back a ~ date
+        OFFSET = TimeUnit.MILLISECONDS.toNanos(System.currentTimeMillis()) - System.nanoTime();
+    }
+
     private String className;
 
     private String methodName;
@@ -37,6 +47,11 @@ public class PathTrackingInformation
         this.start = System.nanoTime();
     }
 
+    public long getStartDateNs()
+    {
+        return OFFSET + start;
+    }
+
     public String getClassName()
     {
         return className;