diff --git a/presto-main-base/src/main/java/com/facebook/presto/event/QueryMonitor.java b/presto-main-base/src/main/java/com/facebook/presto/event/QueryMonitor.java index 47fc198538ba7..6dda985cca656 100644 --- a/presto-main-base/src/main/java/com/facebook/presto/event/QueryMonitor.java +++ b/presto-main-base/src/main/java/com/facebook/presto/event/QueryMonitor.java @@ -223,6 +223,7 @@ public void queryImmediateFailureEvent(BasicQueryInfo queryInfo, ExecutionFailur ofMillis(0), ofMillis(0), ofMillis(0), + ofMillis(0), ofMillis(queryInfo.getQueryStats().getWaitingForPrerequisitesTime().toMillis()), ofMillis(queryInfo.getQueryStats().getQueuedTime().toMillis()), ofMillis(0), @@ -430,6 +431,7 @@ private QueryStatistics createQueryStatistics(QueryInfo queryInfo) return new QueryStatistics( ofMillis(queryStats.getTotalCpuTime().toMillis()), ofMillis(queryStats.getRetriedCpuTime().toMillis()), + ofMillis(queryStats.getElapsedTime().toMillis()), ofMillis(queryStats.getTotalScheduledTime().toMillis()), ofMillis(queryStats.getWaitingForPrerequisitesTime().toMillis()), ofMillis(queryStats.getQueuedTime().toMillis()), @@ -470,6 +472,7 @@ private QueryStatistics createQueryStatistics(BasicQueryInfo basicQueryInfo) return new QueryStatistics( ofMillis(queryStats.getTotalCpuTime().toMillis()), ofMillis(0), + ofMillis(queryStats.getElapsedTime().toMillis()), ofMillis(queryStats.getTotalScheduledTime().toMillis()), ofMillis(queryStats.getWaitingForPrerequisitesTime().toMillis()), ofMillis(queryStats.getQueuedTime().toMillis()), diff --git a/presto-main/src/test/java/com/facebook/presto/eventlistener/TestEventListenerManager.java b/presto-main/src/test/java/com/facebook/presto/eventlistener/TestEventListenerManager.java index 4e6d4750f13da..098e7ff39ef2a 100644 --- a/presto-main/src/test/java/com/facebook/presto/eventlistener/TestEventListenerManager.java +++ b/presto-main/src/test/java/com/facebook/presto/eventlistener/TestEventListenerManager.java @@ -222,6 +222,7 @@ public static QueryStatistics createDummyQueryStatistics() Duration cpuTime = Duration.ofMillis(1000); Duration retriedCpuTime = Duration.ofMillis(500); Duration wallTime = Duration.ofMillis(2000); + Duration totalScheduledTime = Duration.ofMillis(2000); Duration waitingForPrerequisitesTime = Duration.ofMillis(300); Duration queuedTime = Duration.ofMillis(1500); Duration waitingForResourcesTime = Duration.ofMillis(600); @@ -257,6 +258,7 @@ public static QueryStatistics createDummyQueryStatistics() cpuTime, retriedCpuTime, wallTime, + totalScheduledTime, waitingForPrerequisitesTime, queuedTime, waitingForResourcesTime, diff --git a/presto-spi/src/main/java/com/facebook/presto/spi/eventlistener/QueryStatistics.java b/presto-spi/src/main/java/com/facebook/presto/spi/eventlistener/QueryStatistics.java index 16675facc380f..7004a91f5dd9d 100644 --- a/presto-spi/src/main/java/com/facebook/presto/spi/eventlistener/QueryStatistics.java +++ b/presto-spi/src/main/java/com/facebook/presto/spi/eventlistener/QueryStatistics.java @@ -25,6 +25,7 @@ public class QueryStatistics private final Duration cpuTime; private final Duration retriedCpuTime; private final Duration wallTime; + private final Duration totalScheduledTime; private final Duration waitingForPrerequisitesTime; private final Duration queuedTime; private final Duration waitingForResourcesTime; @@ -64,6 +65,7 @@ public QueryStatistics( Duration cpuTime, Duration retriedCpuTime, Duration wallTime, + Duration totalScheduledTime, Duration waitingForPrerequisitesTime, Duration queuedTime, Duration waitingForResourcesTime, @@ -98,6 +100,7 @@ public QueryStatistics( this.cpuTime = requireNonNull(cpuTime, "cpuTime is null"); this.retriedCpuTime = requireNonNull(retriedCpuTime, "retriedCpuTime is null"); this.wallTime = requireNonNull(wallTime, "wallTime is null"); + this.totalScheduledTime = requireNonNull(totalScheduledTime, "totalScheduledTime is null"); this.waitingForPrerequisitesTime = requireNonNull(waitingForPrerequisitesTime, "waitingForPrerequisitesTime is null"); this.queuedTime = requireNonNull(queuedTime, "queuedTime is null"); this.waitingForResourcesTime = requireNonNull(waitingForResourcesTime, "waitingForResourcesTime is null"); @@ -145,6 +148,11 @@ public Duration getWallTime() return wallTime; } + public Duration getTotalScheduledTime() + { + return totalScheduledTime; + } + public Duration getWaitingForPrerequisitesTime() { return waitingForPrerequisitesTime;