| getExplainString(ExplainOptions) |   | 39% |   | 42% | 22 | 29 | 37 | 67 | 0 | 1 |
| getHintExplainString(List) |  | 0% |  | 0% | 7 | 7 | 20 | 20 | 1 | 1 |
| preMaterializedViewRewrite() |   | 5% |   | 6% | 8 | 9 | 30 | 32 | 0 | 1 |
| collectHboPlanInfo(String, PhysicalPlan, PlanTranslatorContext) |  | 0% |  | 0% | 6 | 6 | 20 | 20 | 1 | 1 |
| planWithLock(LogicalPlan, PhysicalProperties, ExplainCommand.ExplainLevel, boolean, Consumer) |   | 46% |   | 50% | 5 | 8 | 16 | 31 | 0 | 1 |
| splitFragments(PhysicalPlan) |   | 81% |   | 70% | 9 | 18 | 18 | 74 | 0 | 1 |
| configRuntimeFilterWaitTime() |   | 57% |   | 44% | 8 | 10 | 9 | 24 | 0 | 1 |
| chooseBestPlan(Group, PhysicalProperties, CascadesContext) |   | 69% |   | 50% | 3 | 6 | 6 | 22 | 0 | 1 |
| planWithoutLock(LogicalPlan, PhysicalProperties, ExplainCommand.ExplainLevel, boolean) |   | 75% |   | 75% | 5 | 13 | 8 | 32 | 0 | 1 |
| doDistribute(boolean, ExplainCommand.ExplainLevel) |   | 59% |   | 42% | 5 | 8 | 6 | 17 | 0 | 1 |
| getProfile(Function, Object) |  | 0% |  | 0% | 4 | 4 | 6 | 6 | 1 | 1 |
| lambda$getTimeMetricString$11(Function, SummaryProfile) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| setFormatOptions() |   | 48% |   | 25% | 3 | 4 | 5 | 11 | 0 | 1 |
| chooseNthPlan(Group, PhysicalProperties, int) |   | 48% |   | 50% | 1 | 2 | 4 | 8 | 0 | 1 |
| lambda$chooseBestPlan$10(PhysicalProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$chooseNthPlan$9(PhysicalProperties) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| showAnalyzeProcess(ExplainCommand.ExplainLevel, boolean) |   | 33% |   | 16% | 3 | 4 | 0 | 1 | 0 | 1 |
| showRewriteProcess(ExplainCommand.ExplainLevel, boolean) |   | 33% |   | 16% | 3 | 4 | 0 | 1 | 0 | 1 |
| plan(StatementBase, TQueryOptions) |   | 92% |   | 66% | 2 | 4 | 2 | 22 | 0 | 1 |
| distribute(PhysicalPlan, ExplainCommand.ExplainLevel) |   | 80% |   | 62% | 4 | 9 | 1 | 8 | 0 | 1 |
| getTimeMetricString(Function) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| keepOrShowPlanProcess(boolean, Runnable) |   | 45% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| lambda$preMaterializedViewRewrite$7(CascadesContext) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getLogicalPlanAdapter() | | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| handleQueryInFe(StatementBase) |  | 93% |   | 83% | 1 | 4 | 1 | 10 | 0 | 1 |
| getConnectContext() |  | 77% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| showPlanProcess(ExplainOptions) |  | 77% |   | 75% | 1 | 3 | 0 | 1 | 0 | 1 |
| optimize(boolean) |  | 100% |   | 91% | 1 | 7 | 0 | 18 | 0 | 1 |
| rewrite(boolean) |  | 100% |  | 100% | 0 | 4 | 0 | 12 | 0 | 1 |
| collectAndLockTable(boolean) |  | 100% |  | 100% | 0 | 4 | 0 | 12 | 0 | 1 |
| analyze(boolean) |  | 100% |  | 100% | 0 | 4 | 0 | 10 | 0 | 1 |
| getGarbageCollectionTime() |  | 100% |  | 100% | 0 | 3 | 0 | 8 | 0 | 1 |
| getRuntimeFilters() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| plan(StatementBase) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| lambda$plan$0(ExplainCommand.ExplainLevel, Plan) |  | 100% |   | 50% | 1 | 2 | 0 | 5 | 0 | 1 |
| NereidsPlanner(StatementContext) |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| getExplainLevel(ExplainOptions) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| planWithLock(LogicalPlan, PhysicalProperties, ExplainCommand.ExplainLevel, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| planWithLock(LogicalPlan, PhysicalProperties) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| preprocess(LogicalPlan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| initCascadesContext(LogicalPlan, PhysicalProperties) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| postProcess(PhysicalPlan) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| planWithLock(LogicalPlan, PhysicalProperties, ExplainCommand.ExplainLevel) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| appendTupleInfo(StringBuilder) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$optimize$8() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$configRuntimeFilterWaitTime$2(LogicalCatalogRelation) |  | 100% |  | 100% | 0 | 2 | 0 | 1 | 0 | 1 |
| getRoot() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTopnFilters() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$rewrite$6(PlannerHook) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$rewrite$5() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$analyze$4() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$collectAndLockTable$3() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| setParsedPlan(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| setOptimizedPlan(Plan) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getScanNodes() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPhysicalRelations() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDescTable() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getCascadesContext() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getStatementContext() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getParsedPlan() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getAnalyzedPlan() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getRewrittenPlan() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getOptimizedPlan() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getPhysicalPlan() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDistributedPlans() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| buildInitRequireProperties() | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$planWithLock$1(Plan) | | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |