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
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