>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]>