>From Peeyush Gupta <[email protected]>:

Peeyush Gupta has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20771?usp=email )


Change subject: [NO ISSUE][API] Incorrect elapsed time in status/result API
......................................................................

[NO ISSUE][API] Incorrect elapsed time in status/result API

- user model changes: no
- storage format changes: no
- interface changes: no

Change-Id: Id5fd38b4273d1a3c98936cea63b8c879e474d619
---
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
M 
asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java
2 files changed, 13 insertions(+), 10 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/71/20771/1

diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
index 21f2267..195d5cd 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryResultApiServlet.java
@@ -20,6 +20,7 @@

 import java.io.IOException;
 import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.TimeUnit;

 import org.apache.asterix.app.result.ResponseMetrics;
 import org.apache.asterix.app.result.ResponsePrinter;
@@ -165,7 +166,7 @@
     }

     private ResponseMetrics buildMetrics(Stats stats, ResultMetadata metadata) 
{
-        long endTime = System.currentTimeMillis();
+        long endTime = System.nanoTime();
         stats.setProcessedObjects(metadata.getProcessedObjects());
         stats.setQueueWaitTime(metadata.getQueueWaitTimeInNanos());
         stats.setBufferCacheHitRatio(metadata.getBufferCacheHitRatio());
@@ -174,11 +175,11 @@
         stats.setCloudPagesReadCount(metadata.getCloudPagesReadCount());
         
stats.setCloudPagesPersistedCount(metadata.getCloudPagesPersistedCount());
         stats.updateTotalWarningsCount(metadata.getTotalWarningsCount());
-        return ResponseMetrics.of(endTime - metadata.getCreateTime(), 
metadata.getJobDuration(), stats.getCount(),
-                stats.getSize(), metadata.getProcessedObjects(), 0, 
metadata.getTotalWarningsCount(),
-                metadata.getCompileTime(), stats.getQueueWaitTime(), 
stats.getBufferCacheHitRatio(),
-                stats.getBufferCachePageReadCount(), 
stats.getCloudReadRequestsCount(), stats.getCloudPagesReadCount(),
-                stats.getCloudPagesPersistedCount());
+        return ResponseMetrics.of(endTime - 
TimeUnit.MILLISECONDS.toNanos(metadata.getCreateTime()),
+                metadata.getJobDuration(), stats.getCount(), stats.getSize(), 
metadata.getProcessedObjects(), 0,
+                metadata.getTotalWarningsCount(), metadata.getCompileTime(), 
stats.getQueueWaitTime(),
+                stats.getBufferCacheHitRatio(), 
stats.getBufferCachePageReadCount(), stats.getCloudReadRequestsCount(),
+                stats.getCloudPagesReadCount(), 
stats.getCloudPagesPersistedCount());
     }

     /**
diff --git 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java
 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java
index 9052f8f..ed421e8 100644
--- 
a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java
+++ 
b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/http/server/QueryStatusApiServlet.java
@@ -22,6 +22,7 @@
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;

 import org.apache.asterix.app.result.ResponseMetrics;
@@ -90,9 +91,9 @@
             case QUEUED, RUNNING -> {}
         }
         printer.printResults();
-        if (uriMode) {
+//        if (uriMode) {
             printMetricsAndFooters(printer, resultReader, request);
-        }
+//        }
         printer.end();
         if (response.writer().checkError()) {
             LOGGER.warn("Error flushing output writer");
@@ -180,8 +181,9 @@
             stats.updateTotalWarningsCount(metadata.getTotalWarningsCount());
             long endTime = System.currentTimeMillis();
             ResponseMetrics metrics =
-                    ResponseMetrics.of(endTime - metadata.getCreateTime(), 
metadata.getJobDuration(), stats.getCount(),
-                            stats.getSize(), metadata.getProcessedObjects(), 
0, metadata.getTotalWarningsCount(),
+                    ResponseMetrics.of(TimeUnit.MILLISECONDS.toNanos(endTime - 
metadata.getCreateTime()),
+                            metadata.getJobDuration(), stats.getCount(), 
stats.getSize(),
+                            metadata.getProcessedObjects(), 0, 
metadata.getTotalWarningsCount(),
                             metadata.getCompileTime(), 
stats.getQueueWaitTime(), stats.getBufferCacheHitRatio(),
                             stats.getBufferCachePageReadCount(), 
stats.getCloudReadRequestsCount(),
                             stats.getCloudPagesReadCount(), 
stats.getCloudPagesPersistedCount());

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/20771?usp=email
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings?usp=email

Gerrit-MessageType: newchange
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: Id5fd38b4273d1a3c98936cea63b8c879e474d619
Gerrit-Change-Number: 20771
Gerrit-PatchSet: 1
Gerrit-Owner: Peeyush Gupta <[email protected]>

Reply via email to