Skip to content

Commit ae60de8

Browse files
committed
Add planner phase metrics to yaml-tests
1 parent bf24f34 commit ae60de8

File tree

3 files changed

+32
-11
lines changed

3 files changed

+32
-11
lines changed

yaml-tests/src/main/java/com/apple/foundationdb/relational/yamltests/YamlExecutionContext.java

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -427,16 +427,21 @@ public void saveMetricsAsYaml() {
427427
final var info = entry.getValue();
428428
final var countersAndTimers = info.getCountersAndTimers();
429429
final var infoMap =
430-
ImmutableMap.<String, Object>of("query", identifier.getQuery(),
431-
"explain", info.getExplain(),
432-
"task_count", countersAndTimers.getTaskCount(),
433-
"task_total_time_ms", TimeUnit.NANOSECONDS.toMillis(countersAndTimers.getTaskTotalTimeNs()),
434-
"transform_count", countersAndTimers.getTransformCount(),
435-
"transform_time_ms", TimeUnit.NANOSECONDS.toMillis(countersAndTimers.getTransformTimeNs()),
436-
"transform_yield_count", countersAndTimers.getTransformYieldCount(),
437-
"insert_time_ms", TimeUnit.NANOSECONDS.toMillis(countersAndTimers.getInsertTimeNs()),
438-
"insert_new_count", countersAndTimers.getInsertNewCount(),
439-
"insert_reused_count", countersAndTimers.getInsertReusedCount());
430+
ImmutableMap.<String, Object>ofEntries(
431+
Map.entry("query", identifier.getQuery()),
432+
Map.entry("explain", info.getExplain()),
433+
Map.entry("task_count", countersAndTimers.getTaskCount()),
434+
Map.entry("rewriting_phase_task_count", countersAndTimers.getRewritingPhaseTaskCount()),
435+
Map.entry("planning_phase_task_count", countersAndTimers.getPlanningPhaseTaskCount()),
436+
Map.entry("task_total_time_ms", TimeUnit.NANOSECONDS.toMillis(countersAndTimers.getTaskTotalTimeNs())),
437+
Map.entry("rewriting_phase_task_total_time_ms", TimeUnit.NANOSECONDS.toMillis(countersAndTimers.getRewritingPhaseTaskTotalTimeNs())),
438+
Map.entry("planning_phase_task_total_time_ms", TimeUnit.NANOSECONDS.toMillis(countersAndTimers.getPlanningPhaseTaskTotalTimeNs())),
439+
Map.entry("transform_count", countersAndTimers.getTransformCount()),
440+
Map.entry("transform_time_ms", TimeUnit.NANOSECONDS.toMillis(countersAndTimers.getTransformTimeNs())),
441+
Map.entry("transform_yield_count", countersAndTimers.getTransformYieldCount()),
442+
Map.entry("insert_time_ms", TimeUnit.NANOSECONDS.toMillis(countersAndTimers.getInsertTimeNs())),
443+
Map.entry("insert_new_count", countersAndTimers.getInsertNewCount()),
444+
Map.entry("insert_reused_count", countersAndTimers.getInsertReusedCount()));
440445
mmap.put(identifier.getBlockName(), infoMap);
441446
}
442447

yaml-tests/src/main/java/com/apple/foundationdb/relational/yamltests/command/QueryConfig.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,11 @@ void checkResultInternal(@Nonnull String currentQuery, @Nonnull Object actual, @
299299
.setTransformYieldCount(actualPlannerMetrics.getLong(5))
300300
.setInsertTimeNs(actualPlannerMetrics.getLong(6))
301301
.setInsertNewCount(actualPlannerMetrics.getLong(7))
302-
.setInsertReusedCount(actualPlannerMetrics.getLong(8)))
302+
.setInsertReusedCount(actualPlannerMetrics.getLong(8))
303+
.setRewritingPhaseTaskCount(actualPlannerMetrics.getLong(9))
304+
.setPlanningPhaseTaskCount(actualPlannerMetrics.getLong(10))
305+
.setRewritingPhaseTaskTotalTimeNs(actualPlannerMetrics.getLong(11))
306+
.setPlanningPhaseTaskTotalTimeNs(actualPlannerMetrics.getLong(12)))
303307
.build();
304308
if (expectedPlannerMetricsInfo == null) {
305309
executionContext.putMetrics(blockName, currentQuery, lineNumber, actualInfo, true);
@@ -315,6 +319,14 @@ void checkResultInternal(@Nonnull String currentQuery, @Nonnull Object actual, @
315319
actualCountersAndTimers,
316320
metricsDescriptor.findFieldByName("task_count"),
317321
lineNumber) |
322+
isMetricDifferent(expectedCountersAndTimers,
323+
actualCountersAndTimers,
324+
metricsDescriptor.findFieldByName("rewriting_phase_task_count"),
325+
lineNumber) |
326+
isMetricDifferent(expectedCountersAndTimers,
327+
actualCountersAndTimers,
328+
metricsDescriptor.findFieldByName("planning_phase_task_count"),
329+
lineNumber) |
318330
isMetricDifferent(expectedCountersAndTimers,
319331
actualCountersAndTimers,
320332
metricsDescriptor.findFieldByName("transform_count"),

yaml-tests/src/main/proto/planner_metrics.proto

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,4 +49,8 @@ message CountersAndTimers {
4949
optional int64 insert_time_ns = 6;
5050
optional int64 insert_new_count = 7;
5151
optional int64 insert_reused_count = 8;
52+
optional int64 rewriting_phase_task_count = 9;
53+
optional int64 planning_phase_task_count = 10;
54+
optional int64 rewriting_phase_task_total_time_ns = 11;
55+
optional int64 planning_phase_task_total_time_ns = 12;
5256
}

0 commit comments

Comments
 (0)