LCOV - code coverage report
Current view: top level - storage_controller/src - tenant_shard.rs (source / functions) Coverage Total Hit
Test: 7179b4db0d82ca8088cc95c44c4be4232078509c.info Lines: 60.4 % 1192 720
Test Date: 2024-11-21 16:46:58 Functions: 36.0 % 125 45

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::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> 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::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: 0
<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> 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>::pop_secondary 0
<storage_controller::tenant_shard::IntentState>::single 0
<storage_controller::tenant_shard::ObservedState>::new 0
<storage_controller::tenant_shard::ObservedStateDelta>::node_id 0
<storage_controller::tenant_shard::ReconcileWaitError as core::fmt::Display>::fmt 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>::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>::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>::ensure_sequence_ahead 0
<storage_controller::tenant_shard::TenantShard>::ensure_sequence_ahead::{closure#0} 0
<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_reconcile_needed 0
<storage_controller::tenant_shard::TenantShard>::get_scheduling_policy 0
<storage_controller::tenant_shard::TenantShard>::get_waiter 0
<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>::set_last_error 0
<storage_controller::tenant_shard::TenantShard>::set_scheduling_policy 0
<storage_controller::tenant_shard::TenantShard>::spawn_reconciler 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::TenantShard>::intent_from_observed 1
storage_controller::tenant_shard::tests::initial_scheduling_is_optimal 1
storage_controller::tenant_shard::tests::intent_from_observed 1
storage_controller::tenant_shard::tests::optimize_add_nodes 1
storage_controller::tenant_shard::tests::optimize_attachment 1
storage_controller::tenant_shard::tests::optimize_secondary 1
storage_controller::tenant_shard::tests::random_az_shard_scheduling 1
storage_controller::tenant_shard::tests::scheduling_mode 1
storage_controller::tenant_shard::tests::tenant_ha_scheduling 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::tests::optimize_til_idle 3
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::IntentState>::demote_attached 5
<storage_controller::tenant_shard::IntentState>::promote_attached 5
<storage_controller::tenant_shard::IntentState>::remove_secondary 5
<storage_controller::tenant_shard::IntentState>::remove_secondary::{closure#0} 5
storage_controller::tenant_shard::tests::make_test_tenant_shard 7
<storage_controller::tenant_shard::TenantShard>::apply_optimization 9
<storage_controller::tenant_shard::IntentState>::promote_attached::{closure#0} 10
<storage_controller::tenant_shard::IntentState>::new 19
<storage_controller::tenant_shard::TenantShard>::optimize_secondary 20
<storage_controller::tenant_shard::TenantShard>::optimize_attachment 23
<storage_controller::tenant_shard::TenantShard>::optimize_attachment::{closure#0} 46
<storage_controller::tenant_shard::TenantShard>::optimize_attachment::{closure#1} 46
storage_controller::tenant_shard::tests::make_test_tenant 5003
<storage_controller::tenant_shard::TenantShard>::preferred_az 12500
<storage_controller::tenant_shard::TenantShard>::set_preferred_az 12500
storage_controller::tenant_shard::tests::random_az_shard_scheduling::{closure#0} 12500
storage_controller::tenant_shard::tests::make_test_tenant::{closure#0} 12512
<storage_controller::tenant_shard::TenantShard>::schedule_attached 12515
<storage_controller::tenant_shard::TenantShard>::do_schedule 12516
<storage_controller::tenant_shard::TenantShard>::schedule 12516
<storage_controller::tenant_shard::TenantShard as core::ops::drop::Drop>::drop 12519
<storage_controller::tenant_shard::TenantShard>::new 12519
<storage_controller::tenant_shard::IntentState>::get_secondary 12524
<storage_controller::tenant_shard::IntentState>::push_secondary 12525
<storage_controller::tenant_shard::IntentState>::clear 12537
<storage_controller::tenant_shard::IntentState>::clear_secondary 12537
<storage_controller::tenant_shard::IntentState as core::ops::drop::Drop>::drop 12538
<storage_controller::tenant_shard::IntentState>::set_attached 12538
<storage_controller::tenant_shard::IntentState>::all_pageservers 12602
<storage_controller::tenant_shard::IntentState>::get_attached 25083

Generated by: LCOV version 2.1-beta