| OlapScanNode |   | 45% |   | 41% | 303 | 430 | 580 | 1,098 | 51 | 112 | 0 | 1 |
| OlapTableSink |   | 30% |   | 25% | 229 | 281 | 527 | 753 | 39 | 61 | 0 | 1 |
| PlanNode |   | 43% |   | 38% | 159 | 241 | 280 | 508 | 48 | 96 | 0 | 1 |
| ScanNode |   | 34% |   | 25% | 133 | 162 | 215 | 332 | 25 | 42 | 0 | 1 |
| GroupCommitPlanner |  | 3% |  | 3% | 43 | 46 | 151 | 158 | 12 | 14 | 0 | 1 |
| HashJoinNode |   | 38% |   | 39% | 63 | 94 | 108 | 201 | 11 | 20 | 0 | 1 |
| RuntimeFilter |   | 46% |   | 32% | 81 | 109 | 118 | 240 | 26 | 47 | 0 | 1 |
| AggregationNode |   | 35% |   | 36% | 51 | 86 | 115 | 183 | 11 | 29 | 0 | 1 |
| RangePartitionPrunerV2 |  | 0% |  | 0% | 42 | 42 | 108 | 108 | 11 | 11 | 1 | 1 |
| SchemaScanNode |  | 0% |  | 0% | 28 | 28 | 84 | 84 | 13 | 13 | 1 | 1 |
| DataStreamSink |  | 7% |  | 0% | 44 | 46 | 92 | 105 | 22 | 24 | 0 | 1 |
| TVFTableSink |  | 0% |  | 0% | 29 | 29 | 90 | 90 | 9 | 9 | 1 | 1 |
| PlanFragment |   | 42% |   | 25% | 60 | 94 | 89 | 182 | 22 | 52 | 0 | 1 |
| NestedLoopJoinNode |   | 32% |   | 33% | 39 | 51 | 72 | 104 | 9 | 14 | 0 | 1 |
| SortNode |   | 32% |   | 23% | 38 | 49 | 76 | 122 | 9 | 17 | 0 | 1 |
| SetOperationNode |   | 38% |   | 41% | 31 | 53 | 60 | 121 | 6 | 17 | 0 | 1 |
| AddLocalExchange |   | 20% |   | 31% | 32 | 44 | 73 | 93 | 7 | 11 | 0 | 1 |
| BackendPartitionedSchemaScanNode |  | 0% |  | 0% | 16 | 16 | 75 | 75 | 8 | 8 | 1 | 1 |
| ListPartitionPrunerV2 |   | 27% |  | 17% | 27 | 36 | 75 | 100 | 14 | 21 | 0 | 1 |
| AnalyticEvalNode |   | 34% |   | 30% | 23 | 33 | 59 | 96 | 5 | 10 | 0 | 1 |
| PartitionPrunerV2Base |  | 5% |  | 0% | 26 | 27 | 72 | 79 | 12 | 13 | 0 | 1 |
| MaterializationNode |   | 12% |  | 0% | 15 | 17 | 62 | 72 | 10 | 12 | 0 | 1 |
| PartitionSortNode |   | 25% |  | 13% | 19 | 24 | 60 | 81 | 2 | 5 | 0 | 1 |
| DataPartition |   | 44% |   | 43% | 28 | 46 | 47 | 94 | 5 | 13 | 0 | 1 |
| ResultFileSink |  | 0% |  | 0% | 20 | 20 | 56 | 56 | 12 | 12 | 1 | 1 |
| TableFunctionNode |   | 25% |  | 15% | 14 | 16 | 40 | 57 | 4 | 6 | 0 | 1 |
| DataGenScanNode |  | 0% |  | 0% | 15 | 15 | 44 | 44 | 9 | 9 | 1 | 1 |
| DictionarySink |  | 0% |  | 0% | 12 | 12 | 43 | 43 | 9 | 9 | 1 | 1 |
| BucketedAggregationNode |  | 0% |  | 0% | 10 | 10 | 36 | 36 | 4 | 4 | 1 | 1 |
| PartitionColumnFilter |  | 18% |  | 6% | 17 | 23 | 41 | 54 | 2 | 8 | 0 | 1 |
| Planner |  | 8% |  | 0% | 15 | 18 | 42 | 46 | 6 | 9 | 0 | 1 |
| FileLoadScanNode |  | 16% |  | 16% | 13 | 14 | 34 | 43 | 4 | 5 | 0 | 1 |
| ExchangeNode |   | 36% |   | 16% | 25 | 33 | 29 | 52 | 10 | 15 | 0 | 1 |
| ScanNode.ColumnRanges |  | 0% |  | 0% | 20 | 20 | 38 | 38 | 9 | 9 | 1 | 1 |
| RepeatNode |   | 35% | | 0% | 7 | 9 | 22 | 35 | 5 | 7 | 0 | 1 |
| DataPartition.MergePartitionInfo |  | 0% |  | 0% | 7 | 7 | 27 | 27 | 2 | 2 | 1 | 1 |
| RecursiveCteNode |   | 33% | | 50% | 10 | 13 | 24 | 37 | 9 | 11 | 0 | 1 |
| PartitionPruneV2ForShortCircuitPlan |  | 13% |  | 0% | 9 | 11 | 21 | 26 | 6 | 8 | 0 | 1 |
| DataPartition.MergePartitionField |  | 0% |  | 0% | 8 | 8 | 23 | 23 | 4 | 4 | 1 | 1 |
| MultiCastDataSink |  | 0% | | 0% | 9 | 9 | 21 | 21 | 8 | 8 | 1 | 1 |
| MysqlTableSink |  | 0% | | n/a | 5 | 5 | 18 | 18 | 5 | 5 | 1 | 1 |
| ColumnRange |  | 15% |  | 21% | 15 | 17 | 22 | 24 | 8 | 10 | 0 | 1 |
| RangeMap |  | 11% |  | 0% | 9 | 10 | 16 | 18 | 3 | 4 | 0 | 1 |
| AssertNumRowsNode |   | 40% | | 0% | 6 | 8 | 17 | 28 | 4 | 6 | 0 | 1 |
| TabletLoadIndexRecorderMgr |  | 19% | | 0% | 6 | 8 | 13 | 18 | 4 | 6 | 0 | 1 |
| JoinNodeBase |  | 25% |  | 22% | 10 | 12 | 12 | 19 | 5 | 7 | 0 | 1 |
| RemoteOlapTableSink |  | 0% | | 0% | 7 | 7 | 16 | 16 | 5 | 5 | 1 | 1 |
| RecursiveCteScanNode |  | 18% | | 0% | 6 | 8 | 15 | 19 | 5 | 7 | 0 | 1 |
| ColumnBound |  | 0% |  | 0% | 10 | 10 | 16 | 16 | 7 | 7 | 1 | 1 |
| HashDistributionPruner |   | 79% |   | 61% | 10 | 23 | 11 | 59 | 0 | 6 | 0 | 1 |
| RangePartitionPrunerV2.RangePartitionUniqueId |  | 0% |  | 0% | 9 | 9 | 14 | 14 | 5 | 5 | 1 | 1 |
| LocalExchangeNode |   | 67% |   | 65% | 8 | 18 | 12 | 39 | 3 | 8 | 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 |
| GroupCommitBlockSink |   | 52% |  | 100% | 3 | 10 | 10 | 26 | 3 | 6 | 0 | 1 |
| ResultSink | | 50% | | 100% | 4 | 7 | 10 | 22 | 4 | 6 | 0 | 1 |
| SelectNode |  | 51% | | 0% | 5 | 7 | 9 | 17 | 3 | 5 | 0 | 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 |
| PartitionPrunerV2Base.FinalFilters | | 0% | | n/a | 5 | 5 | 9 | 9 | 5 | 5 | 1 | 1 |
| DistributionMode | | 63% | | 0% | 6 | 8 | 8 | 16 | 2 | 4 | 0 | 1 |
| PartitionPrunerV2Base.FinalFilters.Type | | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 | 1 | 1 |
| LocalExchangeNode.LocalExchangeType |  | 80% |  | 38% | 8 | 14 | 8 | 26 | 0 | 4 | 0 | 1 |
| RuntimeFilter.RuntimeFilterTarget | | 44% | | n/a | 2 | 3 | 4 | 10 | 2 | 3 | 0 | 1 |
| DataSink | | 45% | | n/a | 4 | 6 | 5 | 9 | 4 | 6 | 0 | 1 |
| RuntimeFilterId | | 56% | | n/a | 1 | 4 | 1 | 5 | 1 | 4 | 0 | 1 |
| PlanFragmentId | | 42% | | n/a | 1 | 3 | 1 | 4 | 1 | 3 | 0 | 1 |
| LocalExchangeNode.LocalExchangeTypeRequire | | 74% | | 0% | 2 | 12 | 2 | 12 | 1 | 11 | 0 | 1 |
| UnionNode | | 40% | | n/a | 2 | 3 | 3 | 5 | 2 | 3 | 0 | 1 |
| PluginDrivenTableSink |  | 97% |  | 79% | 7 | 22 | 2 | 61 | 2 | 10 | 0 | 1 |
| CTEScanNode | | 74% | | n/a | 4 | 7 | 5 | 9 | 4 | 7 | 0 | 1 |
| RangeMap.RangeComparator | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| ExceptNode | | 61% | | n/a | 1 | 3 | 2 | 5 | 1 | 3 | 0 | 1 |
| IntersectNode | | 61% | | n/a | 1 | 3 | 2 | 5 | 1 | 3 | 0 | 1 |
| PluginDrivenTableSink.PluginDrivenWriteHandle |  | 95% | | 50% | 2 | 17 | 0 | 30 | 0 | 15 | 0 | 1 |
| OlapTableSink.AdaptiveBucketAssignment | | 89% | | 50% | 2 | 7 | 0 | 10 | 0 | 5 | 0 | 1 |
| BaseExternalTableDataSink | | 60% | | n/a | 2 | 4 | 2 | 4 | 2 | 4 | 0 | 1 |
| ScanContext | | 92% | | 50% | 2 | 7 | 0 | 9 | 0 | 5 | 0 | 1 |
| EmptySetNode | | 88% | | 50% | 2 | 5 | 1 | 8 | 1 | 4 | 0 | 1 |
| FileLoadScanNode.ParamCreateContext | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| LocalExchangeNode.RequireSpecific | | 94% |  | 87% | 1 | 8 | 1 | 12 | 0 | 4 | 0 | 1 |
| RuntimeFilter.FilterSizeLimits | | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 | 0 | 1 |
| OlapTableSink.AdaptiveIndexBucketAssignment | | 100% | | n/a | 0 | 5 | 0 | 9 | 0 | 5 | 0 | 1 |
| ScanContext.Builder | | 100% | | n/a | 0 | 4 | 0 | 7 | 0 | 4 | 0 | 1 |
| LocalExchangeNode.RequireHash | | 100% | | 100% | 0 | 6 | 0 | 7 | 0 | 5 | 0 | 1 |
| ScanNode.ColumnRanges.Type | | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 | 0 | 1 |
| PlanNodeId | | 100% | | n/a | 0 | 3 | 0 | 4 | 0 | 3 | 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 |
| LocalExchangeNode.NoRequire | | 100% | | n/a | 0 | 4 | 0 | 4 | 0 | 4 | 0 | 1 |