diff --git a/core/trino-main/src/main/java/io/trino/sql/planner/planprinter/PlanNodeStatsSummarizer.java b/core/trino-main/src/main/java/io/trino/sql/planner/planprinter/PlanNodeStatsSummarizer.java index f8ab93317359..24dd1d9e5472 100644 --- a/core/trino-main/src/main/java/io/trino/sql/planner/planprinter/PlanNodeStatsSummarizer.java +++ b/core/trino-main/src/main/java/io/trino/sql/planner/planprinter/PlanNodeStatsSummarizer.java @@ -106,11 +106,17 @@ private static List getPlanNodeStats(TaskStats taskStats) planNodeCpuMillis.merge(planNodeId, cpuMillis, Long::sum); planNodeBlockedMillis.merge(planNodeId, operatorStats.getBlockedWall().toMillis(), Long::sum); + planNodeSpilledDataSize.merge(planNodeId, operatorStats.getSpilledDataSize().toBytes(), Long::sum); - // A pipeline like hash build before join might link to another "internal" pipelines which provide actual input for this plan node + // A plan node like LocalExchange consists of LocalExchangeSource which links to another pipeline containing LocalExchangeSink if (operatorStats.getPlanNodeId().equals(inputPlanNode) && !pipelineStats.isInputPipeline()) { continue; } + // Skip DynamicFilterSourceOperator as input operator as for join build side HashBuilderOperator metrics + // should be reported + if (operatorStats.getOperatorType().equals("DynamicFilterSourceOperator")) { + continue; + } if (processedNodes.contains(planNodeId)) { continue; } @@ -128,7 +134,6 @@ private static List getPlanNodeStats(TaskStats taskStats) planNodeInputPositions.merge(planNodeId, operatorStats.getInputPositions(), Long::sum); planNodeInputBytes.merge(planNodeId, operatorStats.getInputDataSize().toBytes(), Long::sum); - planNodeSpilledDataSize.merge(planNodeId, operatorStats.getSpilledDataSize().toBytes(), Long::sum); processedNodes.add(planNodeId); } diff --git a/core/trino-main/src/main/java/io/trino/sql/planner/planprinter/TextRenderer.java b/core/trino-main/src/main/java/io/trino/sql/planner/planprinter/TextRenderer.java index 898386e3c4d6..99ca90e247d8 100644 --- a/core/trino-main/src/main/java/io/trino/sql/planner/planprinter/TextRenderer.java +++ b/core/trino-main/src/main/java/io/trino/sql/planner/planprinter/TextRenderer.java @@ -247,13 +247,6 @@ private static Map translateOperatorTypes(Set operators) "HashBuilderOperator", "Right (build) "); } - if (operators.contains("LookupJoinOperator") && operators.contains("DynamicFilterSourceOperator")) { - // join plan node - return ImmutableMap.of( - "LookupJoinOperator", "Left (probe) ", - "DynamicFilterSourceOperator", "Right (build) "); - } - return ImmutableMap.of(); }