LCOV - code coverage report
Current view: top level - pageserver/src - pgdatadir_mapping.rs (source / functions) Coverage Total Hit
Test: 1e20c4f2b28aa592527961bb32170ebbd2c9172f.info Lines: 56.5 % 1864 1054
Test Date: 2025-07-16 12:29:03 Functions: 50.8 % 197 100

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>::visit_map::<_> 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>::visit_map::<_> 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>::visit_map::<_> 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>::visit_map::<_> 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>::visit_map::<_> 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>::visit_map::<_> 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::CollectKeySpaceError>::into_anyhow 0
<pageserver::pgdatadir_mapping::CollectKeySpaceError>::is_cancel 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>::drop_twophase_file::{closure#0}::{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>::ingest_batch::{closure#0}::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_creation::{closure#0}::{closure#0} 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>::sparse_get 0
<pageserver::pgdatadir_mapping::DatadirModification>::sparse_get::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::stats 0
<pageserver::pgdatadir_mapping::LsnRange>::at 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::{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_in_reldir::{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#4}>>::{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#1} 0
::get_rel_page_at_lsn_batched::, ::get_rel_page_at_lsn::{closure#0}::{closure#0}>>::{closure#0}::{closure#1} 0
::get_rel_page_at_lsn_batched::, ::handle_get_page_at_lsn_request_batched::{closure#0}::{closure#0}::{closure#4}>>::{closure#0}::{closure#1} 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#2} 0
::get_rel_page_at_lsn_batched::, ::get_rel_page_at_lsn::{closure#0}::{closure#0}>>::{closure#0}::{closure#2} 0
::get_rel_page_at_lsn_batched::, ::handle_get_page_at_lsn_request_batched::{closure#0}::{closure#0}::{closure#4}>>::{closure#0}::{closure#2} 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#4} 0
::get_rel_page_at_lsn_batched::, ::get_rel_page_at_lsn::{closure#0}::{closure#0}>>::{closure#0}::{closure#4} 0
::get_rel_page_at_lsn_batched::, ::handle_get_page_at_lsn_request_batched::{closure#0}::{closure#0}::{closure#4}>>::{closure#0}::{closure#4} 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#5} 0
::get_rel_page_at_lsn_batched::, ::get_rel_page_at_lsn::{closure#0}::{closure#0}>>::{closure#0}::{closure#5} 0
::get_rel_page_at_lsn_batched::, ::handle_get_page_at_lsn_request_batched::{closure#0}::{closure#0}::{closure#4}>>::{closure#0}::{closure#5} 0
<pageserver::tenant::timeline::Timeline>::get_relmap_file 0
<pageserver::tenant::timeline::Timeline>::get_relmap_file::{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_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#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>::trigger_aux_file_size_computation 0
<pageserver::tenant::timeline::Timeline>::trigger_aux_file_size_computation::{closure#0} 0
<pageserver::pgdatadir_mapping::DatadirModification>::delete 1
<pageserver::pgdatadir_mapping::DatadirModification>::get_lsn 1
<pageserver::pgdatadir_mapping::DatadirModification>::set_replorigin 1
<pageserver::pgdatadir_mapping::DatadirModification>::set_replorigin::{closure#0} 1
<pageserver::tenant::timeline::Timeline>::get_replorigins::{closure#0}::{closure#0} 1
<pageserver::tenant::timeline::Timeline>::remove_cached_rel_size 1
pageserver::pgdatadir_mapping::tests::gap_finding 1
pageserver::pgdatadir_mapping::tests::sharded_gap_finding 1
<pageserver::pgdatadir_mapping::DatadirModification>::put_for_unit_test 2
<pageserver::tenant::timeline::Timeline>::get_replorigins 2
<pageserver::tenant::timeline::Timeline>::get_replorigins::{closure#0} 2
pageserver::pgdatadir_mapping::tests::aux_files_round_trip 2
pageserver::pgdatadir_mapping::tests::aux_files_round_trip 1
pageserver::pgdatadir_mapping::tests::aux_files_round_trip::{closure#0} 1
<pageserver::pgdatadir_mapping::DatadirModification>::find_gaps::{closure#0} 3
<pageserver::pgdatadir_mapping::DatadirModification>::put_slru_page_image 3
<pageserver::pgdatadir_mapping::DatadirModification>::put_slru_segment_creation 3
<pageserver::pgdatadir_mapping::DatadirModification>::put_slru_segment_creation::{closure#0} 3
<pageserver::pgdatadir_mapping::DatadirModification>::put_slru_wal_record 4
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_drops 5
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_drops::{closure#0} 5
<pageserver::tenant::timeline::Timeline>::update_cached_rel_size 5
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_wal_record 6
<pageserver::tenant::timeline::Timeline>::get_checkpoint 6
<pageserver::tenant::timeline::Timeline>::get_checkpoint::{closure#0} 6
<pageserver::tenant::timeline::Timeline>::list_aux_files 6
<pageserver::tenant::timeline::Timeline>::list_aux_files::{closure#0} 6
<pageserver::tenant::timeline::Timeline>::list_aux_files_v2 6
<pageserver::tenant::timeline::Timeline>::list_aux_files_v2::{closure#0} 6
<pageserver::tenant::timeline::Timeline>::get_current_logical_size_non_incremental 7
<pageserver::tenant::timeline::Timeline>::get_current_logical_size_non_incremental::{closure#0} 7
<pageserver::pgdatadir_mapping::DatadirModification>::put_file 8
<pageserver::pgdatadir_mapping::DatadirModification>::put_file::{closure#0} 8
<pageserver::pgdatadir_mapping::DatadirModification>::put_relmap_file 8
<pageserver::pgdatadir_mapping::DatadirModification>::put_relmap_file::{closure#0} 8
<pageserver::pgdatadir_mapping::LsnRange>::is_latest 16
<pageserver::pgdatadir_mapping::Version>::get 25
<pageserver::pgdatadir_mapping::Version>::get::{closure#0} 25
<pageserver::pgdatadir_mapping::Version>::is_latest 26
<pageserver::tenant::timeline::Timeline>::collect_gc_compaction_keyspace 27
<pageserver::tenant::timeline::Timeline>::collect_gc_compaction_keyspace::{closure#0} 27
<pageserver::pgdatadir_mapping::DatadirModification>::init_empty_test_timeline 111
<pageserver::pgdatadir_mapping::DatadirModification>::init_empty 112
<pageserver::pgdatadir_mapping::DatadirModification>::put_control_file 112
<pageserver::pgdatadir_mapping::DatadirModification>::put_checkpoint 119
<pageserver::tenant::timeline::Timeline>::collect_keyspace 169
<pageserver::tenant::timeline::Timeline>::collect_keyspace::{closure#0} 169
<pageserver::tenant::timeline::Timeline>::list_dbdirs 169
<pageserver::tenant::timeline::Timeline>::list_dbdirs::{closure#0} 169
<pageserver::tenant::timeline::Timeline>::list_twophase_files 170
<pageserver::tenant::timeline::Timeline>::list_twophase_files::{closure#0} 170
<pageserver::tenant::timeline::Timeline>::collect_keyspace::{closure#0}::overlaps_with::<pageserver_api::key::Key> 507
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_creation 960
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_creation::{closure#0} 960
<pageserver::pgdatadir_mapping::DatadirModification>::maybe_enable_rel_size_v2 973
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_page_image_zero 1499
<pageserver::pgdatadir_mapping::DatadirModification>::flush 1930
::flush 965
::flush::{closure#0} 965
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_truncation 3006
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_truncation::{closure#0} 3006
<pageserver::tenant::timeline::Timeline>::get_rel_exists 3025
<pageserver::tenant::timeline::Timeline>::get_rel_exists::{closure#0} 3025
<pageserver::tenant::timeline::Timeline>::get_rel_exists_in_reldir 3025
<pageserver::tenant::timeline::Timeline>::get_rel_exists_in_reldir::{closure#0} 3025
<pageserver::pgdatadir_mapping::DirectoryKind>::offset 4582
<pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn 9192
<pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn::{closure#0} 9192
<pageserver::tenant::timeline::Timeline>::get_rel_page_at_lsn::{closure#0}::{closure#0} 9192
<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}>> 9192
::get_rel_page_at_lsn_batched::, ::handle_get_page_at_lsn_request_batched::{closure#0}::{closure#0}::{closure#4}>> 0
::get_rel_page_at_lsn_batched::, ::get_rel_page_at_lsn::{closure#0}::{closure#0}>> 9192
<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} 9192
::get_rel_page_at_lsn_batched::, ::handle_get_page_at_lsn_request_batched::{closure#0}::{closure#0}::{closure#4}>>::{closure#0} 0
::get_rel_page_at_lsn_batched::, ::get_rel_page_at_lsn::{closure#0}::{closure#0}>>::{closure#0} 9192
<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#3} 9192
::get_rel_page_at_lsn_batched::, ::handle_get_page_at_lsn_request_batched::{closure#0}::{closure#0}::{closure#4}>>::{closure#0}::{closure#3} 0
::get_rel_page_at_lsn_batched::, ::get_rel_page_at_lsn::{closure#0}::{closure#0}>>::{closure#0}::{closure#3} 9192
<pageserver::tenant::timeline::Timeline>::get_rel_size 12217
<pageserver::tenant::timeline::Timeline>::get_rel_size::{closure#0} 12217
<pageserver::tenant::timeline::Timeline>::get_rel_size_in_reldir 12217
<pageserver::tenant::timeline::Timeline>::get_rel_size_in_reldir::{closure#0} 12217
<pageserver::pgdatadir_mapping::Version>::at 12219
<pageserver::pgdatadir_mapping::DatadirModification>::len::{closure#0} 72825
<pageserver::pgdatadir_mapping::DatadirModification>::find_gaps 72835
<pageserver::pgdatadir_mapping::DatadirModification>::ingest_batch 72926
<pageserver::pgdatadir_mapping::DatadirModification>::ingest_batch::{closure#0} 72926
<pageserver::pgdatadir_mapping::DatadirModification>::set_lsn 72929
<pageserver::tenant::timeline::Timeline>::begin_modification 134215
<pageserver::pgdatadir_mapping::DatadirModification>::commit::{closure#0}::{closure#0} 137068
<pageserver::pgdatadir_mapping::DatadirModification>::commit::{closure#0}::{closure#0}::{closure#0} 137068
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_extend 138340
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_extend::{closure#0} 138340
<pageserver::pgdatadir_mapping::DatadirModification>::put_rel_page_image 138921
<pageserver::pgdatadir_mapping::DatadirModification>::put_data 138934
<pageserver::tenant::timeline::Timeline>::set_cached_rel_size 141360
<pageserver::pgdatadir_mapping::DatadirModification>::put_metadata 143144
<pageserver::pgdatadir_mapping::DatadirModification>::len 145852
<pageserver::pgdatadir_mapping::DatadirModification>::create_relation_if_required 209028
<pageserver::pgdatadir_mapping::DatadirModification>::create_relation_if_required::{closure#0} 209028
<pageserver::tenant::timeline::Timeline>::get_cached_rel_size 224270
<pageserver::pgdatadir_mapping::Version>::get_lsn 224275
<pageserver::pgdatadir_mapping::DatadirModification>::put 282078
<pageserver::pgdatadir_mapping::DatadirModification>::get 286586
::get 143293
::get::{closure#0} 143293
<pageserver::pgdatadir_mapping::DatadirModification>::is_data_key 425371
<pageserver::pgdatadir_mapping::DatadirModification>::commit 743114
::commit 371557
::commit::{closure#0} 371557

Generated by: LCOV version 2.1-beta