| expressionToRanges(Expr, SlotDescriptor, PartitionInfo) |   | 22% |   | 18% | 25 | 26 | 41 | 57 | 0 | 1 |
| setVisibleVersionForOlapScanNodes(List) |   | 1% |   | 4% | 12 | 13 | 38 | 40 | 0 | 1 |
| setOutputSmap(ExprSubstitutionMap, Analyzer) |   | 6% |   | 5% | 9 | 10 | 35 | 38 | 0 | 1 |
| initOutputSlotIds(Set, Analyzer) |   | 3% |   | 3% | 13 | 14 | 23 | 25 | 0 | 1 |
| createPartitionFilter(SlotDescriptor, List, PartitionInfo) |   | 45% |   | 29% | 25 | 27 | 32 | 57 | 0 | 1 |
| genQueryStats() |  | 0% |  | 0% | 8 | 8 | 17 | 17 | 1 | 1 |
| shouldUseOneInstance(ConnectContext) |   | 21% |   | 11% | 13 | 14 | 14 | 20 | 0 | 1 |
| createColumnRange(SlotDescriptor, List, PartitionInfo) |   | 42% |   | 23% | 10 | 12 | 14 | 24 | 0 | 1 |
| computeColumnsFilter(List, PartitionInfo) |   | 65% |   | 50% | 5 | 8 | 8 | 22 | 0 | 1 |
| ignoreStorageDataDistribution(ConnectContext, int) |  | 0% |  | 0% | 6 | 6 | 6 | 6 | 1 | 1 |
| toString() |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| lambda$createColumnRange$0(SlotDescriptor, PartitionInfo, Set, List, Expr) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| castToSlot(SlotDescriptor, Expr) |   | 50% |   | 28% | 6 | 8 | 3 | 9 | 0 | 1 |
| addressToTNetworkAddress(String) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| toThrift(TPlanNode) |   | 23% |   | 50% | 1 | 2 | 5 | 7 | 0 | 1 |
| lambda$setVisibleVersionForOlapScanNodes$5(Long) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| lambda$setVisibleVersionForOlapScanNodes$6(List, Integer) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$toThrift$7(SortNode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$setOutputSmap$3(SlotDescriptor) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$setOutputSmap$4(SlotDescriptor) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$setOutputSmap$2(SlotDescriptor) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| useTopnFilter() |  | 75% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| lambda$setOutputSmap$1(Expr) |  | 71% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| isKeySearch() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| needToCheckColumnPriv() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| genStatsDelta() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getScanRangeNum() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| ScanNode(PlanNodeId, TupleDescriptor, String, StatisticalType) |  | 100% | | n/a | 0 | 1 | 0 | 15 | 0 | 1 |
| createSingleScanRangeLocations(FederationBackendPolicy) |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| computeColumnFilter(Column, SlotDescriptor, PartitionInfo) |  | 100% |   | 50% | 2 | 3 | 0 | 7 | 0 | 1 |
| isSerialOperator() |  | 100% |   | 75% | 2 | 5 | 0 | 3 | 0 | 1 |
| getColumns() |  | 100% |   | 75% | 1 | 3 | 0 | 3 | 0 | 1 |
| getOutputTupleIds() |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| init(Analyzer) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| computeColumnsFilter() |  | 100% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| addTopnFilterSortNode(SortNode) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setSortColumn(String) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| numScanBackends() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSelectedSplitNum() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTupleDesc() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTopnFilterSortNodes() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getSelectedPartitionNum() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| hasSerialScanChildren() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |