LCOV - code coverage report
Current view:
top level
-
pageserver/src/tenant/timeline
- compaction.rs
(
source
/ functions)
Coverage
Total
Hit
Test:
1e20c4f2b28aa592527961bb32170ebbd2c9172f.info
Lines:
49.6 %
2834
1406
Test Date:
2025-07-16 12:29:03
Functions:
42.2 %
185
78
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>::check_available_space
54
::check_available_space
27
::check_available_space::{closure#0}
27
<pageserver::tenant::timeline::Timeline>::check_compaction_space
27
<pageserver::tenant::timeline::Timeline>::check_compaction_space::{closure#0}
27
<pageserver::tenant::timeline::Timeline>::check_memory_usage
27
<pageserver::tenant::timeline::Timeline>::check_memory_usage::{closure#0}
27
<pageserver::tenant::timeline::Timeline>::compact_legacy
192
<pageserver::tenant::timeline::Timeline>::compact_legacy::{closure#0}
192
<pageserver::tenant::timeline::Timeline>::compact_legacy::{closure#0}::{closure#0}
1219
<pageserver::tenant::timeline::Timeline>::compact_legacy::{closure#0}::{closure#1}
0
<pageserver::tenant::timeline::Timeline>::compact_level0
192
<pageserver::tenant::timeline::Timeline>::compact_level0::{closure#0}
192
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1
192
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}
192
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#0}
602
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#17}
0
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#1}
201
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#2}
356
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#3}
2137944
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#5}
1032019
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#6}
1031996
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#7}
163
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#8}
23
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#9}
201
<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>::compact_with_gc
28
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0}
28
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner
28
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}
28
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::get_ancestor_image
320
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::get_ancestor_image::{closure#0}
320
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#0}
28
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#10}
107
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#1}
125
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#2}
107
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#3}
125
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#4}
116
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#5}
79
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#6}
79
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#7}
37
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#7}::{closure#0}
37
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#8}
76
<pageserver::tenant::timeline::Timeline>::compact_with_gc_inner::{closure#0}::{closure#9}
76
<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
324
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0}
324
<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#0}
462
<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::Timeline>::generate_key_retention::{closure#0}::{closure#4}
115
<pageserver::tenant::timeline::Timeline>::get_force_image_creation_lsn
193
<pageserver::tenant::timeline::Timeline>::get_gc_compaction_watermark
28
<pageserver::tenant::timeline::Timeline>::update_layer_visibility
123
<pageserver::tenant::timeline::Timeline>::update_layer_visibility::{closure#0}
123
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from
23
<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#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::CompactionStatistics>::discard_delta_layer
7
<pageserver::tenant::timeline::compaction::CompactionStatistics>::discard_image_layer
4
<pageserver::tenant::timeline::compaction::CompactionStatistics>::estimated_size_of_key
839
<pageserver::tenant::timeline::compaction::CompactionStatistics>::estimated_size_of_value
534
<pageserver::tenant::timeline::compaction::CompactionStatistics>::finalize
26
<pageserver::tenant::timeline::compaction::CompactionStatistics>::on_unique_key_visited
320
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_delta_layer
12
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_image_key
305
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_image_layer
15
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_key
101
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_wal_key
96
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_delta_layer
44
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_image_key
315
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_image_layer
35
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_wal_key
123
<pageserver::tenant::timeline::compaction::GcCompactJob>::from_compact_options
28
<pageserver::tenant::timeline::compaction::GcCompactJob>::from_compact_options::{closure#0}
8
<pageserver::tenant::timeline::compaction::GcCompactJob>::from_compact_options::{closure#1}
5
<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>::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>::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::GcCompactionQueueInner>::next_id
0
<pageserver::tenant::timeline::compaction::GcCompactionQueueItem>::into_compact_info_resp
0
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::discard_key
74
::discard_key
37
::discard_key::{closure#0}
37
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::pipe_to
319
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::pipe_to::{closure#0}
319
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify
323
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}
323
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::collect_and_verify
1027
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::collect_and_verify::{closure#0}
1027
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::collect_and_verify::{closure#0}::{closure#0}
218
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::collect_and_verify::{closure#0}::{closure#1}
1027
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::collect_and_verify::{closure#0}::{closure#2}
0
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::verify::{closure#0}::{closure#2}
21
<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
Generated by:
LCOV version 2.1-beta