| appendNormalizedExpression(Expression, StringBuilder, StringBuilder) |  | 0% |  | 0% | 6 | 6 | 31 | 31 | 1 | 1 |
| decodeLiteralValue(String) |   | 9% |   | 8% | 6 | 7 | 12 | 15 | 0 | 1 |
| encodeLiteralValue(String) |  | 0% |  | 0% | 6 | 6 | 11 | 11 | 1 | 1 |
| appendJoin(LogicalJoin, GroupExpression, GroupStructInfo.Canonical, GroupStructInfo.Ctx) |   | 16% |   | 50% | 1 | 2 | 11 | 14 | 0 | 1 |
| resolveGroup(AbstractPlan, Map) |  | 0% |  | 0% | 4 | 4 | 9 | 9 | 1 | 1 |
| collectJoinChain(Group, TreeSet, TreeSet, List, GroupStructInfo.Ctx) |   | 68% |   | 50% | 8 | 11 | 11 | 26 | 0 | 1 |
| build(Group, GroupStructInfo.Ctx) |   | 58% |   | 33% | 6 | 7 | 6 | 17 | 0 | 1 |
| appendNormalizedSorted(Collection, StringBuilder, StringBuilder) |   | 57% |   | 50% | 1 | 2 | 6 | 14 | 0 | 1 |
| limitSkipReasonOfPlanNode(AbstractPlan, Map) |  | 0% |  | 0% | 4 | 4 | 8 | 8 | 1 | 1 |
| addCondition(Expression, Set, Set) |  | 0% | | n/a | 1 | 1 | 6 | 6 | 1 | 1 |
| normalizeExpression(Expression, GroupStructInfo.LiteralMode) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| appendScan(LogicalOlapScan, GroupStructInfo.Canonical, GroupStructInfo.Ctx) |   | 51% |   | 50% | 2 | 3 | 7 | 12 | 0 | 1 |
| collectJoinConditions(LogicalJoin, Set, Set) |   | 45% |   | 50% | 2 | 3 | 4 | 7 | 0 | 1 |
| fingerprintOfGroup(Group, GroupStructInfo.LiteralMode) |  | 0% |  | 0% | 3 | 3 | 2 | 2 | 1 | 1 |
| appendPlan(Plan, GroupExpression, GroupStructInfo.Canonical, GroupStructInfo.Ctx) |   | 82% |   | 64% | 4 | 8 | 5 | 22 | 0 | 1 |
| isOrderInsensitive(Expression) |  | 0% |  | 0% | 5 | 5 | 1 | 1 | 1 | 1 |
| structInfoOfGroup(Group) |  | 0% |  | 0% | 3 | 3 | 4 | 4 | 1 | 1 |
| invalidStructInfo(String) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| fingerprintOfPlanNode(AbstractPlan, GroupStructInfo.LiteralMode) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| relationKeyOfPlanNode(AbstractPlan, Map) |  | 0% |  | 0% | 2 | 2 | 2 | 2 | 1 | 1 |
| appendChild(GroupExpression, int, GroupStructInfo.Canonical, GroupStructInfo.Ctx) |   | 62% |   | 33% | 3 | 4 | 5 | 10 | 0 | 1 |
| summaryOf(Group) |   | 90% |   | 75% | 2 | 5 | 2 | 18 | 0 | 1 |
| hboMaxScansPerGroup() |   | 46% |   | 25% | 2 | 3 | 1 | 4 | 0 | 1 |
| transientFailure(GroupStructInfo.Ctx) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| getCanonical(GroupStructInfo.LiteralMode) |   | 86% |   | 62% | 3 | 5 | 1 | 11 | 0 | 1 |
| fingerprintOfPlanNode(AbstractPlan, Map, GroupStructInfo.LiteralMode) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| fingerprintOfPlanNode(AbstractPlan, Map) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| structInfoOfPlanNode(AbstractPlan, Map) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| describeGroup(Group, GroupStructInfo.Ctx) |   | 69% |   | 50% | 1 | 2 | 2 | 4 | 0 | 1 |
| isFlattenableJoinType(JoinType) |   | 60% |   | 25% | 2 | 3 | 0 | 1 | 0 | 1 |
| fingerprintOfPlanNode(AbstractPlan) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| invalid(GroupStructInfo.Ctx) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| normalizeExpression(Expression) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getFingerprint(GroupStructInfo.LiteralMode) |   | 94% |   | 87% | 1 | 5 | 1 | 9 | 0 | 1 |
| materialized(GroupStructInfo.LiteralMode, boolean) |   | 90% |   | 83% | 1 | 4 | 0 | 3 | 0 | 1 |
| of(Group) |   | 77% |   | 50% | 1 | 2 | 1 | 3 | 0 | 1 |
| transientStructInfo() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| appendJoinChain(LogicalJoin, GroupExpression, GroupStructInfo.Canonical, GroupStructInfo.Ctx) |  | 98% |   | 87% | 1 | 5 | 1 | 18 | 0 | 1 |
| toNoLiteral(String) |  | 100% |   | 83% | 2 | 7 | 0 | 24 | 0 | 1 |
| stripScanBaseline(String) |  | 100% |  | 100% | 0 | 4 | 0 | 14 | 0 | 1 |
| getShape(GroupStructInfo.LiteralMode) |  | 100% |  | 100% | 0 | 5 | 0 | 11 | 0 | 1 |
| appendAggregate(LogicalAggregate, GroupExpression, GroupStructInfo.Canonical, GroupStructInfo.Ctx) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 9 | 0 | 1 |
| appendTo(StringBuilder, GroupStructInfo.LiteralMode, boolean) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| describeVisited(Group, GroupStructInfo.Ctx) |  | 100% |   | 75% | 1 | 3 | 0 | 7 | 0 | 1 |
| GroupStructInfo(boolean, boolean, String, List, List) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| ofPieces(List, List) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| sha256(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| describeGroup(Group) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| resetDescribedGroupCount() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| resetMaterializedGroupCount() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getSkipReason() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isValid() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isRetryable() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getScans() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getDescribedGroupCount() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getMaterializedGroupCount() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |