| visitLogicalUnion(LogicalUnion, PushDownAggContext) |   | 26% |   | 17% | 20 | 21 | 63 | 90 | 0 | 1 |
| checkStats(Plan, PushDownAggContext) |   | 33% |   | 19% | 25 | 29 | 29 | 48 | 0 | 1 |
| visitLogicalFilter(LogicalFilter, PushDownAggContext) |  | 0% |  | 0% | 6 | 6 | 24 | 24 | 1 | 1 |
| computeJoinCount(LogicalJoin, Optional, Optional, Optional, Optional, PushDownAggContext) |   | 25% |   | 10% | 15 | 16 | 28 | 35 | 0 | 1 |
| alignUnionChildrenDataType(Plan, PushDownAggContext, Optional) |  | 0% |  | 0% | 6 | 6 | 21 | 21 | 1 | 1 |
| buildCanonicalProject(Plan, PushDownAggContext, Optional) |  | 0% |  | 0% | 6 | 6 | 20 | 20 | 1 | 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 |
| visitLogicalProject(LogicalProject, PushDownAggContext) |   | 80% |   | 69% | 7 | 14 | 7 | 40 | 0 | 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 |
| 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 |
| canPushThroughProject(LogicalProject, PushDownAggContext) |   | 84% |   | 83% | 3 | 10 | 5 | 19 | 0 | 1 |
| genAggregate(Plan, PushDownAggContext) |   | 94% |   | 80% | 4 | 11 | 3 | 36 | 0 | 1 |
| lambda$visitLogicalProject$8(Optional, NamedExpression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| visitLogicalJoin(LogicalJoin, PushDownAggContext) |   | 97% |   | 90% | 3 | 17 | 2 | 54 | 0 | 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$11(List, Set, Slot) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| decideJoinPushSide(LogicalJoin, PushDownAggContext) |   | 96% |   | 96% | 1 | 14 | 1 | 29 | 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$9(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% |   | 75% | 3 | 7 | 0 | 24 | 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 |
| 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 |
| hasAggNeedJoinMultiplicityRecovery(List) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$genAggregate$10(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$12(Slot) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |