LCOV - code coverage report
Current view: top level - pageserver/src/tenant/timeline - compaction.rs (source / functions) Coverage Total Hit
Test: 2a9d99866121f170b43760bd62e1e2431e597707.info Lines: 60.6 % 1758 1065
Test Date: 2024-09-02 14:10:37 Functions: 35.2 % 162 57

Function Name Sort by function name Hit count Sort by function hit count
<<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::AllValuesIter>::next::{closure#0}::{closure#0}::LOGGED::{closure#0} 0
<<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::AllValuesIter>::next::{closure#0}::{closure#0}::{closure#0} 0
<::compact_level0_phase1::{closure#0}::AllValuesIter>::next::{closure#0}::{closure#0}::{closure#0} 0
<::compact_level0_phase1::{closure#0}::AllValuesIter>::next::{closure#0}::{closure#0}::{closure#10} 0
<::compact_level0_phase1::{closure#0}::AllValuesIter>::next::{closure#0}::{closure#0}::{closure#2} 0
<::compact_level0_phase1::{closure#0}::AllValuesIter>::next::{closure#0}::{closure#0}::{closure#4} 0
<::compact_level0_phase1::{closure#0}::AllValuesIter>::next::{closure#0}::{closure#0}::{closure#6} 0
<::compact_level0_phase1::{closure#0}::AllValuesIter>::next::{closure#0}::{closure#0}::{closure#8} 0
<<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::compaction::CompactL0BypassPageCacheValidation as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Field as serde::de::Deserialize>::deserialize::> 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes:: 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64:: 0
<::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> 0
<<pageserver::tenant::timeline::compaction::CompactL0Phase1ValueAccess as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Field as serde::de::Deserialize>::deserialize::> 0
<::deserialize::__Field as serde::de::Deserialize>::deserialize::> 0
<::deserialize::__Field as serde::de::Deserialize>::deserialize:: 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes:: 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64:: 0
<::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<&mut serde::de::value::MapDeserializer, serde::__private::de::content::visit_content_map<::deserialize::__Visitor, toml_edit::de::Error>::{closure#0}>, toml_edit::de::Error>> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer, >::new>, toml_edit::de::Error>> 0
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#14} 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>::compact_with_gc::{closure#0}::{closure#11} 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::KeyHistoryRetention>::pipe_to::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::pipe_to::{closure#0}::{closure#0}::{closure#0} 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::CompactionStatistics>::discard_delta_layer 24
<pageserver::tenant::timeline::compaction::CompactionStatistics>::discard_image_layer 24
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_delta_layer 30
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_image_layer 36
<pageserver::tenant::timeline::Timeline>::compact_with_gc 78
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0} 78
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0}::{closure#0} 78
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#8} 84
<pageserver::tenant::timeline::compaction::CompactLevel0Phase1Stats as core::convert::TryFrom<pageserver::tenant::timeline::compaction::CompactLevel0Phase1StatsBuilder>>::try_from 84
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_image_layer 108
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0}::{closure#4} 114
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0}::{closure#4}::{closure#0} 114
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_delta_layer 138
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::discard_key 228
::discard_key 114
::discard_key::{closure#0} 114
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0}::{closure#2} 246
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0}::{closure#3} 246
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0}::{closure#5} 246
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0}::{closure#1} 300
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_wal_key 378
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_key 384
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_wal_key 420
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0}::{closure#4} 468
<pageserver::tenant::timeline::compaction::CompactL0Phase1ValueAccess as core::default::Default>::default 666
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#7} 924
<pageserver::tenant::timeline::Timeline>::compact_legacy 1092
<pageserver::tenant::timeline::Timeline>::compact_legacy::{closure#0} 1092
<pageserver::tenant::timeline::Timeline>::compact_level0 1092
<pageserver::tenant::timeline::Timeline>::compact_level0::{closure#0} 1092
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1 1092
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0} 1092
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#0} 1206
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#9} 1206
<pageserver::tenant::timeline::compaction::CompactionStatistics>::produce_image_key 1230
<pageserver::tenant::timeline::compaction::CompactionStatistics>::visit_image_key 1260
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0}::get_ancestor_image 1266
<pageserver::tenant::timeline::Timeline>::compact_with_gc::{closure#0}::get_ancestor_image::{closure#0} 1266
<pageserver::tenant::timeline::compaction::CompactionStatistics>::on_unique_key_visited 1266
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::pipe_to 1266
<pageserver::tenant::timeline::compaction::KeyHistoryRetention>::pipe_to::{closure#0} 1266
<pageserver::tenant::timeline::Timeline>::generate_key_retention 1290
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0} 1290
<pageserver::tenant::timeline::Timeline>::generate_key_retention::{closure#0}::{closure#0} 1830
<pageserver::tenant::timeline::compaction::CompactionStatistics>::estimated_size_of_value 2058
<pageserver::tenant::timeline::Timeline>::update_layer_visibility 2148
<pageserver::tenant::timeline::Timeline>::update_layer_visibility::{closure#0} 2148
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#1} 2244
<pageserver::tenant::timeline::compaction::CompactionStatistics>::estimated_size_of_key 3288
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#5} 6192030
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#6} 6192030
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#4} 6192114
<<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::AllValuesIter>::next 6192198
<<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::AllValuesIter>::next::{closure#0} 6192198
<<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::AllValuesIter>::next::{closure#0}::{closure#0} 6192198
<<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::AllValuesIter>::next_all_keys_iter 6192198
<<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::AllValuesIter>::next_all_keys_iter::{closure#0} 6192198
<pageserver::tenant::timeline::Timeline>::compact_level0_phase1::{closure#0}::{closure#2} 13295398

Generated by: LCOV version 2.1-beta