| setIcebergParams(TFileRangeDesc, IcebergSplit) |  | 0% |  | 0% | 14 | 14 | 55 | 55 | 1 | 1 |
| planFileScanTaskWithManifestCache(TableScan) |  | 0% |  | 0% | 14 | 14 | 61 | 61 | 1 | 1 |
| createIcebergSplit(FileScanTask) |  | 0% |  | 0% | 6 | 6 | 28 | 28 | 1 | 1 |
| doGetSplits(int) |   | 27% |   | 14% | 7 | 8 | 19 | 30 | 0 | 1 |
| initLocationPathCache(String) |  | 0% |  | 0% | 4 | 4 | 18 | 18 | 1 | 1 |
| isBatchMode() |   | 26% |   | 33% | 5 | 7 | 20 | 28 | 0 | 1 |
| getDeleteFiles(TFileRangeDesc) |  | 0% |  | 0% | 11 | 11 | 17 | 17 | 1 | 1 |
| getCountFromSnapshot() |  | 0% |  | 0% | 6 | 6 | 14 | 14 | 1 | 1 |
| lambda$isBatchMode$8() |  | 0% |  | 0% | 4 | 4 | 16 | 16 | 1 | 1 |
| getDeleteFileFilters(FileScanTask) |  | 0% |  | 0% | 4 | 4 | 11 | 11 | 1 | 1 |
| lambda$doStartSplit$3(TableScan) |  | 0% |  | 0% | 3 | 3 | 14 | 14 | 1 | 1 |
| createLocationPathWithCache(String) |  | 0% |  | 0% | 5 | 5 | 8 | 8 | 1 | 1 |
| assignCountToSplits(List, long) |  | 0% |  | 0% | 3 | 3 | 8 | 8 | 1 | 1 |
| lambda$doStartSplit$2(TableScan, AtomicReference) |  | 0% |  | 0% | 3 | 3 | 9 | 9 | 1 | 1 |
| recordManifestCacheProfile() |   | 14% |   | 16% | 3 | 4 | 7 | 9 | 0 | 1 |
| extractMappingsFromNameMapping(MappedFields, Map) |  | 0% |  | 0% | 3 | 3 | 7 | 7 | 1 | 1 |
| splitFiles(TableScan) |   | 53% |   | 50% | 3 | 4 | 7 | 15 | 0 | 1 |
| planFileScanTask(TableScan) |   | 25% |   | 50% | 1 | 2 | 5 | 7 | 0 | 1 |
| checkNotSupportedException(Exception) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| getNodeExplainString(String, TExplainLevel) |   | 75% |   | 62% | 3 | 5 | 3 | 13 | 0 | 1 |
| IcebergScanNode(PlanNodeId, TupleDescriptor, boolean, SessionVariable, ScanContext) |   | 76% |   | 50% | 3 | 4 | 2 | 17 | 0 | 1 |
| getFileFormatType() |   | 40% |   | 25% | 2 | 3 | 3 | 7 | 0 | 1 |
| getSplits(int) |   | 29% |  | 0% | 1 | 2 | 5 | 6 | 0 | 1 |
| extractNameMapping() |   | 47% |   | 16% | 3 | 4 | 5 | 10 | 0 | 1 |
| getFileScanTasksFromContext() |   | 50% |   | 25% | 2 | 3 | 3 | 9 | 0 | 1 |
| startSplit(int) |  | 0% | | n/a | 1 | 1 | 5 | 5 | 1 | 1 |
| recordManifestCacheAccess(boolean) |  | 0% |  | 0% | 2 | 2 | 4 | 4 | 1 | 1 |
| createTableScan() |   | 85% |   | 66% | 3 | 7 | 3 | 20 | 0 | 1 |
| createScanRangeLocations() |   | 74% |   | 66% | 2 | 4 | 3 | 13 | 0 | 1 |
| doStartSplit() |  | 0% | | n/a | 1 | 1 | 4 | 4 | 1 | 1 |
| numApproximateSplits() |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| getDeleteFileContentType(int) |  | 0% |  | 0% | 4 | 4 | 5 | 5 | 1 | 1 |
| setScanParams(TFileRangeDesc, Split) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| lambda$planFileScanTaskWithManifestCache$5(Map, Expression, boolean, Integer, PartitionSpec) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getSpecifiedSnapshot() |   | 69% |   | 50% | 2 | 3 | 2 | 7 | 0 | 1 |
| lambda$doGetSplits$7(List, FileScanTask) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$createIcebergSplit$6(PartitionData, PartitionSpec, PartitionData) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| determineTargetFileSplitSize(Iterable) |   | 89% |   | 60% | 4 | 6 | 1 | 13 | 0 | 1 |
| lambda$planFileScanTaskWithManifestCache$4(Expr) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| toThrift(TPlanNode) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| lambda$startSplit$1() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| doInitialize() |   | 95% |   | 50% | 1 | 2 | 1 | 13 | 0 | 1 |
| IcebergScanNode(PlanNodeId, TupleDescriptor, SessionVariable, ScanContext) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| getPathPartitionKeys() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getTargetTable() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$getSplits$0(int) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getLocationProperties() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |