LCOV - code coverage report
Current view: top level - libs/pageserver_api/src - shard.rs (source / functions) Coverage Total Hit
Test: 322b88762cba8ea666f63cda880cccab6936bf37.info Lines: 87.4 % 636 556
Test Date: 2024-02-29 11:57:12 Functions: 33.2 % 241 80

Function Name Sort by function name Hit count Sort by function hit count
<<pageserver_api::shard::ShardIndex as serde::de::Deserialize>::deserialize::IdVisitor as serde::de::Visitor>::expecting 0
<<pageserver_api::shard::ShardIndex as serde::de::Deserialize>::deserialize::IdVisitor as serde::de::Visitor>::visit_str::<_> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_str::<_> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_str::> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_str:: 0
<<pageserver_api::shard::TenantShardId as serde::de::Deserialize>::deserialize::IdVisitor as serde::de::Visitor>::expecting 0
<pageserver_api::shard::ShardCount>::count 0
<pageserver_api::shard::ShardCount>::is_unsharded 0
<pageserver_api::shard::ShardCount>::literal 0
<pageserver_api::shard::ShardIdentity as core::fmt::Debug>::fmt 0
<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> 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_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
::clone 0
::eq 0
::fmt 0
::deserialize::<_> 0
::deserialize::> 0
::deserialize::> 0
::deserialize:: 0
::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec>> 0
::serialize::<_> 0
::serialize::, serde_json::ser::CompactFormatter>> 0
::serialize:: 0
::serialize:: 0
<pageserver_api::shard::ShardIdentity>::broken 0
<pageserver_api::shard::ShardIdentity>::is_unsharded 0
<pageserver_api::shard::ShardIdentity>::is_zero 0
<pageserver_api::shard::ShardIdentity>::shard_slug 0
<pageserver_api::shard::ShardIndex>::new 0
<pageserver_api::shard::ShardStripeSize as core::fmt::Debug>::fmt 0
<::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct::<&mut serde_json::de::Deserializer> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct:: 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct::>>>>> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct:: 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> 0
::clone 0
::eq 0
::fmt 0
::deserialize::<&mut serde_json::de::Deserializer> 0
::deserialize::<_> 0
::deserialize::> 0
::deserialize::> 0
::deserialize::> 0
::deserialize::> 0
::deserialize:: 0
::deserialize::>>>>> 0
::deserialize:: 0
::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec>> 0
::serialize::<_> 0
::serialize::, serde_json::ser::CompactFormatter>> 0
::serialize:: 0
::serialize:: 0
<pageserver_api::shard::TenantShardId as core::fmt::Debug>::fmt 0
<pageserver_api::shard::TenantShardId>::is_unsharded 0
<pageserver_api::shard::TenantShardId>::tenant_range 0
<pageserver_api::shard::TenantShardId>::to_index 0
<<pageserver_api::shard::ShardIndex as serde::de::Deserialize>::deserialize::IdVisitor as serde::de::Visitor>::visit_seq::<_> 2
<::deserialize::IdVisitor as serde::de::Visitor>::visit_seq::<_> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_seq::> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_seq::<<&mut bincode::de::Deserializer<_, _> as serde::de::Deserializer>::deserialize_tuple::Access, bincode::config::trailing::AllowTrailing>, bincode::config::limit::Infinite>>> 2
<pageserver_api::shard::ShardIndex as core::convert::From<[u8; 2]>>::from 2
<pageserver_api::shard::ShardIndex as core::str::traits::FromStr>::from_str 2
<pageserver_api::shard::ShardIndex as serde::de::Deserialize>::deserialize::<_> 2
::deserialize::<&mut serde_json::de::Deserializer> 0
::deserialize::<_> 0
::deserialize::<&mut bincode::de::Deserializer, bincode::config::trailing::AllowTrailing>, bincode::config::limit::Infinite>>> 2
pageserver_api::shard::tests::murmur_hash 2
pageserver_api::shard::tests::murmur_hash::{closure#0} 2
pageserver_api::shard::tests::shard_id_split 2
pageserver_api::shard::tests::shard_id_split::{closure#0} 2
pageserver_api::shard::tests::shard_identity_validation 2
pageserver_api::shard::tests::shard_identity_validation::{closure#0} 2
pageserver_api::shard::tests::shard_index_binary_encoding 2
pageserver_api::shard::tests::shard_index_binary_encoding::{closure#0} 2
pageserver_api::shard::tests::shard_index_human_encoding 2
pageserver_api::shard::tests::shard_index_human_encoding::{closure#0} 2
pageserver_api::shard::tests::shard_mapping 2
pageserver_api::shard::tests::shard_mapping::{closure#0} 2
pageserver_api::shard::tests::tenant_shard_id_backward_compat 2
pageserver_api::shard::tests::tenant_shard_id_backward_compat::{closure#0} 2
pageserver_api::shard::tests::tenant_shard_id_binary 2
pageserver_api::shard::tests::tenant_shard_id_binary::{closure#0} 2
pageserver_api::shard::tests::tenant_shard_id_forward_compat 2
pageserver_api::shard::tests::tenant_shard_id_forward_compat::{closure#0} 2
pageserver_api::shard::tests::tenant_shard_id_legacy_binary 2
pageserver_api::shard::tests::tenant_shard_id_legacy_binary::{closure#0} 2
pageserver_api::shard::tests::tenant_shard_id_string 2
pageserver_api::shard::tests::tenant_shard_id_string::{closure#0} 2
<<pageserver_api::shard::TenantShardId as serde::de::Deserialize>::deserialize::IdVisitor as serde::de::Visitor>::visit_seq::<_> 4
<::deserialize::IdVisitor as serde::de::Visitor>::visit_seq::<&mut serde::de::value::SeqDeserializer, >::new>, serde_json::error::Error>> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_seq::<&mut serde_json::value::de::SeqDeserializer> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_seq::<_> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_seq::> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_seq::>>>>> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_seq::<<&mut bincode::de::Deserializer<_, _> as serde::de::Deserializer>::deserialize_tuple::Access, bincode::config::trailing::AllowTrailing>, bincode::config::limit::Infinite>>> 4
<pageserver_api::shard::ShardIndex as serde::ser::Serialize>::serialize::<_> 4
::serialize::<&mut bincode::ser::SizeChecker<&mut bincode::config::WithOtherLimit, bincode::config::trailing::AllowTrailing>, bincode::config::limit::Infinite>>> 0
::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec, serde_json::ser::PrettyFormatter>> 0
::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec>> 0
::serialize::<_> 0
::serialize::, serde_json::ser::CompactFormatter>> 0
::serialize::, serde_json::ser::PrettyFormatter>> 0
::serialize::<&mut bincode::ser::Serializer<&mut alloc::vec::Vec, bincode::config::WithOtherLimit, bincode::config::trailing::AllowTrailing>, bincode::config::limit::Infinite>>> 2
::serialize::<&mut bincode::ser::SizeChecker<&mut bincode::config::WithOtherTrailing, bincode::config::trailing::AllowTrailing>>> 2
<pageserver_api::shard::TenantShardId as core::convert::From<[u8; 18]>>::from 4
pageserver_api::shard::hash_combine 4
pageserver_api::shard::murmurhash32 6
<<pageserver_api::shard::TenantShardId as serde::de::Deserialize>::deserialize::IdVisitor as serde::de::Visitor>::visit_str::<_> 8
<::deserialize::IdVisitor as serde::de::Visitor>::visit_str::<_> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_str::> 0
<::deserialize::IdVisitor as serde::de::Visitor>::visit_str:: 8
<pageserver_api::shard::TenantShardId>::split 8
<pageserver_api::shard::ShardConfigError as core::fmt::Debug>::fmt 10
::fmt 0
::fmt 0
::eq 10
<pageserver_api::shard::TenantShardId as serde::de::Deserialize>::deserialize::<_> 12
::deserialize::<&mut serde_json::de::Deserializer> 0
::deserialize::<_> 0
::deserialize::> 0
::deserialize::> 0
::deserialize::>>>>> 0
::deserialize::> 2
::deserialize:: 2
::deserialize::<&mut bincode::de::Deserializer, bincode::config::trailing::AllowTrailing>, bincode::config::limit::Infinite>>> 4
::deserialize::> 4
<pageserver_api::shard::ShardIndex>::get_suffix 13
<pageserver_api::shard::ShardIdentity>::new 18
<pageserver_api::shard::TenantShardId as serde::ser::Serialize>::serialize::<_> 55
::serialize::<&mut bincode::ser::SizeChecker<&mut bincode::config::WithOtherLimit, bincode::config::trailing::AllowTrailing>, bincode::config::limit::Infinite>>> 0
::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec, serde_json::ser::PrettyFormatter>> 0
::serialize::<_> 0
::serialize::, serde_json::ser::CompactFormatter>> 0
::serialize::, serde_json::ser::PrettyFormatter>> 0
::serialize:: 0
::serialize::<&mut bincode::ser::Serializer<&mut alloc::vec::Vec, bincode::config::WithOtherLimit, bincode::config::trailing::AllowTrailing>, bincode::config::limit::Infinite>>> 4
::serialize::<&mut bincode::ser::SizeChecker<&mut bincode::config::WithOtherTrailing, bincode::config::trailing::AllowTrailing>>> 4
::serialize:: 4
::serialize::, serde_json::ser::CompactFormatter>> 13
::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec>> 30
<pageserver_api::shard::ShardIdentity>::from_params 88
<pageserver_api::shard::ShardIdentity>::unsharded 88
<pageserver_api::shard::TenantShardId>::is_zero 88
<pageserver_api::shard::ShardCount>::new 92
<pageserver_api::shard::TenantShardId>::unsharded 125
<pageserver_api::shard::ShardIndex>::unsharded 152
<pageserver_api::shard::ShardIndex as core::fmt::Debug>::fmt 562
<pageserver_api::shard::ShardIndex as core::fmt::Display>::fmt 868
<pageserver_api::shard::TenantShardId as core::str::traits::FromStr>::from_str 1666
<pageserver_api::shard::ShardIdentity>::get_shard_number 3004
pageserver_api::shard::key_to_shard_number 3006
<pageserver_api::shard::ShardIndex as core::cmp::Ord>::cmp 3852
::cmp 0
::partial_cmp 0
::hash::<_> 0
::hash:: 0
::eq 36
::clone 3816
<pageserver_api::shard::TenantShardId as core::fmt::Display>::fmt 4473
<pageserver_api::shard::ShardSlug as core::fmt::Display>::fmt 5466
<pageserver_api::shard::TenantShardId>::shard_slug 5466
<pageserver_api::shard::ShardIndex>::is_unsharded 5825
<pageserver_api::shard::ShardNumber as core::cmp::Ord>::cmp 110781
<::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct:: 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> 0
::clone 0
::partial_cmp 0
::hash::<_> 0
::deserialize::<_> 0
::deserialize::> 0
::deserialize::> 0
::deserialize::> 0
::deserialize:: 0
::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec>> 0
::serialize::<_> 0
::serialize::, serde_json::ser::CompactFormatter>> 0
::serialize:: 0
::serialize:: 0
::cmp 2
::fmt 6
::eq 10021
::hash:: 100752
<pageserver_api::shard::ShardIdentity>::is_key_local 164026
<pageserver_api::shard::ShardIdentity>::is_broken 167030
<pageserver_api::shard::ShardLayout as core::fmt::Debug>::fmt 167030
<::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct:: 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> 0
::clone 0
::fmt 0
::deserialize::<_> 0
::deserialize::> 0
::deserialize::> 0
::deserialize::> 0
::deserialize:: 0
::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec>> 0
::serialize::<_> 0
::serialize::, serde_json::ser::CompactFormatter>> 0
::serialize:: 0
::serialize:: 0
::eq 167030
<pageserver_api::shard::ShardCount as core::cmp::Ord>::cmp 279192
<::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct::<&mut serde_json::de::Deserializer> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct::<_> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct:: 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct::>>>>> 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_newtype_struct:: 0
<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> 0
::clone 0
::fmt 0
::hash::<_> 0
::deserialize::<&mut serde_json::de::Deserializer> 0
::deserialize::<_> 0
::deserialize::> 0
::deserialize::> 0
::deserialize::> 0
::deserialize::> 0
::deserialize:: 0
::deserialize::>>>>> 0
::deserialize:: 0
::serialize::<&mut serde_json::ser::Serializer<&mut alloc::vec::Vec>> 0
::serialize::<_> 0
::serialize::, serde_json::ser::CompactFormatter>> 0
::serialize:: 0
::serialize:: 0
::cmp 2
::eq 11406
::hash:: 100752
::partial_cmp 167032
<pageserver_api::shard::TenantShardId as core::cmp::Ord>::cmp 606872
::partial_cmp 0
::hash::<_> 0
::cmp 2
::eq 2532
::hash:: 100752
::clone 503586
<pageserver_api::shard::ShardIdentity>::is_key_disposable 2605708
pageserver_api::shard::key_is_shard0 2605710

Generated by: LCOV version 2.1-beta