| getJoinPairStringAvgSizeForSort(Pair, Statistics, Statistics) |   | 30% |   | 25% | 2 | 3 | 1 | 3 | 0 | 1 |
| getIndependentShuffleDimensions(DistributionSpecHash) |   | 82% |   | 90% | 1 | 6 | 2 | 16 | 0 | 1 |
| getStringAvgSizeForSort(Slot, Statistics) |   | 83% |   | 62% | 3 | 5 | 1 | 7 | 0 | 1 |
| isSafeForShuffleDimensions(List, Statistics, int) |   | 96% |   | 83% | 2 | 7 | 2 | 24 | 0 | 1 |
| findColumnStatistic(Expression, Statistics) |   | 66% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| maxDistinctCombinationCount(List, Statistics) |   | 93% |   | 83% | 1 | 4 | 1 | 9 | 0 | 1 |
| hasPotentialSkewOnShuffleKeys(List, Statistics, int) |   | 89% |   | 50% | 2 | 3 | 2 | 7 | 0 | 1 |
| ShuffleKeyPruneUtils() |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| selectOptimalJoinShuffleKeysFromPairs(List, Pair, Statistics, Statistics, int) |  | 100% |   | 83% | 6 | 19 | 0 | 36 | 0 | 1 |
| selectOptimalShuffleKeys(List, Statistics, int) |  | 100% |  | 100% | 0 | 10 | 0 | 27 | 0 | 1 |
| hasKnownSkewForOnePhaseAgg(List, Statistics, int) |  | 100% |   | 92% | 1 | 8 | 0 | 21 | 0 | 1 |
| tryFindOptimalShuffleKeyForJoinWithDistributeColumns(ConnectContext, List, List, List, List, Statistics, Statistics) |  | 100% |  | 100% | 0 | 6 | 0 | 12 | 0 | 1 |
| hasConfiguredKnownHotValue(ColumnStatistic, double) |  | 100% |  | 100% | 0 | 6 | 0 | 12 | 0 | 1 |
| hasPotentialSkew(ColumnStatistic, double, int) |  | 100% |   | 90% | 1 | 6 | 0 | 8 | 0 | 1 |
| isSafeForShuffleKeyReuse(List, Statistics, int) |  | 100% |  | 100% | 0 | 2 | 0 | 6 | 0 | 1 |
| isHotShuffleBucket(double, int) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| sortJoinKeyPairsByTypePriority(List, Statistics, Statistics) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| toOptionalIfChanged(Pair, Pair) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| sortShuffleKeysByTypePriority(List, Statistics) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| isPotentialCollectedHotValueBucket(double, double, int) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$selectOptimalShuffleKeys$1(SlotReference) |  | 100% |  | 100% | 0 | 3 | 0 | 1 | 0 | 1 |
| getTypeSortPriority(DataType) |  | 100% |  | 100% | 0 | 3 | 0 | 3 | 0 | 1 |
| toOptionalIfChanged(List, List) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| distinctShuffleKeys(List) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| selectBestShuffleKeyForAgg(PhysicalHashAggregate, List, Statistics, ConnectContext) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getBalancedNdvThreshold(int) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$hasPotentialSkew$0(int, Float) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$sortJoinKeyPairsByTypePriority$4(Pair) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$sortJoinKeyPairsByTypePriority$5(Statistics, Statistics, Pair) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$sortShuffleKeysByTypePriority$3(Statistics, SlotReference) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$sortShuffleKeysByTypePriority$2(SlotReference) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |