LCOV - code coverage report
Current view: top level - storage_controller/src - tenant_shard.rs (source / functions) Coverage Total Hit
Test: 727bdccc1d7d53837da843959afb612f56da4e79.info Lines: 66.3 % 1598 1060
Test Date: 2025-01-30 15:18:43 Functions: 44.3 % 131 58

Function Name Sort by function name Hit count Sort by function hit count
<<storage_controller::tenant_shard::ObservedState as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> 0
<::deserialize::__Field as serde::de::Deserialize>::deserialize::> 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> 0
<<storage_controller::tenant_shard::ObservedStateLocation as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> 0
<::deserialize::__Field as serde::de::Deserialize>::deserialize::> 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> 0
<<storage_controller::tenant_shard::TenantShard as serde::ser::Serialize>::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>> 0
<::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec>> 0
<::serialize::__SerializeWith as serde::ser::Serialize>::serialize::, serde_json::ser::CompactFormatter>> 0
<storage_controller::tenant_shard::IntentState as core::ops::drop::Drop>::drop 12856
<storage_controller::tenant_shard::IntentState>::all_pageservers 12892
<storage_controller::tenant_shard::IntentState>::clear 12855
<storage_controller::tenant_shard::IntentState>::clear_secondary 12855
<storage_controller::tenant_shard::IntentState>::demote_attached 5
<storage_controller::tenant_shard::IntentState>::get_attached 12594
<storage_controller::tenant_shard::IntentState>::get_secondary 12656
<storage_controller::tenant_shard::IntentState>::new 12856
<storage_controller::tenant_shard::IntentState>::pop_secondary 0
<storage_controller::tenant_shard::IntentState>::promote_attached 5
<storage_controller::tenant_shard::IntentState>::promote_attached::{closure#0} 12
<storage_controller::tenant_shard::IntentState>::push_secondary 12840
<storage_controller::tenant_shard::IntentState>::remove_secondary 4
<storage_controller::tenant_shard::IntentState>::remove_secondary::{closure#0} 5
<storage_controller::tenant_shard::IntentState>::set_attached 12856
<storage_controller::tenant_shard::IntentState>::single 0
<storage_controller::tenant_shard::ObservedState>::is_empty 0
<storage_controller::tenant_shard::ObservedState>::new 0
<storage_controller::tenant_shard::ObservedStateDelta>::node_id 0
<storage_controller::tenant_shard::ReconcilerWaiter>::get_status 0
<storage_controller::tenant_shard::ReconcilerWaiter>::wait_timeout 0
::wait_timeout 0
::wait_timeout::{closure#0} 0
<storage_controller::tenant_shard::ReconcilerWaiter>::wait_timeout::{closure#0}::{closure#1} 0
<storage_controller::tenant_shard::ReconcilerWaiter>::wait_timeout::{closure#0}::{closure#2} 0
<storage_controller::tenant_shard::TenantShard as core::ops::drop::Drop>::drop 12839
<storage_controller::tenant_shard::TenantShard>::apply_observed_deltas::<core::iter::adapters::flatten::FlatMap<alloc::vec::into_iter::IntoIter<storage_controller::tenant_shard::ObservedStateDelta>, core::option::Option<storage_controller::tenant_shard::ObservedStateDelta>, <storage_controller::service::Service>::process_result::{closure#0}>> 0
::apply_observed_deltas::, core::option::Option, ::process_result::{closure#0}>, ::process_result::{closure#1}>> 0
::apply_observed_deltas::, core::option::Option, ::process_result::{closure#0}>> 0
<storage_controller::tenant_shard::TenantShard>::apply_observed_deltas::<core::iter::adapters::flatten::FlatMap<alloc::vec::into_iter::IntoIter<storage_controller::tenant_shard::ObservedStateDelta>, core::option::Option<storage_controller::tenant_shard::ObservedStateDelta>, <storage_controller::service::Service>::process_result::{closure#0}>>::{closure#0} 0
::apply_observed_deltas::, core::option::Option, ::process_result::{closure#0}>, ::process_result::{closure#1}>>::{closure#0} 0
::apply_observed_deltas::, core::option::Option, ::process_result::{closure#0}>>::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::apply_observed_deltas::<core::iter::adapters::flatten::FlatMap<alloc::vec::into_iter::IntoIter<storage_controller::tenant_shard::ObservedStateDelta>, core::option::Option<storage_controller::tenant_shard::ObservedStateDelta>, <storage_controller::service::Service>::process_result::{closure#0}>>::{closure#1} 0
::apply_observed_deltas::, core::option::Option, ::process_result::{closure#0}>, ::process_result::{closure#1}>>::{closure#1} 0
::apply_observed_deltas::, core::option::Option, ::process_result::{closure#0}>>::{closure#1} 0
<storage_controller::tenant_shard::TenantShard>::apply_observed_deltas::<core::iter::adapters::flatten::FlatMap<alloc::vec::into_iter::IntoIter<storage_controller::tenant_shard::ObservedStateDelta>, core::option::Option<storage_controller::tenant_shard::ObservedStateDelta>, <storage_controller::service::Service>::process_result::{closure#0}>>::{closure#2} 0
::apply_observed_deltas::, core::option::Option, ::process_result::{closure#0}>, ::process_result::{closure#1}>>::{closure#2} 0
::apply_observed_deltas::, core::option::Option, ::process_result::{closure#0}>>::{closure#2} 0
<storage_controller::tenant_shard::TenantShard>::apply_optimization 11
<storage_controller::tenant_shard::TenantShard>::attached_locations 0
<storage_controller::tenant_shard::TenantShard>::attached_locations::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::attached_locations::{closure#1} 0
<storage_controller::tenant_shard::TenantShard>::attached_locations::{closure#2} 0
<storage_controller::tenant_shard::TenantShard>::cancel_reconciler 0
<storage_controller::tenant_shard::TenantShard>::deref_node 0
<storage_controller::tenant_shard::TenantShard>::deref_node::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::dirty 0
<storage_controller::tenant_shard::TenantShard>::dirty::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::dirty::{closure#0}::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::do_schedule 12830
<storage_controller::tenant_shard::TenantShard>::ensure_sequence_ahead 0
<storage_controller::tenant_shard::TenantShard>::ensure_sequence_ahead::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::find_better_location::<storage_controller::scheduler::AttachedShardTag> 40
::find_better_location:: 27
::find_better_location:: 13
<storage_controller::tenant_shard::TenantShard>::find_better_location::<storage_controller::scheduler::AttachedShardTag>::{closure#0} 20
::find_better_location::::{closure#0} 15
::find_better_location::::{closure#0} 5
<storage_controller::tenant_shard::TenantShard>::from_persistent 0
<storage_controller::tenant_shard::TenantShard>::from_persistent::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::future_reconcile_waiter 0
<storage_controller::tenant_shard::TenantShard>::get_scheduling_policy 0
<storage_controller::tenant_shard::TenantShard>::get_waiter 0
<storage_controller::tenant_shard::TenantShard>::intent_from_observed 1
<storage_controller::tenant_shard::TenantShard>::intent_from_observed::{closure#0} 2
<storage_controller::tenant_shard::TenantShard>::intent_from_observed::{closure#1} 2
<storage_controller::tenant_shard::TenantShard>::intent_from_observed::{closure#2} 2
<storage_controller::tenant_shard::TenantShard>::is_attached_outside_preferred_az 0
<storage_controller::tenant_shard::TenantShard>::is_attached_outside_preferred_az::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::is_better_location::<storage_controller::scheduler::AttachedShardTag> 53
::is_better_location:: 48
::is_better_location:: 5
<storage_controller::tenant_shard::TenantShard>::maybe_optimizable 3
<storage_controller::tenant_shard::TenantShard>::new 12839
<storage_controller::tenant_shard::TenantShard>::optimize_attachment::{closure#0} 5
<storage_controller::tenant_shard::TenantShard>::optimize_attachment::{closure#1} 5
<storage_controller::tenant_shard::TenantShard>::optimize_attachment::{closure#2} 5
<storage_controller::tenant_shard::TenantShard>::preferred_az 12502
<storage_controller::tenant_shard::TenantShard>::preferred_secondary 12829
<storage_controller::tenant_shard::TenantShard>::preferred_secondary::{closure#0} 1
<storage_controller::tenant_shard::TenantShard>::preferred_secondary::{closure#1} 1
<storage_controller::tenant_shard::TenantShard>::reconcile 0
<storage_controller::tenant_shard::TenantShard>::reconcile::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::reconcile_complete 0
<storage_controller::tenant_shard::TenantShard>::reschedule_to_secondary 0
<storage_controller::tenant_shard::TenantShard>::schedule_attached 12829
<storage_controller::tenant_shard::TenantShard>::set_last_error 0
<storage_controller::tenant_shard::TenantShard>::set_preferred_az 0
<storage_controller::tenant_shard::TenantShard>::set_scheduling_policy 0
<storage_controller::tenant_shard::TenantShard>::spawn_reconciler::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::spawn_reconciler::{closure#0}::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::stably_attached 0
<storage_controller::tenant_shard::TenantShard>::to_persistent 0
<storage_controller::tenant_shard::TenantShard>::to_persistent::{closure#0} 0
<storage_controller::tenant_shard::TenantShard>::to_persistent::{closure#1} 0
<storage_controller::tenant_shard::TenantShard>::to_persistent::{closure#2} 0
storage_controller::tenant_shard::read_last_error::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>, alloc::sync::Arc<storage_controller::reconciler::ReconcileError>> 0
storage_controller::tenant_shard::read_last_error::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec>, alloc::sync::Arc> 0
storage_controller::tenant_shard::read_last_error::, serde_json::ser::CompactFormatter>, alloc::sync::Arc> 0
storage_controller::tenant_shard::read_last_error::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec<u8>>, alloc::sync::Arc<storage_controller::reconciler::ReconcileError>>::{closure#0} 0
storage_controller::tenant_shard::read_last_error::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec>, alloc::sync::Arc>::{closure#0} 0
storage_controller::tenant_shard::read_last_error::, serde_json::ser::CompactFormatter>, alloc::sync::Arc>::{closure#0} 0
storage_controller::tenant_shard::tests::initial_scheduling_is_optimal 1
storage_controller::tenant_shard::tests::initial_scheduling_is_optimal::{closure#0} 4
storage_controller::tenant_shard::tests::initial_scheduling_is_optimal::{closure#1} 4
storage_controller::tenant_shard::tests::intent_from_observed 1
storage_controller::tenant_shard::tests::make_test_tenant 5004
storage_controller::tenant_shard::tests::make_test_tenant_shard 9
storage_controller::tenant_shard::tests::make_test_tenant_with_id 5007
storage_controller::tenant_shard::tests::make_test_tenant_with_id::{closure#0} 12522
storage_controller::tenant_shard::tests::optimize_add_nodes 1
storage_controller::tenant_shard::tests::optimize_attachment_marginal 1
storage_controller::tenant_shard::tests::optimize_attachment_marginal::make_schedule_context 4
storage_controller::tenant_shard::tests::optimize_attachment_multistep 1
storage_controller::tenant_shard::tests::optimize_attachment_multistep::make_schedule_context 3
storage_controller::tenant_shard::tests::optimize_attachment_simple 1
storage_controller::tenant_shard::tests::optimize_attachment_simple::make_schedule_context 1
storage_controller::tenant_shard::tests::optimize_secondary 1
storage_controller::tenant_shard::tests::optimize_til_idle 3
storage_controller::tenant_shard::tests::random_az_shard_scheduling 1
storage_controller::tenant_shard::tests::random_az_shard_scheduling::{closure#0} 12500
storage_controller::tenant_shard::tests::scheduling_mode 1
storage_controller::tenant_shard::tests::tenant_ha_scheduling 1

Generated by: LCOV version 2.1-beta