| OlapTableSink |  | 0% |  | 0% | 162 | 163 | 490 | 491 | 37 | 38 | 0 | 1 |
| OlapScanNode |   | 32% |   | 27% | 231 | 272 | 499 | 779 | 49 | 76 | 0 | 1 |
| PlanNode |   | 21% |   | 8% | 172 | 208 | 371 | 492 | 60 | 94 | 0 | 1 |
| ScanNode |   | 9% |   | 2% | 137 | 146 | 276 | 309 | 27 | 36 | 0 | 1 |
| HashJoinNode |   | 10% |   | 8% | 78 | 80 | 158 | 181 | 17 | 18 | 0 | 1 |
| GroupCommitPlanner |  | 0% |  | 0% | 44 | 44 | 149 | 149 | 13 | 13 | 1 | 1 |
| RuntimeFilter |   | 28% |   | 12% | 72 | 86 | 136 | 194 | 30 | 42 | 0 | 1 |
| SortNode |  | 0% |  | 0% | 53 | 53 | 127 | 127 | 20 | 20 | 1 | 1 |
| AggregationNode |   | 16% |   | 11% | 29 | 37 | 102 | 131 | 14 | 20 | 0 | 1 |
| AnalyticEvalNode |  | 0% |  | 0% | 23 | 23 | 93 | 93 | 6 | 6 | 1 | 1 |
| RangePartitionPrunerV2 |  | 0% |  | 0% | 42 | 42 | 108 | 108 | 11 | 11 | 1 | 1 |
| PlanFragment |   | 41% |   | 26% | 61 | 96 | 94 | 189 | 24 | 55 | 0 | 1 |
| NestedLoopJoinNode |   | 7% |   | 16% | 39 | 42 | 78 | 80 | 9 | 11 | 0 | 1 |
| DataStreamSink |   | 7% |  | 0% | 46 | 48 | 94 | 107 | 23 | 25 | 0 | 1 |
| SchemaScanNode |  | 0% |  | 0% | 29 | 29 | 82 | 82 | 14 | 14 | 1 | 1 |
| TVFTableSink |  | 0% |  | 0% | 26 | 26 | 81 | 81 | 9 | 9 | 1 | 1 |
| IcebergTableSink |  | 0% |  | 0% | 27 | 27 | 84 | 84 | 6 | 6 | 1 | 1 |
| PartitionSortNode |  | 0% |  | 0% | 20 | 20 | 73 | 73 | 3 | 3 | 1 | 1 |
| SetOperationNode |   | 21% |  | 5% | 21 | 29 | 61 | 86 | 4 | 11 | 0 | 1 |
| BackendPartitionedSchemaScanNode |  | 0% |  | 0% | 16 | 16 | 73 | 73 | 8 | 8 | 1 | 1 |
| ListPartitionPrunerV2 |   | 27% |   | 17% | 27 | 36 | 75 | 100 | 14 | 21 | 0 | 1 |
| MaterializationNode |  | 0% |  | 0% | 16 | 16 | 67 | 67 | 11 | 11 | 1 | 1 |
| ResultFileSink |  | 0% |  | 0% | 21 | 21 | 59 | 59 | 13 | 13 | 1 | 1 |
| TableFunctionNode |  | 0% |  | 0% | 15 | 15 | 53 | 53 | 5 | 5 | 1 | 1 |
| PartitionPrunerV2Base |   | 20% |   | 14% | 23 | 27 | 65 | 79 | 9 | 13 | 0 | 1 |
| HiveTableSink |   | 55% |   | 37% | 18 | 27 | 56 | 131 | 2 | 10 | 0 | 1 |
| DataPartition |   | 28% |   | 22% | 27 | 35 | 45 | 67 | 4 | 10 | 0 | 1 |
| PartitionColumnFilter |   | 14% |  | 6% | 17 | 23 | 41 | 54 | 2 | 8 | 0 | 1 |
| DataGenScanNode |  | 0% |  | 0% | 15 | 15 | 44 | 44 | 9 | 9 | 1 | 1 |
| RepeatNode |  | 0% |  | 0% | 10 | 10 | 33 | 33 | 8 | 8 | 1 | 1 |
| ExportSink |  | 0% |  | 0% | 9 | 9 | 35 | 35 | 6 | 6 | 1 | 1 |
| DictionarySink |  | 0% |  | 0% | 12 | 12 | 43 | 43 | 9 | 9 | 1 | 1 |
| MaxComputeTableSink |  | 0% |  | 0% | 14 | 14 | 37 | 37 | 6 | 6 | 1 | 1 |
| Planner |  | 7% |  | 0% | 15 | 18 | 42 | 46 | 6 | 9 | 0 | 1 |
| FileLoadScanNode |  | 0% |  | 0% | 10 | 10 | 33 | 33 | 4 | 4 | 1 | 1 |
| IcebergMergeSink |   | 58% |   | 50% | 13 | 22 | 31 | 80 | 1 | 6 | 0 | 1 |
| ExchangeNode |   | 42% |  | 10% | 19 | 25 | 27 | 52 | 10 | 15 | 0 | 1 |
| ScanNode.ColumnRanges |  | 0% |  | 0% | 20 | 20 | 38 | 38 | 9 | 9 | 1 | 1 |
| AssertNumRowsNode |  | 0% |  | 0% | 8 | 8 | 30 | 30 | 5 | 5 | 1 | 1 |
| JoinNodeBase |   | 42% |   | 36% | 16 | 18 | 21 | 38 | 6 | 8 | 0 | 1 |
| RecursiveCteNode |  | 0% | | 0% | 9 | 9 | 26 | 26 | 8 | 8 | 1 | 1 |
| DataPartition.MergePartitionInfo |  | 0% |  | 0% | 7 | 7 | 27 | 27 | 2 | 2 | 1 | 1 |
| BaseExternalTableDataSink |   | 31% |   | 26% | 18 | 23 | 26 | 40 | 5 | 8 | 0 | 1 |
| PartitionPruneV2ForShortCircuitPlan |  | 13% |  | 0% | 9 | 11 | 21 | 26 | 6 | 8 | 0 | 1 |
| ColumnRange |  | 0% |  | 0% | 17 | 17 | 24 | 24 | 10 | 10 | 1 | 1 |
| MultiCastDataSink |  | 0% | | 0% | 9 | 9 | 21 | 21 | 8 | 8 | 1 | 1 |
| RangeMap |  | 12% |  | 0% | 9 | 10 | 18 | 20 | 3 | 4 | 0 | 1 |
| MysqlTableSink |  | 0% | | n/a | 5 | 5 | 18 | 18 | 5 | 5 | 1 | 1 |
| DataPartition.IcebergPartitionField |  | 0% |  | 0% | 6 | 6 | 18 | 18 | 3 | 3 | 1 | 1 |
| ResultSink |   | 31% |  | 16% | 8 | 10 | 18 | 29 | 5 | 7 | 0 | 1 |
| RecursiveCteScanNode |  | 0% | | 0% | 7 | 7 | 17 | 17 | 6 | 6 | 1 | 1 |
| JoinCostEvaluation |   | 74% |   | 66% | 5 | 16 | 8 | 44 | 0 | 7 | 0 | 1 |
| TabletLoadIndexRecorderMgr |  | 19% |  | 0% | 6 | 8 | 13 | 18 | 4 | 6 | 0 | 1 |
| GroupCommitBlockSink |  | 18% |   | 50% | 8 | 9 | 18 | 23 | 4 | 5 | 0 | 1 |
| DataSink |  | 12% |  | 0% | 9 | 11 | 15 | 19 | 4 | 6 | 0 | 1 |
| HashDistributionPruner |   | 75% |   | 59% | 10 | 20 | 12 | 53 | 0 | 4 | 0 | 1 |
| IcebergDeleteSink |   | 74% |   | 60% | 8 | 16 | 12 | 54 | 1 | 6 | 0 | 1 |
| SelectNode |  | 0% |  | 0% | 7 | 7 | 14 | 14 | 5 | 5 | 1 | 1 |
| RangePartitionPrunerV2.RangePartitionUniqueId |  | 0% |  | 0% | 9 | 9 | 14 | 14 | 5 | 5 | 1 | 1 |
| ColumnBound |  | 25% |  | 0% | 7 | 10 | 11 | 16 | 4 | 7 | 0 | 1 |
| TabletLoadIndexRecorderMgr.TabletLoadIndexRecord |  | 0% | | 0% | 4 | 4 | 12 | 12 | 3 | 3 | 1 | 1 |
| ListPartitionPrunerV2.ListPartitionUniqueId |  | 34% |  | 0% | 8 | 10 | 11 | 16 | 3 | 5 | 0 | 1 |
| MultiCastPlanFragment |  | 0% | | n/a | 4 | 4 | 11 | 11 | 4 | 4 | 1 | 1 |
| BlackholeSink |  | 0% | | n/a | 5 | 5 | 12 | 12 | 5 | 5 | 1 | 1 |
| GroupCommitScanNode |  | 0% | | n/a | 6 | 6 | 12 | 12 | 6 | 6 | 1 | 1 |
| RuntimeFilter.RuntimeFilterTarget |   | 60% |  | 33% | 4 | 6 | 2 | 12 | 1 | 3 | 0 | 1 |
| PartitionPrunerV2Base.FinalFilters |  | 0% | | n/a | 5 | 5 | 9 | 9 | 5 | 5 | 1 | 1 |
| HashJoinNode.DistributionMode |  | 57% |  | 0% | 6 | 8 | 8 | 13 | 2 | 4 | 0 | 1 |
| CTEScanNode | | 0% | | n/a | 6 | 6 | 8 | 8 | 6 | 6 | 1 | 1 |
| PartitionPrunerV2Base.FinalFilters.Type | | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| ScanNode.ColumnRanges.Type | | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| RuntimeFilterId | | 32% | | n/a | 2 | 4 | 2 | 5 | 2 | 4 | 0 | 1 |
| PlanFragmentId | | 42% | | n/a | 1 | 3 | 1 | 4 | 1 | 3 | 0 | 1 |
| PlanNodeId | | 42% | | n/a | 1 | 3 | 1 | 4 | 1 | 3 | 0 | 1 |
| IcebergTableSink.new HashSet() {...} | | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| ExceptNode | | 0% | | n/a | 2 | 2 | 4 | 4 | 2 | 2 | 1 | 1 |
| UnionNode | | 43% | | n/a | 2 | 3 | 3 | 5 | 2 | 3 | 0 | 1 |
| ScanContext.Builder | | 74% | | 50% | 2 | 5 | 1 | 7 | 0 | 3 | 0 | 1 |
| RangeMap.RangeComparator | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| IntersectNode | | 54% | | n/a | 1 | 2 | 2 | 4 | 1 | 2 | 0 | 1 |
| EmptySetNode | | 86% | | 50% | 2 | 4 | 1 | 7 | 1 | 3 | 0 | 1 |
| DistributedPlanColocateRule | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| PlannerContext | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| FileLoadScanNode.ParamCreateContext | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| RuntimeFilterGenerator | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ScanContext | | 91% | | 50% | 1 | 5 | 0 | 6 | 0 | 4 | 0 | 1 |
| RuntimeFilterGenerator.FilterSizeLimits |  | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 | 0 | 1 |
| HiveTableSink.new HashSet() {...} | | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 | 0 | 1 |
| PlanNodeId.new IdGenerator() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| RuntimeFilterId.new IdGenerator() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| PlanFragmentId.new IdGenerator() {...} | | 100% | | n/a | 0 | 2 | 0 | 2 | 0 | 2 | 0 | 1 |
| IcebergMergeSink.new HashSet() {...} | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |
| IcebergDeleteSink.new HashSet() {...} | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |