Skip to content


PlanSummary is a utility to build a plan summary of a query (represented by an ExecutionStep).

Operator Names

Map<Class<? extends ExecutionStep>, String> OP_NAME

PlanSummary defines OP_NAME registry of ExecutionSteps and their names to use for a summary of execution plans.

ExecutionStep Operator Name
StreamAggregate AGGREGATE
StreamWindowedAggregate AGGREGATE
StreamFilter FILTER
StreamFlatMap FLAT_MAP
StreamGroupByV1 GROUP_BY
StreamGroupBy GROUP_BY
StreamGroupByKey GROUP_BY
StreamSelect PROJECT
StreamSelectKeyV1 REKEY
StreamSelectKey REKEY
StreamSink SINK
StreamSource SOURCE
StreamStreamJoin JOIN
StreamTableJoin JOIN
WindowedStreamSource SOURCE
TableAggregate AGGREGATE
TableFilter FILTER
TableGroupByV1 GROUP_BY
TableGroupBy GROUP_BY
TableSelect PROJECT
TableSelectKey REKEY
TableSink SINK
TableTableJoin JOIN
ForeignKeyTableTableJoin JOIN
TableSourceV1 SOURCE
TableSource SOURCE
TableSuppress SUPPRESS
WindowedTableSource SOURCE


String summarize(
  ExecutionStep<?> step) // (1)!
StepSummary summarize(
  ExecutionStep<?> step,
  String indent)
  1. Uses an empty indent

summarize builds plan summaries of the sources (of the given ExecutionStep).

summarize builds the LogicalSchema of the execution plan (with the given ExecutionStep and the plan summaries of the sources).

summarize builds the query logger name.

In the end, summarize combines it all (alongside the sources).

summarize is used when: