LCOV - code coverage report
Current view: top level - pageserver/src/tenant/timeline - compaction.rs (source / functions) Coverage Total Hit
Test: aca806cab4756d7eb6a304846130f4a73a5d5393.info Lines: 51.3 % 2971 1524
Test Date: 2025-04-24 20:31:15 Functions: 40.1 % 187 75

Function Name Sort by function name Hit count Sort by function hit count
<<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::Hole as core::cmp::Ord>::cmp 0
<<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::Hole as core::cmp::PartialOrd>::partial_cmp 0
<pageserver::tenant::timeline::Timeline>::compact_legacy::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#15} 0
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#3} 0
<pageserver::tenant::timeline::Timeline>::compact_shard_ancestors 0
<pageserver::tenant::timeline::Timeline>::compact_shard_ancestors::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::compact_tiered 0
<pageserver::tenant::timeline::Timeline>::compact_tiered::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::compact_tiered::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::gc_compaction_split_jobs 0
<pageserver::tenant::timeline::Timeline>::gc_compaction_split_jobs::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::gc_compaction_split_jobs::{closure#0}::truncate_to 0
<pageserver::tenant::timeline::Timeline>::gc_compaction_split_jobs::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::gc_compaction_split_jobs::{closure#0}::{closure#1} 0
<pageserver::tenant::timeline::Timeline>::gc_compaction_split_jobs::{closure#0}::{closure#2} 0
<pageserver::tenant::timeline::Timeline>::gc_compaction_split_jobs::{closure#0}::{closure#3} 0
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0}::generate_debug_trace 0
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0}::generate_debug_trace::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0}::generate_history_trace 0
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0}::{closure#1} 0
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0}::{closure#2} 0
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0}::{closure#3} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#0} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#10} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#11} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#12} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#1} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#2} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#3} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#4} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#5} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#6} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#7} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#8} 0
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from::{closure#9} 0
<pageserver::tenant::timeline::compaction::GcCompactionJobId as core::fmt::Display>::fmt 0
<pageserver::tenant::timeline::compaction::GcCompactionMetaStatistics>::finalize 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::cancel_scheduled 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::clear_running_job 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::collect_layer_below_lsn 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::collect_layer_below_lsn::{closure#0} 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::handle_sub_compaction 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::handle_sub_compaction::{closure#0} 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::handle_sub_compaction::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::iteration 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::iteration::{closure#0} 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::iteration_inner 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::iteration_inner::{closure#0} 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::iteration_inner::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::new 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::notify_and_unblock 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::remaining_jobs 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::remaining_jobs_num 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::schedule_auto_compaction 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::schedule_manual_compaction 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::trigger_auto_compaction 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::trigger_auto_compaction::{closure#0} 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::trigger_auto_compaction::{closure#0}::trigger_compaction 0
<pageserver::tenant::timeline::compaction::GcCompactionQueue>::trigger_auto_compaction::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::compaction::GcCompactionQueueInner>::next_id 0
<pageserver::tenant::timeline::compaction::GcCompactionQueueItem>::into_compact_info_resp 0
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::collect_and_verify::{closure#0}::{closure#2} 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::delta_layer::DeltaLayer> as core::ops::deref::Deref>::deref 0
as core::ops::deref::Deref>::deref 0
as core::ops::deref::Deref>::deref 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::delta_layer::DeltaLayer> as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::file_size 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::delta_layer::DeltaLayer> as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::is_delta 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::delta_layer::DeltaLayer> as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::key_range 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::delta_layer::DeltaLayer> as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::lsn_range 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::delta_layer::DeltaLayer> as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::short_id 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::layer_desc::PersistentLayerDesc> as core::convert::AsRef<pageserver::tenant::storage_layer::layer_desc::PersistentLayerDesc>>::as_ref 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::layer_desc::PersistentLayerDesc> as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::file_size 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::layer_desc::PersistentLayerDesc> as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::is_delta 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::layer_desc::PersistentLayerDesc> as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::key_range 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::layer_desc::PersistentLayerDesc> as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::lsn_range 0
<pageserver::tenant::timeline::compaction::OwnArc<pageserver::tenant::storage_layer::layer_desc::PersistentLayerDesc> as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::short_id 0
<pageserver::tenant::timeline::compaction::ResidentDeltaLayer as pageserver_compaction::interface::CompactionDeltaLayer<pageserver::tenant::timeline::compaction::TimelineAdaptor>>::load_keys 0
>::load_keys 0
>::load_keys::{closure#0} 0
<pageserver::tenant::timeline::compaction::ResidentDeltaLayer as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::file_size 0
<pageserver::tenant::timeline::compaction::ResidentDeltaLayer as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::is_delta 0
<pageserver::tenant::timeline::compaction::ResidentDeltaLayer as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::key_range 0
<pageserver::tenant::timeline::compaction::ResidentDeltaLayer as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::lsn_range 0
<pageserver::tenant::timeline::compaction::ResidentDeltaLayer as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::short_id 0
<pageserver::tenant::timeline::compaction::ResidentImageLayer as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::file_size 0
<pageserver::tenant::timeline::compaction::ResidentImageLayer as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::is_delta 0
<pageserver::tenant::timeline::compaction::ResidentImageLayer as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::key_range 0
<pageserver::tenant::timeline::compaction::ResidentImageLayer as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::lsn_range 0
<pageserver::tenant::timeline::compaction::ResidentImageLayer as pageserver_compaction::interface::CompactionLayer<pageserver_api::key::Key>>::short_id 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::create_delta 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::create_delta::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::create_delta::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::create_delta::{closure#0}::{closure#3} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::create_image 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::create_image::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::delete_layer 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::delete_layer::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::downcast_delta_layer 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::downcast_delta_layer::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::get_keyspace 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::get_keyspace::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::get_layers 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::get_layers::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::get_layers::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor as pageserver_compaction::interface::CompactionJobExecutor>::get_shard_identity 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor>::create_image_impl 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor>::create_image_impl::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor>::create_image_impl::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor>::flush_updates 0
::flush_updates 0
::flush_updates::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor>::flush_updates::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::compaction::TimelineAdaptor>::new 0
pageserver::tenant::timeline::compaction::CONCURRENT_GC_COMPACTION_TASKS::{closure#0} 0
<pageserver::tenant::timeline::compaction::CompactionStatistics>::discard_image_layer 48
<pageserver::tenant::timeline::compaction::GcCompactJob>::from_compact_options::{closure#1} 60
<pageserver::tenant::timeline::compaction::CompactionStatistics>::discard_delta_layer 84
<pageserver::tenant::timeline::compaction::GcCompactJob>::from_compact_options::{closure#0} 96
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_delta_layer 144
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#7} 168
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from 168
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_image_layer 180
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::{closure#2} 252
<pageserver::tenant::timeline::compaction::CompactionStatistics>::finalize 312
<pageserver::tenant::timeline::Timeline>::check_compaction_space 324
<pageserver::tenant::timeline::Timeline>::check_compaction_space::{closure#0} 324
<pageserver::tenant::timeline::Timeline>::compact_with_gc 336
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0} 336
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner 336
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0} 336
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#0} 336
<pageserver::tenant::timeline::Timeline>::get_gc_compaction_watermark 336
<pageserver::tenant::timeline::compaction::GcCompactJob>::from_compact_options 336
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_image_layer 420
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#7} 444
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#7}::{closure#0} 444
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_delta_layer 528
<pageserver::tenant::timeline::Timeline>::check_available_space 648
::check_available_space 324
::check_available_space::{closure#0} 324
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::discard_key 888
::discard_key 444
::discard_key::{closure#0} 444
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#8} 912
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#9} 912
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#5} 948
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#6} 948
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_wal_key 1152
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_key 1212
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#10} 1284
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#2} 1284
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0}::{closure#4} 1380
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#4} 1392
<pageserver::tenant::timeline::Timeline>::update_layer_visibility 1440
<pageserver::tenant::timeline::Timeline>::update_layer_visibility::{closure#0} 1440
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_wal_key 1476
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#1} 1500
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#3} 1500
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#6} 1848
<pageserver::tenant::timeline::Timeline>::compact_legacy 2184
<pageserver::tenant::timeline::Timeline>::compact_legacy::{closure#0} 2184
<pageserver::tenant::timeline::Timeline>::compact_level0 2184
<pageserver::tenant::timeline::Timeline>::compact_level0::{closure#0} 2184
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1 2184
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0} 2184
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#0} 2412
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#8} 2412
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::collect_and_verify::{closure#0}::{closure#0} 2616
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_image_key 3660
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_image_key 3780
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::pipe_to 3828
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::pipe_to::{closure#0} 3828
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::get_ancestor_image 3840
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::get_ancestor_image::{closure#0} 3840
<pageserver::tenant::timeline::compaction::CompactionStatistics>::on_unique_key_visited 3840
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify 3876
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0} 3876
<pageserver::tenant::timeline::Timeline>::generate_key_retention 3888
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0} 3888
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#1} 4488
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::{closure#0} 5496
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::{closure#1} 5496
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0}::{closure#0} 5544
<pageserver::tenant::timeline::compaction::CompactionStatistics>::estimated_size_of_value 6408
<pageserver::tenant::timeline::compaction::CompactionStatistics>::estimated_size_of_key 10068
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::collect_and_verify 12324
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::collect_and_verify::{closure#0} 12324
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::collect_and_verify::{closure#0}::{closure#1} 12324
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#5} 12384060
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#4} 12384228
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#2} 26542600

Generated by: LCOV version 2.1-beta