LCOV - code coverage report
Current view: top level - pageserver/src - pgdatadir_mapping.rs (source / functions) Coverage Total Hit
Test: 1b0a6a0c05cee5a7de360813c8034804e105ce1c.info Lines: 53.9 % 1932 1041
Test Date: 2025-03-12 00:01:28 Functions: 42.6 % 197 84

Function Name Sort by function name Hit count Sort by function hit count
<<pageserver::pgdatadir_mapping::DbDirectory 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::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<<&mut bincode::de::Deserializer<_, _> as serde::de::Deserializer>::deserialize_tuple::Access, bincode::config::int::FixintEncoding>, bincode::config::limit::Infinite>>> 0
<<pageserver::pgdatadir_mapping::RelDirectory 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::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<<&mut bincode::de::Deserializer<_, _> as serde::de::Deserializer>::deserialize_tuple::Access, bincode::config::int::FixintEncoding>, bincode::config::limit::Infinite>>> 0
<<pageserver::pgdatadir_mapping::RelSizeEntry 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::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> 0
<<pageserver::pgdatadir_mapping::SlruSegmentDirectory 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::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<<&mut bincode::de::Deserializer<_, _> as serde::de::Deserializer>::deserialize_tuple::Access, bincode::config::int::FixintEncoding>, bincode::config::limit::Infinite>>> 0
<<pageserver::pgdatadir_mapping::TwoPhaseDirectory 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::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<<&mut bincode::de::Deserializer<_, _> as serde::de::Deserializer>::deserialize_tuple::Access, bincode::config::int::FixintEncoding>, bincode::config::limit::Infinite>>> 0
<<pageserver::pgdatadir_mapping::TwoPhaseDirectoryV17 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::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<<&mut bincode::de::Deserializer<_, _> as serde::de::Deserializer>::deserialize_tuple::Access, bincode::config::int::FixintEncoding>, bincode::config::limit::Infinite>>> 0
<pageserver::pgdatadir_mapping::CalculateLogicalSizeError as core::convert::From<pageserver::tenant::timeline::PageReconstructError>>::from 0
<pageserver::pgdatadir_mapping::CollectKeySpaceError as core::convert::From<pageserver::tenant::timeline::PageReconstructError>>::from 0
<pageserver::pgdatadir_mapping::DatadirModification>::approx_pending_bytes 0
<pageserver::pgdatadir_mapping::DatadirModification>::approx_pending_bytes::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::drop_dbdir 0
<pageserver::pgdatadir_mapping::DatadirModification>::drop_dbdir::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::drop_relmap_file 0
<pageserver::pgdatadir_mapping::DatadirModification>::drop_replorigin 0
::drop_replorigin 0
::drop_replorigin::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::drop_slru_segment 0
<pageserver::pgdatadir_mapping::DatadirModification>::drop_slru_segment::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::drop_twophase_file 0
<pageserver::pgdatadir_mapping::DatadirModification>::drop_twophase_file::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::get::{closure#0}::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::has_dirty_data 0
<pageserver::pgdatadir_mapping::DatadirModification>::has_dirty_data::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_creation::{closure#0}::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_creation::{closure#0}::{closure#1} 0
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_drops::{closure#0}::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::put_slru_extend 0
<pageserver::pgdatadir_mapping::DatadirModification>::put_slru_page_image_zero 0
<pageserver::pgdatadir_mapping::DatadirModification>::put_twophase_file 0
<pageserver::pgdatadir_mapping::DatadirModification>::put_twophase_file::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::set_replorigin 0
<pageserver::pgdatadir_mapping::DatadirModification>::set_replorigin::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::sparse_get 0
<pageserver::pgdatadir_mapping::DatadirModification>::sparse_get::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::stats 0
<pageserver::pgdatadir_mapping::DatadirModification>::stats::{closure#0} 0
<pageserver::pgdatadir_mapping::Version>::sparse_get 0
<pageserver::pgdatadir_mapping::Version>::sparse_get::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::collect_keyspace::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::find_lsn_for_timestamp 0
<pageserver::tenant::timeline::Timeline>::find_lsn_for_timestamp::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_control_file 0
<pageserver::tenant::timeline::Timeline>::get_control_file::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_current_logical_size_non_incremental 0
<pageserver::tenant::timeline::Timeline>::get_current_logical_size_non_incremental::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_current_logical_size_non_incremental::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_db_size 0
<pageserver::tenant::timeline::Timeline>::get_db_size::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_rel_exists::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn_batched::<core::iter::adapters::map::Map<core::slice::iter::Iter<(pageserver_api::reltag::RelTag, u32)>, <pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn::{closure#0}::{closure#0}>>::{closure#0}::{closure#0} 0
::get_rel_page_at_lsn_batched::, ::get_rel_page_at_lsn::{closure#0}::{closure#0}>>::{closure#0}::{closure#0} 0
::get_rel_page_at_lsn_batched::, ::handle_get_page_at_lsn_request_batched::{closure#0}::{closure#0}::{closure#0}>>::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_relmap_file 0
<pageserver::tenant::timeline::Timeline>::get_relmap_file::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_replorigins 0
<pageserver::tenant::timeline::Timeline>::get_replorigins::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_slru_keyspace 0
<pageserver::tenant::timeline::Timeline>::get_slru_keyspace::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_slru_segment 0
<pageserver::tenant::timeline::Timeline>::get_slru_segment::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_slru_segment::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_slru_segment_exists 0
<pageserver::tenant::timeline::Timeline>::get_slru_segment_exists::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_slru_segment_size 0
<pageserver::tenant::timeline::Timeline>::get_slru_segment_size::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_timestamp_for_lsn 0
<pageserver::tenant::timeline::Timeline>::get_timestamp_for_lsn::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_timestamp_for_lsn::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::get_twophase_file 0
<pageserver::tenant::timeline::Timeline>::get_twophase_file::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::is_latest_commit_timestamp_ge_than 0
<pageserver::tenant::timeline::Timeline>::is_latest_commit_timestamp_ge_than::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::is_latest_commit_timestamp_ge_than::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::list_rels 0
<pageserver::tenant::timeline::Timeline>::list_rels::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::list_rels::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::list_rels::{closure#0}::{closure#1} 0
<pageserver::tenant::timeline::Timeline>::list_rels::{closure#0}::{closure#2} 0
<pageserver::tenant::timeline::Timeline>::list_slru_segments 0
<pageserver::tenant::timeline::Timeline>::list_slru_segments::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::list_twophase_files::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::map_all_timestamps::<(), <pageserver::tenant::timeline::Timeline>::get_timestamp_for_lsn::{closure#0}::{closure#0}> 0
::map_all_timestamps::<(), ::get_timestamp_for_lsn::{closure#0}::{closure#0}> 0
::map_all_timestamps::::is_latest_commit_timestamp_ge_than::{closure#0}::{closure#0}> 0
<pageserver::tenant::timeline::Timeline>::map_all_timestamps::<(), <pageserver::tenant::timeline::Timeline>::get_timestamp_for_lsn::{closure#0}::{closure#0}>::{closure#0} 0
::map_all_timestamps::<(), ::get_timestamp_for_lsn::{closure#0}::{closure#0}>::{closure#0} 0
::map_all_timestamps::::is_latest_commit_timestamp_ge_than::{closure#0}::{closure#0}>::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::map_all_timestamps::<(), <pageserver::tenant::timeline::Timeline>::get_timestamp_for_lsn::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 0
::map_all_timestamps::<(), ::get_timestamp_for_lsn::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 0
::map_all_timestamps::::is_latest_commit_timestamp_ge_than::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 0
<pageserver::tenant::timeline::Timeline>::trigger_aux_file_size_computation 0
<pageserver::tenant::timeline::Timeline>::trigger_aux_file_size_computation::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::delete 4
<pageserver::tenant::timeline::Timeline>::remove_cached_rel_size 4
pageserver::pgdatadir_mapping::tests::gap_finding 4
pageserver::pgdatadir_mapping::tests::sharded_gap_finding 4
pageserver::pgdatadir_mapping::tests::aux_files_round_trip 8
pageserver::pgdatadir_mapping::tests::aux_files_round_trip 4
pageserver::pgdatadir_mapping::tests::aux_files_round_trip::{closure#0} 4
<pageserver::pgdatadir_mapping::DatadirModification>::find_gaps::{closure#0} 12
<pageserver::pgdatadir_mapping::DatadirModification>::put_slru_page_image 12
<pageserver::pgdatadir_mapping::DatadirModification>::put_slru_segment_creation 12
<pageserver::pgdatadir_mapping::DatadirModification>::put_slru_segment_creation::{closure#0} 12
<pageserver::pgdatadir_mapping::DatadirModification>::put_slru_wal_record 16
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_drops 20
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_drops::{closure#0} 20
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_wal_record 24
<pageserver::tenant::timeline::Timeline>::get_checkpoint 24
<pageserver::tenant::timeline::Timeline>::get_checkpoint::{closure#0} 24
<pageserver::tenant::timeline::Timeline>::list_aux_files 24
<pageserver::tenant::timeline::Timeline>::list_aux_files::{closure#0} 24
<pageserver::tenant::timeline::Timeline>::list_aux_files_v2 24
<pageserver::tenant::timeline::Timeline>::list_aux_files_v2::{closure#0} 24
<pageserver::pgdatadir_mapping::DatadirModification>::put_file 32
<pageserver::pgdatadir_mapping::DatadirModification>::put_file::{closure#0} 32
<pageserver::pgdatadir_mapping::DatadirModification>::put_relmap_file 32
<pageserver::pgdatadir_mapping::DatadirModification>::put_relmap_file::{closure#0} 32
<pageserver::tenant::timeline::Timeline>::collect_gc_compaction_keyspace 104
<pageserver::tenant::timeline::Timeline>::collect_gc_compaction_keyspace::{closure#0} 104
<pageserver::pgdatadir_mapping::DatadirModification>::init_empty_test_timeline 420
<pageserver::pgdatadir_mapping::DatadirModification>::init_empty 424
<pageserver::pgdatadir_mapping::DatadirModification>::put_control_file 424
<pageserver::pgdatadir_mapping::DatadirModification>::put_checkpoint 452
<pageserver::tenant::timeline::Timeline>::collect_keyspace 652
<pageserver::tenant::timeline::Timeline>::collect_keyspace::{closure#0} 652
<pageserver::tenant::timeline::Timeline>::list_dbdirs 652
<pageserver::tenant::timeline::Timeline>::list_dbdirs::{closure#0} 652
<pageserver::tenant::timeline::Timeline>::list_twophase_files 656
<pageserver::tenant::timeline::Timeline>::list_twophase_files::{closure#0} 656
<pageserver::tenant::timeline::Timeline>::collect_keyspace::{closure#0}::overlaps_with::<pageserver_api::key::Key> 1956
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_creation 3840
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_creation::{closure#0} 3840
<pageserver::pgdatadir_mapping::DatadirModification>::maybe_enable_rel_size_v2 3892
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_page_image_zero 5996
<pageserver::pgdatadir_mapping::DatadirModification>::flush 7720
::flush 3860
::flush::{closure#0} 3860
<pageserver::tenant::timeline::Timeline>::update_cached_rel_size 10272
<pageserver::pgdatadir_mapping::Version>::get 10352
<pageserver::pgdatadir_mapping::Version>::get::{closure#0} 10352
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_truncation 12024
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_truncation::{closure#0} 12024
<pageserver::tenant::timeline::Timeline>::get_rel_exists 12100
<pageserver::tenant::timeline::Timeline>::get_rel_exists::{closure#0} 12100
<pageserver::pgdatadir_mapping::DirectoryKind>::offset 17968
<pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn 36768
<pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn::{closure#0} 36768
<pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn::{closure#0}::{closure#0} 36768
<pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn_batched::<core::iter::adapters::map::Map<core::slice::iter::Iter<(pageserver_api::reltag::RelTag, u32)>, <pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn::{closure#0}::{closure#0}>> 36768
::get_rel_page_at_lsn_batched::, ::handle_get_page_at_lsn_request_batched::{closure#0}::{closure#0}::{closure#0}>> 0
::get_rel_page_at_lsn_batched::, ::get_rel_page_at_lsn::{closure#0}::{closure#0}>> 36768
<pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn_batched::<core::iter::adapters::map::Map<core::slice::iter::Iter<(pageserver_api::reltag::RelTag, u32)>, <pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn::{closure#0}::{closure#0}>>::{closure#0} 36768
::get_rel_page_at_lsn_batched::, ::handle_get_page_at_lsn_request_batched::{closure#0}::{closure#0}::{closure#0}>>::{closure#0} 0
::get_rel_page_at_lsn_batched::, ::get_rel_page_at_lsn::{closure#0}::{closure#0}>>::{closure#0} 36768
<pageserver::tenant::timeline::Timeline>::get_rel_size 48868
<pageserver::tenant::timeline::Timeline>::get_rel_size::{closure#0} 48868
<pageserver::pgdatadir_mapping::Version>::get_lsn 71240
<pageserver::pgdatadir_mapping::DatadirModification>::len::{closure#0} 291300
<pageserver::pgdatadir_mapping::DatadirModification>::find_gaps 291340
<pageserver::pgdatadir_mapping::DatadirModification>::ingest_batch 291704
<pageserver::pgdatadir_mapping::DatadirModification>::ingest_batch::{closure#0} 291704
<pageserver::pgdatadir_mapping::DatadirModification>::set_lsn 291716
<pageserver::tenant::timeline::Timeline>::begin_modification 536828
<pageserver::pgdatadir_mapping::DatadirModification>::commit::{closure#0}::{closure#0} 548092
<pageserver::pgdatadir_mapping::DatadirModification>::commit::{closure#0}::{closure#0}::{closure#0} 548092
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_extend 553360
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_extend::{closure#0} 553360
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_page_image 555684
<pageserver::pgdatadir_mapping::DatadirModification>::put_data 555736
<pageserver::tenant::timeline::Timeline>::set_cached_rel_size 565440
<pageserver::pgdatadir_mapping::DatadirModification>::put_metadata 572396
<pageserver::pgdatadir_mapping::DatadirModification>::len 583408
<pageserver::pgdatadir_mapping::DatadirModification>::create_relation_if_required 836112
<pageserver::pgdatadir_mapping::DatadirModification>::create_relation_if_required::{closure#0} 836112
<pageserver::pgdatadir_mapping::DatadirModification>::get_lsn 836116
<pageserver::tenant::timeline::Timeline>::get_cached_rel_size 897080
<pageserver::pgdatadir_mapping::DatadirModification>::put 1128132
<pageserver::pgdatadir_mapping::DatadirModification>::get 1146344
::get 573172
::get::{closure#0} 573172
<pageserver::pgdatadir_mapping::DatadirModification>::is_data_key 1701304
<pageserver::pgdatadir_mapping::DatadirModification>::commit 2972392
::commit 1486196
::commit::{closure#0} 1486196

Generated by: LCOV version 2.1-beta