LCOV - code coverage report
Current view: top level - storage_controller/src - node.rs (source / functions) Coverage Total Hit
Test: 07bee600374ccd486c69370d0972d9035964fe68.info Lines: 31.7 % 202 64
Test Date: 2025-02-20 13:11:02 Functions: 7.7 % 91 7

Function Name Sort by function name Hit count Sort by function hit count
<storage_controller::node::Node as core::fmt::Debug>::fmt 0
<storage_controller::node::Node as core::fmt::Display>::fmt 0
<storage_controller::node::Node>::base_url 0
<storage_controller::node::Node>::describe 0
<storage_controller::node::Node>::from_persistent 0
<storage_controller::node::Node>::get_availability 0
<storage_controller::node::Node>::get_scheduling 0
<storage_controller::node::Node>::registration_match 0
<storage_controller::node::Node>::set_scheduling 0
<storage_controller::node::Node>::shard_location 0
<storage_controller::node::Node>::to_persistent 0
<storage_controller::node::Node>::with_client_retries::<(), <storage_controller::reconciler::Reconciler>::location_config::{closure#0}::{closure#0}, <storage_controller::reconciler::Reconciler>::location_config::{closure#0}::{closure#0}::{closure#0}> 0
::with_client_retries::<(), ::location_config::{closure#0}::{closure#0}, ::location_config::{closure#0}::{closure#0}::{closure#0}> 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}> 0
::with_client_retries::<(), ::kick_secondary_download::{closure#0}::{closure#1}, ::kick_secondary_download::{closure#0}::{closure#1}::{closure#0}> 0
::with_client_retries::<(), ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#1}, ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#1}::{closure#0}> 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}> 0
::with_client_retries::<(), ::tenant_for_shards_api<(), ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}, ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}::{closure#0}> 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}> 0
::with_client_retries::<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::kick_secondary_download::{closure#0}::{closure#2}, ::kick_secondary_download::{closure#0}::{closure#2}::{closure#0}> 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}> 0
::with_client_retries::, ::compute_notify_blocking::{closure#0}::{closure#0}, ::compute_notify_blocking::{closure#0}::{closure#0}::{closure#0}> 0
::with_client_retries::, ::maybe_refresh_observed::{closure#0}::{closure#0}, ::maybe_refresh_observed::{closure#0}::{closure#0}::{closure#0}> 0
::with_client_retries::::tenant_delete::{closure#0}::{closure#0}, ::tenant_delete::{closure#0}::{closure#0}::{closure#0}> 0
::with_client_retries::::node_activate_reconcile::{closure#0}::{closure#0}::{closure#0}, ::node_activate_reconcile::{closure#0}::{closure#0}::{closure#0}::{closure#0}> 0
::with_client_retries::::scan_node_locations::{closure#0}::{closure#0}::{closure#0}, ::scan_node_locations::{closure#0}::{closure#0}::{closure#0}::{closure#0}> 0
::with_client_retries::::secondary_lag::{closure#0}::{closure#0}, ::secondary_lag::{closure#0}::{closure#0}::{closure#0}> 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}> 0
::with_client_retries::::autosplit_tenants::{closure#0}::{closure#0}, ::autosplit_tenants::{closure#0}::{closure#0}::{closure#0}> 0
::with_client_retries:: as storage_controller::heartbeater::HeartBeat>::heartbeat::{closure#0}::{closure#0}::{closure#0}, as storage_controller::heartbeater::HeartBeat>::heartbeat::{closure#0}::{closure#0}::{closure#0}::{closure#0}> 0
<storage_controller::node::Node>::with_client_retries::<(), <storage_controller::reconciler::Reconciler>::location_config::{closure#0}::{closure#0}, <storage_controller::reconciler::Reconciler>::location_config::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 0
::with_client_retries::<(), ::location_config::{closure#0}::{closure#0}, ::location_config::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 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} 0
::with_client_retries::<(), ::kick_secondary_download::{closure#0}::{closure#1}, ::kick_secondary_download::{closure#0}::{closure#1}::{closure#0}>::{closure#0} 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} 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} 0
::with_client_retries::<(), ::tenant_for_shards_api<(), ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}, ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 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} 0
::with_client_retries::<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::kick_secondary_download::{closure#0}::{closure#2}, ::kick_secondary_download::{closure#0}::{closure#2}::{closure#0}>::{closure#0} 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} 0
::with_client_retries::, ::compute_notify_blocking::{closure#0}::{closure#0}, ::compute_notify_blocking::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 0
::with_client_retries::, ::maybe_refresh_observed::{closure#0}::{closure#0}, ::maybe_refresh_observed::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 0
::with_client_retries::::tenant_delete::{closure#0}::{closure#0}, ::tenant_delete::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 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} 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} 0
::with_client_retries::::secondary_lag::{closure#0}::{closure#0}, ::secondary_lag::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 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} 0
::with_client_retries::::autosplit_tenants::{closure#0}::{closure#0}, ::autosplit_tenants::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 0
::with_client_retries:: as storage_controller::heartbeater::HeartBeat>::heartbeat::{closure#0}::{closure#0}::{closure#0}, as storage_controller::heartbeater::HeartBeat>::heartbeat::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 0
<storage_controller::node::Node>::with_client_retries::<(), <storage_controller::reconciler::Reconciler>::location_config::{closure#0}::{closure#0}, <storage_controller::reconciler::Reconciler>::location_config::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 0
::with_client_retries::<(), ::location_config::{closure#0}::{closure#0}, ::location_config::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 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} 0
::with_client_retries::<(), ::kick_secondary_download::{closure#0}::{closure#1}, ::kick_secondary_download::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0} 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} 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} 0
::with_client_retries::<(), ::tenant_for_shards_api<(), ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}, ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 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} 0
::with_client_retries::<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::kick_secondary_download::{closure#0}::{closure#2}, ::kick_secondary_download::{closure#0}::{closure#2}::{closure#0}>::{closure#0}::{closure#0} 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} 0
::with_client_retries::, ::compute_notify_blocking::{closure#0}::{closure#0}, ::compute_notify_blocking::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 0
::with_client_retries::, ::maybe_refresh_observed::{closure#0}::{closure#0}, ::maybe_refresh_observed::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 0
::with_client_retries::::tenant_delete::{closure#0}::{closure#0}, ::tenant_delete::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 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} 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} 0
::with_client_retries::::secondary_lag::{closure#0}::{closure#0}, ::secondary_lag::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 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} 0
::with_client_retries::::autosplit_tenants::{closure#0}::{closure#0}, ::autosplit_tenants::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 0
::with_client_retries:: as storage_controller::heartbeater::HeartBeat>::heartbeat::{closure#0}::{closure#0}::{closure#0}, as storage_controller::heartbeater::HeartBeat>::heartbeat::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0} 0
<storage_controller::node::Node>::with_client_retries::<(), <storage_controller::reconciler::Reconciler>::location_config::{closure#0}::{closure#0}, <storage_controller::reconciler::Reconciler>::location_config::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0} 0
::with_client_retries::<(), ::location_config::{closure#0}::{closure#0}, ::location_config::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0} 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} 0
::with_client_retries::<(), ::kick_secondary_download::{closure#0}::{closure#1}, ::kick_secondary_download::{closure#0}::{closure#1}::{closure#0}>::{closure#0}::{closure#0}::{closure#0} 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} 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} 0
::with_client_retries::<(), ::tenant_for_shards_api<(), ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}, ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0}, ::tenant_timeline_download_heatmap_layers::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0} 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} 0
::with_client_retries::<(http::status::StatusCode, pageserver_api::models::SecondaryProgress), ::kick_secondary_download::{closure#0}::{closure#2}, ::kick_secondary_download::{closure#0}::{closure#2}::{closure#0}>::{closure#0}::{closure#0}::{closure#0} 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} 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} 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} 0
::with_client_retries::::tenant_delete::{closure#0}::{closure#0}, ::tenant_delete::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0} 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} 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} 0
::with_client_retries::::secondary_lag::{closure#0}::{closure#0}, ::secondary_lag::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0} 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} 0
::with_client_retries::::autosplit_tenants::{closure#0}::{closure#0}, ::autosplit_tenants::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0} 0
::with_client_retries:: as storage_controller::heartbeater::HeartBeat>::heartbeat::{closure#0}::{closure#0}::{closure#0}, as storage_controller::heartbeater::HeartBeat>::heartbeat::{closure#0}::{closure#0}::{closure#0}::{closure#0}>::{closure#0}::{closure#0}::{closure#0} 0
<storage_controller::node::Node>::with_client_retries::{closure#0}::is_fatal 0
<storage_controller::node::Node>::is_available 272
<storage_controller::node::Node>::new 272
<storage_controller::node::Node>::get_availability_transition 276
<storage_controller::node::Node>::set_availability 276
<storage_controller::node::Node>::get_id 279
<storage_controller::node::Node>::may_schedule 279
<storage_controller::node::Node>::get_availability_zone_id 25475

Generated by: LCOV version 2.1-beta