| visitLogicalUnion(LogicalUnion, PushDownAggContext) |   | 27% |   | 21% | 23 | 24 | 63 | 91 | 0 | 1 |
| checkStats(Plan, PushDownAggContext) |   | 33% |   | 19% | 25 | 29 | 29 | 48 | 0 | 1 |
| visitLogicalFilter(LogicalFilter, PushDownAggContext) |  | 0% |  | 0% | 6 | 6 | 22 | 22 | 1 | 1 |
| alignUnionChildrenDataType(Plan, PushDownAggContext, Optional) |  | 0% |  | 0% | 6 | 6 | 18 | 18 | 1 | 1 |
| buildCanonicalProject(Plan, PushDownAggContext, Optional) |  | 0% |  | 0% | 5 | 5 | 18 | 18 | 1 | 1 |
| computeJoinCount(LogicalJoin, Optional, Optional, PushDownAggContext) |   | 54% |   | 34% | 19 | 23 | 24 | 41 | 0 | 1 |
| getCanonicalProjectDataTypes(PushDownAggContext, Optional) |  | 0% |  | 0% | 6 | 6 | 14 | 14 | 1 | 1 |
| buildAggOutputWithoutJoinAdjustment(AggregateFunction, PushDownAggContext) |  | 0% |  | 0% | 4 | 4 | 13 | 13 | 1 | 1 |
| groupByCardinality(ColumnStatistic, double) |  | 0% |  | 0% | 6 | 6 | 7 | 7 | 1 | 1 |
| isPushEnabledByVariable(PushDownAggContext) |   | 14% |   | 12% | 4 | 5 | 8 | 10 | 0 | 1 |
| isPushDisabledByVariable(PushDownAggContext) |   | 14% |   | 12% | 4 | 5 | 8 | 10 | 0 | 1 |
| inheritHintActionsToUnionChild(PushDownAggContext, PushDownAggContext, List) |   | 26% |   | 50% | 1 | 2 | 5 | 8 | 0 | 1 |
| getCurrentAggValue(AggregateFunction, ExprId, BilateralState) |   | 21% |   | 16% | 3 | 4 | 5 | 7 | 0 | 1 |
| allAggFunctionsPushed(PushDownAggContext) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| findCountStarAggFunctionIndex(PushDownAggContext) |  | 0% |  | 0% | 4 | 4 | 5 | 5 | 1 | 1 |
| findProjectedCountStarOutput(PushDownAggContext, Set) |   | 42% |   | 30% | 4 | 6 | 5 | 10 | 0 | 1 |
| visitLogicalProject(LogicalProject, PushDownAggContext) |   | 86% |   | 70% | 9 | 18 | 7 | 44 | 0 | 1 |
| findOutputIndex(Plan, Slot) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| appendJoinSideOutputs(List, Set, Plan, Optional, PushDownAggContext, Optional, boolean) |   | 71% |   | 60% | 3 | 6 | 3 | 14 | 0 | 1 |
| visitLogicalJoin(LogicalJoin, PushDownAggContext) |   | 93% |   | 85% | 6 | 21 | 5 | 61 | 0 | 1 |
| canPushThroughProject(LogicalProject, PushDownAggContext) |   | 84% |   | 83% | 3 | 10 | 5 | 19 | 0 | 1 |
| lambda$visitLogicalProject$9(PushDownAggContext, LogicalProject, Slot) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| decideJoinPushSide(LogicalJoin, PushDownAggContext) |   | 95% |   | 91% | 3 | 18 | 2 | 38 | 0 | 1 |
| lambda$visitLogicalProject$8(Optional, NamedExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$canPushThroughProject$4(LogicalProject, PushDownAggContext, Slot) |   | 50% |   | 25% | 2 | 3 | 0 | 2 | 0 | 1 |
| adjustAggOutputUseOppositeCountOnJoin(AggregateFunction, PushDownAggContext, Optional) |   | 91% |   | 50% | 4 | 5 | 2 | 15 | 0 | 1 |
| lambda$buildCanonicalProject$16(PushDownAggContext, LogicalProject, Slot) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildCanonicalProject$15(List, Set, Slot) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$visitLogicalFilter$11(PushDownAggContext, Plan, Slot) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| genAggregate(Plan, PushDownAggContext) |   | 96% |   | 77% | 4 | 10 | 2 | 32 | 0 | 1 |
| adjustPushSideForCaseWhen(LogicalJoin, PushDownAggContext, boolean, boolean) |   | 89% |   | 90% | 1 | 6 | 2 | 11 | 0 | 1 |
| createContextFromProject(LogicalProject, PushDownAggContext) |  | 97% |   | 90% | 1 | 6 | 2 | 25 | 0 | 1 |
| lambda$visitLogicalFilter$10(Slot) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$visitLogicalUnion$7(Slot) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| adjustPushSideForNullable(LogicalJoin, PushDownAggContext, boolean, boolean) |  | 97% |   | 92% | 2 | 14 | 1 | 18 | 0 | 1 |
| lambda$createContextFromProject$3(TreeNode) |  | 80% |   | 50% | 2 | 3 | 0 | 1 | 0 | 1 |
| visitLogicalAggregate(LogicalAggregate, PushDownAggContext) | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| shouldUseJoinOppositeCntAdjustAggOutput(LogicalJoin, Optional, Optional) |  | 95% |   | 50% | 4 | 5 | 0 | 2 | 0 | 1 |
| buildCanonicalJoinProject(LogicalJoin, PushDownAggContext, Optional, Optional, Optional, Optional) |  | 100% |   | 70% | 3 | 6 | 0 | 22 | 0 | 1 |
| getJoinConditionsInputSlotsFromOneSide(LogicalJoin, Plan) |  | 100% |  | 100% | 0 | 7 | 0 | 14 | 0 | 1 |
| fillGroupByKeys(LogicalJoin, Plan, PushDownAggContext, List) |  | 100% |  | 100% | 0 | 5 | 0 | 10 | 0 | 1 |
| isPassThroughBigJoin(LogicalJoin, PushDownAggContext) |  | 100% |   | 87% | 1 | 5 | 0 | 6 | 0 | 1 |
| findCountStarAlias(PushDownAggContext) |  | 100% |  | 100% | 0 | 4 | 0 | 5 | 0 | 1 |
| needOutputCountForJoinChild(LogicalJoin, boolean, boolean, boolean, List) |  | 100% |  | 100% | 0 | 6 | 0 | 6 | 0 | 1 |
| containsVolatileGroupKeyAfterProject(LogicalProject, PushDownAggContext) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| buildJoinCountAlias(Expression, PushDownAggContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| appendProjectionIfAbsent(List, Set, NamedExpression) |  | 100% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| needJoinMultiplicityRecovery(AggregateFunction) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| EagerAggRewriter() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| nvlCount(Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| multiplyCount(Expression, Expression) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$genAggregate$13(PushDownAggContext, Plan, Alias) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| hasAggNeedJoinMultiplicityRecovery(List) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$buildCanonicalJoinProject$14(PushDownAggContext, LogicalProject, Slot) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$genAggregate$12(Alias, Slot) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$visitLogicalUnion$6(LogicalUnion, int, SlotReference) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$adjustPushSideForNullable$1(LogicalJoin, Slot) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$adjustPushSideForNullable$0(LogicalJoin, Slot) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| visitLogicalRelation(LogicalRelation, PushDownAggContext) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$visitLogicalUnion$5(NamedExpression) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$createContextFromProject$2(Slot) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$adjustAggOutputUseOppositeCountOnJoin$17(Slot) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |