Skip to content

Commit

Permalink
Record scheduled time in QueryCompletedEvent
Browse files Browse the repository at this point in the history
  • Loading branch information
aalbu authored and findepi committed Nov 18, 2020
1 parent d19513a commit 9790127
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 1 deletion.
Expand Up @@ -157,6 +157,7 @@ public void queryImmediateFailureEvent(BasicQueryInfo queryInfo, ExecutionFailur
Optional.empty(),
Optional.empty(),
Optional.empty(),
Optional.empty(),
0,
0,
0,
Expand Down Expand Up @@ -238,6 +239,7 @@ private QueryStatistics createQueryStatistics(QueryInfo queryInfo)
ofMillis(queryStats.getTotalCpuTime().toMillis()),
ofMillis(queryStats.getElapsedTime().toMillis()),
ofMillis(queryStats.getQueuedTime().toMillis()),
Optional.of(ofMillis(queryStats.getTotalScheduledTime().toMillis())),
Optional.of(ofMillis(queryStats.getResourceWaitingTime().toMillis())),
Optional.of(ofMillis(queryStats.getAnalysisTime().toMillis())),
Optional.of(ofMillis(queryStats.getPlanningTime().toMillis())),
Expand Down
Expand Up @@ -24,6 +24,7 @@ public class QueryStatistics
private final Duration cpuTime;
private final Duration wallTime;
private final Duration queuedTime;
private final Optional<Duration> scheduledTime;
private final Optional<Duration> waitingTime;
private final Optional<Duration> analysisTime;
private final Optional<Duration> planningTime;
Expand Down Expand Up @@ -69,6 +70,7 @@ public QueryStatistics(
Duration cpuTime,
Duration wallTime,
Duration queuedTime,
Optional<Duration> scheduledTime,
Optional<Duration> waitingTime,
Optional<Duration> analysisTime,
Optional<Duration> planningTime,
Expand Down Expand Up @@ -97,8 +99,9 @@ public QueryStatistics(
{
this.cpuTime = requireNonNull(cpuTime, "cpuTime is null");
this.wallTime = requireNonNull(wallTime, "wallTime is null");
this.waitingTime = requireNonNull(waitingTime, "waitingTime is null");
this.queuedTime = requireNonNull(queuedTime, "queuedTime is null");
this.scheduledTime = requireNonNull(scheduledTime, "scheduledTime is null");
this.waitingTime = requireNonNull(waitingTime, "waitingTime is null");
this.analysisTime = requireNonNull(analysisTime, "analysisTime is null");
this.planningTime = requireNonNull(planningTime, "planningTime is null");
this.executionTime = requireNonNull(executionTime, "executionTime is null");
Expand Down Expand Up @@ -140,6 +143,11 @@ public Duration getQueuedTime()
return queuedTime;
}

public Optional<Duration> getScheduledTime()
{
return scheduledTime;
}

public Optional<Duration> getResourceWaitingTime()
{
return waitingTime;
Expand Down
Expand Up @@ -335,6 +335,7 @@ public void testOutputStats()
assertEquals(statistics.getCpuTime().toMillis(), queryStats.getTotalCpuTime().toMillis());
assertEquals(statistics.getWallTime().toMillis(), queryStats.getElapsedTime().toMillis());
assertEquals(statistics.getQueuedTime().toMillis(), queryStats.getQueuedTime().toMillis());
assertEquals(statistics.getScheduledTime().get().toMillis(), queryStats.getTotalScheduledTime().toMillis());
assertEquals(statistics.getResourceWaitingTime().get().toMillis(), queryStats.getResourceWaitingTime().toMillis());
assertEquals(statistics.getAnalysisTime().get().toMillis(), queryStats.getAnalysisTime().toMillis());
assertEquals(statistics.getPlanningTime().get().toMillis(), queryStats.getPlanningTime().toMillis());
Expand Down
Expand Up @@ -170,6 +170,7 @@ public void testSplitsForNormalQuery()
assertTrue(statistics.isComplete());

// Check only the presence because they are non-deterministic.
assertTrue(statistics.getScheduledTime().isPresent());
assertTrue(statistics.getResourceWaitingTime().isPresent());
assertTrue(statistics.getAnalysisTime().isPresent());
assertTrue(statistics.getPlanningTime().isPresent());
Expand Down

0 comments on commit 9790127

Please sign in to comment.