LCOV - code coverage report
Current view: top level - pageserver/src/tenant - remote_timeline_client.rs (source / functions) Coverage Total Hit
Test: 1e20c4f2b28aa592527961bb32170ebbd2c9172f.info Lines: 62.1 % 1848 1148
Test Date: 2025-07-16 12:29:03 Functions: 56.3 % 190 107

Function Name Sort by function name Hit count Sort by function hit count
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::copy_timeline_layer 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::copy_timeline_layer::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::copy_timeline_layer::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::copy_timeline_layer::{closure#0}::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::copy_timeline_layer::{closure#0}::{closure#1} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all 0
::delete_all 0
::delete_all::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#10} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#11} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#15} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#17} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#1} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#5} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#5}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#6} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#6}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#7} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#7}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::delete_all::{closure#0}::{closure#9} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::download_foreign_index 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::download_foreign_index::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::download_index_file::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::flush_deletion_queue 0
::flush_deletion_queue 0
::flush_deletion_queue::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::force_schedule_index_upload 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::init_upload_queue::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::init_upload_queue_for_empty_remote::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::init_upload_queue_stopped_to_continue_deletion 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::init_upload_queue_stopped_to_continue_deletion::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::initialized_upload_queue 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::is_deleting 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::is_previous_ancestor_lsn 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::is_previous_ancestor_lsn::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::perform_upload_task::{closure#0}::{closure#1} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::perform_upload_task::{closure#0}::{closure#3} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::persist_index_part_with_deleted_flag::{closure#0}::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::persist_index_part_with_deleted_flag::{closure#0}::{closure#0}::{closure#1} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::persist_index_part_with_deleted_flag::{closure#0}::{closure#0}::{closure#3} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::preserve_initdb_archive 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::preserve_initdb_archive::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::preserve_initdb_archive::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::preserve_initdb_archive::{closure#0}::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::preserve_initdb_archive::{closure#0}::{closure#1} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::remote_consistent_lsn_visible 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_adding_existing_layers_to_index_detach_and_wait 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_adding_existing_layers_to_index_detach_and_wait::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_gc_compaction_state_update 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_import_pgdata_finalize 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_import_pgdata_state_update 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_metadata_update::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_rel_size_v2_status_update 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_insert_gc_block_reason 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_insert_gc_block_reason::{closure#0} 0
::schedule_insert_gc_block_reason::{closure#0} 0
::schedule_insert_gc_block_reason::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_insert_gc_block_reason::{closure#1} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_insert_gc_block_reason::{closure#2} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_insert_gc_block_reason::{closure#3} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_remove_gc_block_reason 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_remove_gc_block_reason::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_remove_gc_block_reason::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_remove_gc_block_reason::{closure#1} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_remove_gc_block_reason::{closure#2} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_reparenting_and_wait 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_reparenting_and_wait::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_unlinking_of_layers_from_index_part::<core::iter::sources::once::Once<pageserver::tenant::storage_layer::layer_name::LayerName>> 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::shutdown::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::update_config 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::upload_layer_file 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::upload_layer_file::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::upload_layer_file::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::upload_layer_file::{closure#0}::{closure#0}::{closure#0} 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::upload_layer_file::{closure#0}::{closure#1} 0
<pageserver::tenant::remote_timeline_client::UploadQueueAccessor>::latest_uploaded_index_part 0
pageserver::tenant::remote_timeline_client::parse_remote_tenant_manifest_path 0
pageserver::tenant::remote_timeline_client::parse_remote_tenant_manifest_path::{closure#0} 0
pageserver::tenant::remote_timeline_client::parse_remote_tenant_manifest_path::{closure#1} 0
pageserver::tenant::remote_timeline_client::parse_remote_tenant_manifest_path::{closure#2} 0
pageserver::tenant::remote_timeline_client::remote_heatmap_path 0
pageserver::tenant::remote_timeline_client::remote_tenant_path 0
pageserver::tenant::remote_timeline_client::remote_timelines_path_unsharded 0
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::archived_at_stopped_queue 1
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::get_remote_physical_size 1
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_timeline_archival_state 1
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_timeline_archival_state::{closure#0} 1
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_timeline_invisible_state 1
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_timeline_invisible_state::need_change 1
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_timeline_invisible_state::{closure#0} 1
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::shutdown_if_archived 1
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::shutdown_if_archived::{closure#0} 1
pageserver::tenant::remote_timeline_client::remote_initdb_preserved_archive_path 1
pageserver::tenant::remote_timeline_client::tests::assert_file_list 1
pageserver::tenant::remote_timeline_client::tests::dummy_metadata 1
pageserver::tenant::remote_timeline_client::tests::upload_scheduling::{closure#0}::{closure#0} 1
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::remote_consistent_lsn_projected 2
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_timeline_archival_state::need_change 2
<pageserver::tenant::remote_timeline_client::tests::bytes_unfinished_gauge_for_layer_file_uploads::{closure#0}::BytesStartedFinished as core::ops::arith::Add>::add 2
<pageserver::tenant::remote_timeline_client::tests::bytes_unfinished_gauge_for_layer_file_uploads::{closure#0}::BytesStartedFinished as core::ops::arith::Add>::add::{closure#0} 2
<pageserver::tenant::remote_timeline_client::tests::bytes_unfinished_gauge_for_layer_file_uploads::{closure#0}::BytesStartedFinished as core::ops::arith::Add>::add::{closure#1} 2
pageserver::tenant::remote_timeline_client::remote_initdb_archive_path 2
pageserver::tenant::remote_timeline_client::tests::assert_remote_files 2
pageserver::tenant::remote_timeline_client::tests::bytes_unfinished_gauge_for_layer_file_uploads 2
pageserver::tenant::remote_timeline_client::tests::bytes_unfinished_gauge_for_layer_file_uploads 1
pageserver::tenant::remote_timeline_client::tests::bytes_unfinished_gauge_for_layer_file_uploads::{closure#0} 1
pageserver::tenant::remote_timeline_client::tests::index_part_download_ordering 2
pageserver::tenant::remote_timeline_client::tests::index_part_download_ordering 1
pageserver::tenant::remote_timeline_client::tests::index_part_download_ordering::{closure#0} 1
pageserver::tenant::remote_timeline_client::tests::index_part_download_simple 2
pageserver::tenant::remote_timeline_client::tests::index_part_download_simple 1
pageserver::tenant::remote_timeline_client::tests::index_part_download_simple::{closure#0} 1
pageserver::tenant::remote_timeline_client::tests::upload_scheduling 2
pageserver::tenant::remote_timeline_client::tests::upload_scheduling 1
pageserver::tenant::remote_timeline_client::tests::upload_scheduling::{closure#0} 1
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::init_upload_queue 3
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_barrier 3
<pageserver::tenant::remote_timeline_client::tests::TestSetup>::span 3
pageserver::tenant::remote_timeline_client::tests::assert_file_list::{closure#0} 3
pageserver::tenant::remote_timeline_client::tests::bytes_unfinished_gauge_for_layer_file_uploads::{closure#0}::{closure#0} 3
pageserver::tenant::remote_timeline_client::tests::bytes_unfinished_gauge_for_layer_file_uploads::{closure#0}::{closure#0}::{closure#0} 3
pageserver::tenant::remote_timeline_client::tests::bytes_unfinished_gauge_for_layer_file_uploads::{closure#0}::{closure#0}::{closure#1} 3
pageserver::tenant::remote_timeline_client::tests::upload_scheduling::{closure#0}::{closure#1} 3
pageserver::tenant::remote_timeline_client::tests::upload_scheduling::{closure#0}::{closure#2} 3
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::no_pending_work 4
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_gc_update 4
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_layer_file_deletion 4
pageserver::tenant::remote_timeline_client::tests::dummy_contents 4
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_gc_update::{closure#0} 5
<pageserver::tenant::remote_timeline_client::tests::TestSetup>::build_client 5
pageserver::tenant::remote_timeline_client::tests::assert_got_index_part 5
pageserver::tenant::remote_timeline_client::tests::assert_got_index_part::{closure#0} 5
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::download_layer_file 7
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::download_layer_file::{closure#0} 7
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::is_archived 8
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::is_archived::{closure#0} 8
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::is_invisible 8
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::is_invisible::{closure#0} 8
<pageserver::tenant::remote_timeline_client::tests::TestSetup>::new 8
::new 4
::new::{closure#0} 4
pageserver::tenant::remote_timeline_client::tests::assert_remote_files::{closure#0} 8
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::stop 9
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::stop_impl 9
pageserver::tenant::remote_timeline_client::parse_remote_index_path 9
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient as core::ops::drop::Drop>::drop 10
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::download_index_file 10
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::download_index_file::{closure#0} 10
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::shutdown 10
::shutdown 5
::shutdown::{closure#0} 5
pageserver::tenant::remote_timeline_client::tests::inject_index_part 12
pageserver::tenant::remote_timeline_client::tests::inject_index_part 6
pageserver::tenant::remote_timeline_client::tests::inject_index_part::{closure#0} 6
pageserver::tenant::remote_timeline_client::remote_timeline_path 15
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_compaction_update 47
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_unlinking_of_layers_from_index_part0::<core::iter::sources::once::Once<pageserver::tenant::storage_layer::layer_name::LayerName>> 55
::schedule_unlinking_of_layers_from_index_part0::> 0
::schedule_unlinking_of_layers_from_index_part0::>> 4
::schedule_unlinking_of_layers_from_index_part0::, ::schedule_gc_update::{closure#0}>> 4
::schedule_unlinking_of_layers_from_index_part0::, ::schedule_compaction_update::{closure#0}>> 47
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_file_changes 83
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_full_metadata_update 118
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::wait_completion0 118
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::wait_completion0::{closure#0} 118
pageserver::tenant::remote_timeline_client::remote_tenant_manifest_prefix 119
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_barrier0 121
pageserver::tenant::remote_timeline_client::remote_timelines_path 134
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::perform_upload_task::{closure#0}::{closure#0} 209
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::init_upload_queue_for_empty_remote 232
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::new 235
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::wait_completion 236
::wait_completion 118
::wait_completion::{closure#0} 118
<pageserver::tenant::remote_timeline_client::RemoteTimelineClientConfig as core::convert::From<&pageserver::tenant::config::AttachedLocationConfig>>::from 240
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_compaction_update::{closure#0} 253
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_unlinking_of_layers_from_index_part0::<core::iter::sources::once::Once<pageserver::tenant::storage_layer::layer_name::LayerName>>::{closure#0} 259
::schedule_unlinking_of_layers_from_index_part0::>::{closure#0} 0
::schedule_unlinking_of_layers_from_index_part0::>>::{closure#0} 1
::schedule_unlinking_of_layers_from_index_part0::, ::schedule_gc_update::{closure#0}>>::{closure#0} 5
::schedule_unlinking_of_layers_from_index_part0::, ::schedule_compaction_update::{closure#0}>>::{closure#0} 253
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_deletion_of_unlinked 261
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_deletion_of_unlinked0::{closure#0} 261
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_deletion_of_unlinked0 264
pageserver::tenant::remote_timeline_client::remote_tenant_manifest_path 468
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::perform_upload_task::{closure#0}::{closure#4} 545
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload_for_metadata_update 623
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_layer_file_upload 705
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_index_upload 797
pageserver::tenant::remote_timeline_client::remote_index_path 807
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::schedule_layer_file_upload0 895
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::update_remote_physical_size_gauge 1005
pageserver::tenant::remote_timeline_client::remote_layer_path 1076
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::metric_end 1865
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::launch_queued_tasks::{closure#0} 1873
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::metric_begin 1953
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::perform_upload_task 3746
::perform_upload_task 1873
::perform_upload_task::{closure#0} 1873
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::launch_queued_tasks 3799
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::metric_impl 3818
<pageserver::tenant::remote_timeline_client::RemoteTimelineClient>::perform_upload_task::{closure#0}::{closure#2} 8931
pageserver::tenant::remote_timeline_client::is_same_remote_layer_path 892591

Generated by: LCOV version 2.1-beta