LCOV - code coverage report
Current view: top level - libs/utils/src - backoff.rs (source / functions) Coverage Total Hit
Test: 249f165943bd2c492f96a3f7d250276e4addca1a.info Lines: 96.0 % 150 144
Test Date: 2024-11-20 18:39:52 Functions: 44.1 % 143 63

Function Name Sort by function name Hit count Sort by function hit count
utils::backoff::tests::backoff_defaults_produce_growing_backoff_sequence 1
utils::backoff::tests::dont_retry_permanent_errors::{closure#0}::{closure#0} 1
utils::backoff::tests::dont_retry_permanent_errors::{closure#0}::{closure#0}::{closure#0} 1
utils::backoff::tests::dont_retry_permanent_errors::{closure#0}::{closure#1} 1
utils::backoff::tests::dont_retry_permanent_errors 2
utils::backoff::tests::dont_retry_permanent_errors 1
utils::backoff::tests::dont_retry_permanent_errors::{closure#0} 1
utils::backoff::tests::retry_always_error 2
utils::backoff::tests::retry_always_error 1
utils::backoff::tests::retry_always_error::{closure#0} 1
utils::backoff::tests::retry_always_error::{closure#0}::{closure#0} 2
utils::backoff::tests::retry_always_error::{closure#0}::{closure#0}::{closure#0} 2
utils::backoff::tests::retry_always_error::{closure#0}::{closure#1} 2
utils::backoff::tests::retry_ok_after_err 2
utils::backoff::tests::retry_ok_after_err 1
utils::backoff::tests::retry_ok_after_err::{closure#0} 1
utils::backoff::tests::retry_ok_after_err::{closure#0}::{closure#1} 2
utils::backoff::tests::retry_ok_after_err::{closure#0}::{closure#0} 3
utils::backoff::tests::retry_ok_after_err::{closure#0}::{closure#0}::{closure#0} 3
utils::backoff::exponential_backoff 416
utils::backoff::exponential_backoff::{closure#0} 416
utils::backoff::retry::<_, _, _, _, _> 1193
utils::backoff::retry::<(), ::upload_initdb::{closure#0}::{closure#0}, ::upload_initdb::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::upload_initdb::{closure#0}::{closure#1}> 0
utils::backoff::retry::<(), ::delete_tenant::{closure#0}::{closure#0}, ::delete_tenant::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::delete_tenant::{closure#0}::{closure#1}> 0
utils::backoff::retry::<(), ::copy_timeline_layer::{closure#0}::{closure#0}, ::copy_timeline_layer::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::caused_by_cancel> 0
utils::backoff::retry::<(), ::persist_index_part_with_deleted_flag::{closure#0}::{closure#0}::{closure#1}, pageserver::tenant::remote_timeline_client::upload::upload_index_part::{closure#0}, anyhow::Error, ::persist_index_part_with_deleted_flag::{closure#0}::{closure#0}::{closure#2}> 0
utils::backoff::retry::<(), ::preserve_initdb_archive::{closure#0}::{closure#0}, ::preserve_initdb_archive::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::caused_by_cancel> 0
utils::backoff::retry::<(), ::upload_layer_file::{closure#0}::{closure#0}, ::upload_layer_file::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::caused_by_cancel> 0
utils::backoff::retry::<(), ::do_notify::{closure#0}::{closure#1}, ::do_notify_iteration::{closure#0}, storage_controller::compute_hook::NotifyError, ::do_notify::{closure#0}::{closure#2}> 0
utils::backoff::retry::<(), ::with_client_retries<(), ::location_config::{closure#0}::{closure#0}, ::location_config::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(), ::location_config::{closure#0}::{closure#0}, ::location_config::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::<(), ::with_client_retries<(), ::abort_tenant_shard_split::{closure#0}::{closure#0}::{closure#1}, ::abort_tenant_shard_split::{closure#0}::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(), ::abort_tenant_shard_split::{closure#0}::{closure#0}::{closure#1}, ::abort_tenant_shard_split::{closure#0}::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::<(), ::with_client_retries<(), ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#1}, ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(), ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#1}, ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::<(), ::with_client_retries<(), ::tenant_for_shards_api<(), ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(), ::tenant_for_shards_api<(), ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::<(), pageserver::consumption_metrics::upload::upload::{closure#0}::{closure#0}, pageserver::consumption_metrics::upload::upload::{closure#0}::{closure#0}::{closure#0}, pageserver::consumption_metrics::upload::UploadError, ::is_reject> 0
utils::backoff::retry::<(), pageserver::tenant::remote_timeline_client::upload::time_travel_recover_tenant::{closure#0}::{closure#0}, pageserver::tenant::remote_timeline_client::upload::time_travel_recover_tenant::{closure#0}::{closure#0}::{closure#0}, remote_storage::error::TimeTravelError, pageserver::tenant::remote_timeline_client::upload::time_travel_recover_tenant::{closure#0}::{closure#1}> 0
utils::backoff::retry::<(), pageserver::tenant::secondary::heatmap_uploader::upload_tenant_heatmap::{closure#0}::{closure#5}, pageserver::tenant::secondary::heatmap_uploader::upload_tenant_heatmap::{closure#0}::{closure#5}::{closure#0}, anyhow::Error, ::caused_by_cancel> 0
utils::backoff::retry::<(), proxy::usage_metrics::upload_events_chunk::{closure#0}::{closure#0}, proxy::usage_metrics::upload_events_chunk::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::caused_by_cancel> 0
utils::backoff::retry::<(), safekeeper::wal_backup::delete_timeline::{closure#0}::{closure#0}, safekeeper::wal_backup::delete_timeline::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, safekeeper::wal_backup::delete_timeline::{closure#0}::{closure#1}> 0
utils::backoff::retry::<(), storage_scrubber::pageserver_physical_gc::maybe_delete_index::{closure#0}::{closure#0}, ::delete::{closure#0}, anyhow::Error, storage_scrubber::pageserver_physical_gc::maybe_delete_index::{closure#0}::{closure#1}> 0
utils::backoff::retry::<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::with_client_retries<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::secondary_download::{closure#0}::{closure#0}, ::secondary_download::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::secondary_download::{closure#0}::{closure#0}, ::secondary_download::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::with_client_retries<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::tenant_for_shards_api<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::tenant_for_shards_api<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::<_, _, _, _, _> 0
utils::backoff::retry::::list_projects::{closure#0}::{closure#0}, ::list_projects::{closure#0}::{closure#0}::{closure#0}, storage_scrubber::cloud_admin_api::Error, ::with_retries::list_projects::{closure#0}::{closure#0}, ::list_projects::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}> 0
utils::backoff::retry::, ::with_client_retries, ::compute_notify_blocking::{closure#0}::{closure#0}, ::compute_notify_blocking::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries, ::compute_notify_blocking::{closure#0}::{closure#0}, ::compute_notify_blocking::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::, ::with_client_retries, ::maybe_refresh_observed::{closure#0}::{closure#0}, ::maybe_refresh_observed::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries, ::maybe_refresh_observed::{closure#0}::{closure#0}, ::maybe_refresh_observed::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::::with_client_retries::tenant_delete::{closure#0}::{closure#0}, ::tenant_delete::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::tenant_delete::{closure#0}::{closure#0}, ::tenant_delete::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::::download_heatmap::{closure#0}::{closure#0}, ::download_heatmap::{closure#0}::{closure#0}::{closure#0}, pageserver::tenant::secondary::downloader::UpdateError, ::download_heatmap::{closure#0}::{closure#1}> 0
utils::backoff::retry::::with_client_retries::node_activate_reconcile::{closure#0}::{closure#0}::{closure#0}, ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::node_activate_reconcile::{closure#0}::{closure#0}::{closure#0}, ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::::with_client_retries::scan_node_locations::{closure#0}::{closure#0}::{closure#0}, ::scan_node_locations::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::scan_node_locations::{closure#0}::{closure#0}::{closure#0}, ::scan_node_locations::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::::with_client_retries::secondary_lag::{closure#0}::{closure#0}, ::secondary_lag::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::secondary_lag::{closure#0}::{closure#0}, ::secondary_lag::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::::with_client_retries::tenant_for_shards_api::optimize_all_validate::{closure#0}::{closure#1}, ::optimize_all_validate::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::optimize_all_validate::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::tenant_for_shards_api::optimize_all_validate::{closure#0}::{closure#1}, ::optimize_all_validate::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::optimize_all_validate::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::::with_client_retries::autosplit_tenants::{closure#0}::{closure#0}, ::autosplit_tenants::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::autosplit_tenants::{closure#0}::{closure#0}, ::autosplit_tenants::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::::with_client_retries::heartbeat::{closure#0}::{closure#0}::{closure#0}, ::heartbeat::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::heartbeat::{closure#0}::{closure#0}::{closure#0}, ::heartbeat::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal> 0
utils::backoff::retry::::retry_http_forever::{closure#0}::{closure#0}, ::retry_http_forever::{closure#0}::{closure#0}::{closure#0}, reqwest::error::Error, ::retry_http_forever::{closure#0}::{closure#1}> 0
utils::backoff::retry::::retry_http_forever::{closure#0}::{closure#0}, ::retry_http_forever::{closure#0}::{closure#0}::{closure#0}, reqwest::error::Error, ::retry_http_forever::{closure#0}::{closure#1}> 0
utils::backoff::retry::::delete_all::{closure#0}::{closure#5}, ::delete_all::{closure#0}::{closure#5}::{closure#0}, remote_storage::error::DownloadError, ::is_permanent> 0
utils::backoff::retry::::{closure#0}::{closure#0}, ::list::{closure#0}, remote_storage::error::DownloadError, ::is_permanent> 0
utils::backoff::retry::::list::{closure#0}, remote_storage::error::DownloadError, storage_scrubber::garbage::get_tenant_objects::{closure#0}::{closure#1}> 0
utils::backoff::retry::::list::{closure#0}, remote_storage::error::DownloadError, storage_scrubber::garbage::get_timeline_objects::{closure#0}::{closure#1}> 0
utils::backoff::retry::::step_down::{closure#0}::{closure#0}, ::request_step_down::{closure#0}, storage_controller::peer_client::StorageControllerPeerError, ::step_down::{closure#0}::{closure#1}> 0
utils::backoff::retry::>, ::find_timeline_branch::{closure#0}::{closure#0}, ::find_timeline_branch::{closure#0}::{closure#0}::{closure#0}, storage_scrubber::cloud_admin_api::Error, ::with_retries>, ::find_timeline_branch::{closure#0}::{closure#0}, ::find_timeline_branch::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}> 0
utils::backoff::retry::>, ::find_tenant_project::{closure#0}::{closure#0}, ::find_tenant_project::{closure#0}::{closure#0}::{closure#0}, storage_scrubber::cloud_admin_api::Error, ::with_retries>, ::find_tenant_project::{closure#0}::{closure#0}, ::find_tenant_project::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}> 0
utils::backoff::retry::<(), utils::backoff::tests::dont_retry_permanent_errors::{closure#0}::{closure#0}, utils::backoff::tests::dont_retry_permanent_errors::{closure#0}::{closure#0}::{closure#0}, std::io::error::Error, utils::backoff::tests::dont_retry_permanent_errors::{closure#0}::{closure#1}> 1
utils::backoff::retry::<(), utils::backoff::tests::retry_always_error::{closure#0}::{closure#0}, utils::backoff::tests::retry_always_error::{closure#0}::{closure#0}::{closure#0}, std::io::error::Error, utils::backoff::tests::retry_always_error::{closure#0}::{closure#1}> 1
utils::backoff::retry::<(), utils::backoff::tests::retry_ok_after_err::{closure#0}::{closure#0}, utils::backoff::tests::retry_ok_after_err::{closure#0}::{closure#0}::{closure#0}, std::io::error::Error, utils::backoff::tests::retry_ok_after_err::{closure#0}::{closure#1}> 1
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#3}, ::upload>>>::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#3}, ::upload>>>::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}> 2
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#4}, ::upload>>>::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#4}, ::upload>>>::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}> 2
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#6}, ::upload>>>::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#6}, ::upload>>>::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}> 2
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#7}, ::upload>>>::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#7}, ::upload>>>::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}> 2
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#8}, ::delete::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#8}, ::delete::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}> 2
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#9}, ::delete_objects::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#9}, ::delete_objects::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}> 2
utils::backoff::retry::::download::{closure#0}, remote_storage::error::DownloadError, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry::download::{closure#0}, remote_storage::error::DownloadError>::{closure#0}::{closure#0}> 2
utils::backoff::retry::::is_permanent> 2
utils::backoff::retry::<(), ::remote_delete::{closure#0}::{closure#0}, ::remote_delete::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::caused_by_cancel> 6
utils::backoff::retry::::time_travel_recover::{closure#0}::{closure#9}, ::time_travel_recover::{closure#0}::{closure#9}::{closure#0}, remote_storage::error::TimeTravelError, ::time_travel_recover::{closure#0}::{closure#2}> 6
utils::backoff::retry::::time_travel_recover::{closure#0}::{closure#3}, ::time_travel_recover::{closure#0}::{closure#3}::{closure#0}, remote_storage::error::TimeTravelError, ::time_travel_recover::{closure#0}::{closure#2}> 6
utils::backoff::retry::::{closure#0}::{closure#0}::{closure#0}, pageserver::tenant::remote_timeline_client::download::download_generation_object::{closure#0}::{closure#0}::{closure#0}::{closure#0}, remote_storage::error::DownloadError, ::is_permanent> 6
utils::backoff::retry::::is_permanent> 6
utils::backoff::retry::::list::{closure#0}, remote_storage::error::DownloadError, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry::list::{closure#0}, remote_storage::error::DownloadError>::{closure#0}::{closure#0}> 12
utils::backoff::retry::<(), proxy::context::parquet::upload_parquet::{closure#0}::{closure#2}, proxy::context::parquet::upload_parquet::{closure#0}::{closure#2}::{closure#0}, anyhow::Error, ::caused_by_cancel> 26
utils::backoff::retry::<(), ::delete_objects::{closure#0}::{closure#0}::{closure#0}, ::delete_objects::{closure#0}::{closure#0}::{closure#0}::{closure#0}, ::delete_objects::{closure#0}::{closure#0}::AzureOrTimeout, ::delete_objects::{closure#0}::{closure#0}::{closure#1}> 112
utils::backoff::retry::::{closure#0}::{closure#0}::{closure#0}, pageserver::tenant::remote_timeline_client::download::download_generation_object::{closure#0}::{closure#0}::{closure#0}::{closure#0}, remote_storage::error::DownloadError, ::is_permanent> 192
utils::backoff::retry::::{closure#0}::{closure#0}, ::list::{closure#0}, remote_storage::error::DownloadError, ::is_permanent> 192
utils::backoff::retry::<(alloc::vec::Vec, std::time::SystemTime), pageserver::tenant::remote_timeline_client::download::do_download_remote_path_retry_forever::{closure#0}::{closure#0}, pageserver::tenant::remote_timeline_client::download::do_download_remote_path_retry_forever::{closure#0}::{closure#0}::{closure#0}, remote_storage::error::DownloadError, ::is_permanent> 610
utils::backoff::retry::<_, _, _, _, _>::{closure#0} 1193
utils::backoff::retry::<(), ::upload_initdb::{closure#0}::{closure#0}, ::upload_initdb::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::upload_initdb::{closure#0}::{closure#1}>::{closure#0} 0
utils::backoff::retry::<(), ::delete_tenant::{closure#0}::{closure#0}, ::delete_tenant::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::delete_tenant::{closure#0}::{closure#1}>::{closure#0} 0
utils::backoff::retry::<(), ::copy_timeline_layer::{closure#0}::{closure#0}, ::copy_timeline_layer::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::caused_by_cancel>::{closure#0} 0
utils::backoff::retry::<(), ::persist_index_part_with_deleted_flag::{closure#0}::{closure#0}::{closure#1}, pageserver::tenant::remote_timeline_client::upload::upload_index_part::{closure#0}, anyhow::Error, ::persist_index_part_with_deleted_flag::{closure#0}::{closure#0}::{closure#2}>::{closure#0} 0
utils::backoff::retry::<(), ::preserve_initdb_archive::{closure#0}::{closure#0}, ::preserve_initdb_archive::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::caused_by_cancel>::{closure#0} 0
utils::backoff::retry::<(), ::upload_layer_file::{closure#0}::{closure#0}, ::upload_layer_file::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::caused_by_cancel>::{closure#0} 0
utils::backoff::retry::<(), ::do_notify::{closure#0}::{closure#1}, ::do_notify_iteration::{closure#0}, storage_controller::compute_hook::NotifyError, ::do_notify::{closure#0}::{closure#2}>::{closure#0} 0
utils::backoff::retry::<(), ::with_client_retries<(), ::location_config::{closure#0}::{closure#0}, ::location_config::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(), ::location_config::{closure#0}::{closure#0}, ::location_config::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::<(), ::with_client_retries<(), ::abort_tenant_shard_split::{closure#0}::{closure#0}::{closure#1}, ::abort_tenant_shard_split::{closure#0}::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(), ::abort_tenant_shard_split::{closure#0}::{closure#0}::{closure#1}, ::abort_tenant_shard_split::{closure#0}::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::<(), ::with_client_retries<(), ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#1}, ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(), ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#1}, ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::<(), ::with_client_retries<(), ::tenant_for_shards_api<(), ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(), ::tenant_for_shards_api<(), ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::<(), pageserver::consumption_metrics::upload::upload::{closure#0}::{closure#0}, pageserver::consumption_metrics::upload::upload::{closure#0}::{closure#0}::{closure#0}, pageserver::consumption_metrics::upload::UploadError, ::is_reject>::{closure#0} 0
utils::backoff::retry::<(), pageserver::tenant::remote_timeline_client::upload::time_travel_recover_tenant::{closure#0}::{closure#0}, pageserver::tenant::remote_timeline_client::upload::time_travel_recover_tenant::{closure#0}::{closure#0}::{closure#0}, remote_storage::error::TimeTravelError, pageserver::tenant::remote_timeline_client::upload::time_travel_recover_tenant::{closure#0}::{closure#1}>::{closure#0} 0
utils::backoff::retry::<(), pageserver::tenant::secondary::heatmap_uploader::upload_tenant_heatmap::{closure#0}::{closure#5}, pageserver::tenant::secondary::heatmap_uploader::upload_tenant_heatmap::{closure#0}::{closure#5}::{closure#0}, anyhow::Error, ::caused_by_cancel>::{closure#0} 0
utils::backoff::retry::<(), proxy::usage_metrics::upload_events_chunk::{closure#0}::{closure#0}, proxy::usage_metrics::upload_events_chunk::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::caused_by_cancel>::{closure#0} 0
utils::backoff::retry::<(), safekeeper::wal_backup::delete_timeline::{closure#0}::{closure#0}, safekeeper::wal_backup::delete_timeline::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, safekeeper::wal_backup::delete_timeline::{closure#0}::{closure#1}>::{closure#0} 0
utils::backoff::retry::<(), storage_scrubber::pageserver_physical_gc::maybe_delete_index::{closure#0}::{closure#0}, ::delete::{closure#0}, anyhow::Error, storage_scrubber::pageserver_physical_gc::maybe_delete_index::{closure#0}::{closure#1}>::{closure#0} 0
utils::backoff::retry::<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::with_client_retries<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::secondary_download::{closure#0}::{closure#0}, ::secondary_download::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::secondary_download::{closure#0}::{closure#0}, ::secondary_download::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::with_client_retries<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::tenant_for_shards_api<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::tenant_for_shards_api<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_shard_split_start_secondaries::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::<_, _, _, _, _>::{closure#0} 0
utils::backoff::retry::::list_projects::{closure#0}::{closure#0}, ::list_projects::{closure#0}::{closure#0}::{closure#0}, storage_scrubber::cloud_admin_api::Error, ::with_retries::list_projects::{closure#0}::{closure#0}, ::list_projects::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}>::{closure#0} 0
utils::backoff::retry::, ::with_client_retries, ::compute_notify_blocking::{closure#0}::{closure#0}, ::compute_notify_blocking::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries, ::compute_notify_blocking::{closure#0}::{closure#0}, ::compute_notify_blocking::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::, ::with_client_retries, ::maybe_refresh_observed::{closure#0}::{closure#0}, ::maybe_refresh_observed::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries, ::maybe_refresh_observed::{closure#0}::{closure#0}, ::maybe_refresh_observed::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::::with_client_retries::tenant_delete::{closure#0}::{closure#0}, ::tenant_delete::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::tenant_delete::{closure#0}::{closure#0}, ::tenant_delete::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::::download_heatmap::{closure#0}::{closure#0}, ::download_heatmap::{closure#0}::{closure#0}::{closure#0}, pageserver::tenant::secondary::downloader::UpdateError, ::download_heatmap::{closure#0}::{closure#1}>::{closure#0} 0
utils::backoff::retry::::with_client_retries::node_activate_reconcile::{closure#0}::{closure#0}::{closure#0}, ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::node_activate_reconcile::{closure#0}::{closure#0}::{closure#0}, ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::::with_client_retries::scan_node_locations::{closure#0}::{closure#0}::{closure#0}, ::scan_node_locations::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::scan_node_locations::{closure#0}::{closure#0}::{closure#0}, ::scan_node_locations::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::::with_client_retries::secondary_lag::{closure#0}::{closure#0}, ::secondary_lag::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::secondary_lag::{closure#0}::{closure#0}, ::secondary_lag::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::::with_client_retries::tenant_for_shards_api::optimize_all_validate::{closure#0}::{closure#1}, ::optimize_all_validate::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::optimize_all_validate::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::tenant_for_shards_api::optimize_all_validate::{closure#0}::{closure#1}, ::optimize_all_validate::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::optimize_all_validate::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::::with_client_retries::autosplit_tenants::{closure#0}::{closure#0}, ::autosplit_tenants::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::autosplit_tenants::{closure#0}::{closure#0}, ::autosplit_tenants::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::::with_client_retries::heartbeat::{closure#0}::{closure#0}::{closure#0}, ::heartbeat::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}, ::with_client_retries::heartbeat::{closure#0}::{closure#0}::{closure#0}, ::heartbeat::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, pageserver_client::mgmt_api::Error, ::with_client_retries::{closure#0}::is_fatal>::{closure#0} 0
utils::backoff::retry::::retry_http_forever::{closure#0}::{closure#0}, ::retry_http_forever::{closure#0}::{closure#0}::{closure#0}, reqwest::error::Error, ::retry_http_forever::{closure#0}::{closure#1}>::{closure#0} 0
utils::backoff::retry::::retry_http_forever::{closure#0}::{closure#0}, ::retry_http_forever::{closure#0}::{closure#0}::{closure#0}, reqwest::error::Error, ::retry_http_forever::{closure#0}::{closure#1}>::{closure#0} 0
utils::backoff::retry::::delete_all::{closure#0}::{closure#5}, ::delete_all::{closure#0}::{closure#5}::{closure#0}, remote_storage::error::DownloadError, ::is_permanent>::{closure#0} 0
utils::backoff::retry::::{closure#0}::{closure#0}, ::list::{closure#0}, remote_storage::error::DownloadError, ::is_permanent>::{closure#0} 0
utils::backoff::retry::::list::{closure#0}, remote_storage::error::DownloadError, storage_scrubber::garbage::get_tenant_objects::{closure#0}::{closure#1}>::{closure#0} 0
utils::backoff::retry::::list::{closure#0}, remote_storage::error::DownloadError, storage_scrubber::garbage::get_timeline_objects::{closure#0}::{closure#1}>::{closure#0} 0
utils::backoff::retry::::step_down::{closure#0}::{closure#0}, ::request_step_down::{closure#0}, storage_controller::peer_client::StorageControllerPeerError, ::step_down::{closure#0}::{closure#1}>::{closure#0} 0
utils::backoff::retry::>, ::find_timeline_branch::{closure#0}::{closure#0}, ::find_timeline_branch::{closure#0}::{closure#0}::{closure#0}, storage_scrubber::cloud_admin_api::Error, ::with_retries>, ::find_timeline_branch::{closure#0}::{closure#0}, ::find_timeline_branch::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}>::{closure#0} 0
utils::backoff::retry::>, ::find_tenant_project::{closure#0}::{closure#0}, ::find_tenant_project::{closure#0}::{closure#0}::{closure#0}, storage_scrubber::cloud_admin_api::Error, ::with_retries>, ::find_tenant_project::{closure#0}::{closure#0}, ::find_tenant_project::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}>::{closure#0} 0
utils::backoff::retry::<(), utils::backoff::tests::dont_retry_permanent_errors::{closure#0}::{closure#0}, utils::backoff::tests::dont_retry_permanent_errors::{closure#0}::{closure#0}::{closure#0}, std::io::error::Error, utils::backoff::tests::dont_retry_permanent_errors::{closure#0}::{closure#1}>::{closure#0} 1
utils::backoff::retry::<(), utils::backoff::tests::retry_always_error::{closure#0}::{closure#0}, utils::backoff::tests::retry_always_error::{closure#0}::{closure#0}::{closure#0}, std::io::error::Error, utils::backoff::tests::retry_always_error::{closure#0}::{closure#1}>::{closure#0} 1
utils::backoff::retry::<(), utils::backoff::tests::retry_ok_after_err::{closure#0}::{closure#0}, utils::backoff::tests::retry_ok_after_err::{closure#0}::{closure#0}::{closure#0}, std::io::error::Error, utils::backoff::tests::retry_ok_after_err::{closure#0}::{closure#1}>::{closure#0} 1
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#3}, ::upload>>>::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#3}, ::upload>>>::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}>::{closure#0} 2
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#4}, ::upload>>>::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#4}, ::upload>>>::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}>::{closure#0} 2
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#6}, ::upload>>>::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#6}, ::upload>>>::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}>::{closure#0} 2
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#7}, ::upload>>>::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#7}, ::upload>>>::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}>::{closure#0} 2
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#8}, ::delete::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#8}, ::delete::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}>::{closure#0} 2
utils::backoff::retry::<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#9}, ::delete_objects::{closure#0}, anyhow::Error, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry<(), test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::{closure#9}, ::delete_objects::{closure#0}, anyhow::Error>::{closure#0}::{closure#0}>::{closure#0} 2
utils::backoff::retry::::download::{closure#0}, remote_storage::error::DownloadError, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry::download::{closure#0}, remote_storage::error::DownloadError>::{closure#0}::{closure#0}>::{closure#0} 2
utils::backoff::retry::::is_permanent>::{closure#0} 2
utils::backoff::retry::<(), ::remote_delete::{closure#0}::{closure#0}, ::remote_delete::{closure#0}::{closure#0}::{closure#0}, anyhow::Error, ::caused_by_cancel>::{closure#0} 6
utils::backoff::retry::::time_travel_recover::{closure#0}::{closure#9}, ::time_travel_recover::{closure#0}::{closure#9}::{closure#0}, remote_storage::error::TimeTravelError, ::time_travel_recover::{closure#0}::{closure#2}>::{closure#0} 6
utils::backoff::retry::::time_travel_recover::{closure#0}::{closure#3}, ::time_travel_recover::{closure#0}::{closure#3}::{closure#0}, remote_storage::error::TimeTravelError, ::time_travel_recover::{closure#0}::{closure#2}>::{closure#0} 6
utils::backoff::retry::::{closure#0}::{closure#0}::{closure#0}, pageserver::tenant::remote_timeline_client::download::download_generation_object::{closure#0}::{closure#0}::{closure#0}::{closure#0}, remote_storage::error::DownloadError, ::is_permanent>::{closure#0} 6
utils::backoff::retry::::is_permanent>::{closure#0} 6
utils::backoff::retry::::list::{closure#0}, remote_storage::error::DownloadError, test_real_s3::__test_context_wrapped_s3_time_travel_recovery_works::{closure#0}::retry::list::{closure#0}, remote_storage::error::DownloadError>::{closure#0}::{closure#0}>::{closure#0} 12
utils::backoff::retry::<(), proxy::context::parquet::upload_parquet::{closure#0}::{closure#2}, proxy::context::parquet::upload_parquet::{closure#0}::{closure#2}::{closure#0}, anyhow::Error, ::caused_by_cancel>::{closure#0} 26
utils::backoff::retry::<(), ::delete_objects::{closure#0}::{closure#0}::{closure#0}, ::delete_objects::{closure#0}::{closure#0}::{closure#0}::{closure#0}, ::delete_objects::{closure#0}::{closure#0}::AzureOrTimeout, ::delete_objects::{closure#0}::{closure#0}::{closure#1}>::{closure#0} 112
utils::backoff::retry::::{closure#0}::{closure#0}::{closure#0}, pageserver::tenant::remote_timeline_client::download::download_generation_object::{closure#0}::{closure#0}::{closure#0}::{closure#0}, remote_storage::error::DownloadError, ::is_permanent>::{closure#0} 192
utils::backoff::retry::::{closure#0}::{closure#0}, ::list::{closure#0}, remote_storage::error::DownloadError, ::is_permanent>::{closure#0} 192
utils::backoff::retry::<(alloc::vec::Vec, std::time::SystemTime), pageserver::tenant::remote_timeline_client::download::do_download_remote_path_retry_forever::{closure#0}::{closure#0}, pageserver::tenant::remote_timeline_client::download::do_download_remote_path_retry_forever::{closure#0}::{closure#0}::{closure#0}, remote_storage::error::DownloadError, ::is_permanent>::{closure#0} 610
utils::backoff::exponential_backoff_duration_seconds 10416

Generated by: LCOV version 2.1-beta