LCOV - code coverage report
Current view: top level - pageserver/src/tenant - storage_layer.rs (source / functions) Coverage Total Hit
Test: f2bfe5dc5ab550768e936d6bc7b94d9b2e2d4cc9.info Lines: 79.1 % 546 432
Test Date: 2025-01-27 20:39:28 Functions: 80.2 % 81 65

Function Name Sort by function name Hit count Sort by function hit count
<<pageserver::tenant::storage_layer::IoConcurrency>::spawn_for_test::Wrapper as core::ops::deref::DerefMut>::deref_mut 0
<pageserver::tenant::storage_layer::IoConcurrency as core::fmt::Debug>::fmt 0
<pageserver::tenant::storage_layer::LayerAccessStats>::as_api_model 0
<pageserver::tenant::storage_layer::LayerAccessStatsReset as core::convert::TryFrom<&str>>::try_from 0
<pageserver::tenant::storage_layer::LayerFringe as core::default::Default>::default 0
<pageserver::tenant::storage_layer::LayerVisit as core::cmp::PartialEq>::eq 0
<pageserver::tenant::storage_layer::OnDiskValueIoWaiter>::wait_completion::{closure#0}::{closure#0} 0
<pageserver::tenant::storage_layer::RangeDisplayDebug<pageserver_api::key::Key> as core::fmt::Debug>::fmt 0
<pageserver::tenant::storage_layer::layer_desc::PersistentLayerDesc as core::convert::From<pageserver::tenant::storage_layer::layer_name::DeltaLayerName>>::from 0
<pageserver::tenant::storage_layer::layer_desc::PersistentLayerDesc as core::convert::From<pageserver::tenant::storage_layer::layer_name::ImageLayerName>>::from 0
<pageserver::tenant::storage_layer::layer_desc::PersistentLayerDesc as core::convert::From<pageserver::tenant::storage_layer::layer_name::LayerName>>::from 0
pageserver::tenant::storage_layer::range_overlaps::<_> 0
pageserver::tenant::storage_layer::range_overlaps::<_> 0
pageserver::tenant::storage_layer::range_overlaps:: 0
pageserver::tenant::storage_layer::tests2::test_io_concurrency_noise::{closure#0}::{closure#0} 2
pageserver::tenant::storage_layer::tests2::test_io_concurrency_noise 8
pageserver::tenant::storage_layer::tests2::test_io_concurrency_noise 4
pageserver::tenant::storage_layer::tests2::test_io_concurrency_noise::{closure#0} 4
<pageserver::tenant::storage_layer::IoConcurrency>::spawn::{closure#0} 32
<pageserver::tenant::storage_layer::LayerAccessStats>::latest_activity 32
<pageserver::tenant::storage_layer::LayerAccessStats>::accessed 36
<pageserver::tenant::storage_layer::LayerAccessStats>::record_residence_event 48
<pageserver::tenant::storage_layer::LayerAccessStats>::record_residence_event_at 52
<pageserver::tenant::storage_layer::LayerVisit as core::cmp::Ord>::cmp 60
<pageserver::tenant::storage_layer::LayerVisit as core::cmp::PartialOrd>::partial_cmp 60
<<<pageserver::tenant::storage_layer::IoConcurrency>::spawn_for_test::TestOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting 64
<<::spawn_for_test::TestOverride as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting 0
<<::spawn_for_test::TestOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::expecting 0
<<::spawn_for_test::TestOverride as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum:: 0
<<::spawn_for_test::TestOverride as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::> 64
<pageserver::tenant::storage_layer::IoConcurrency>::spawn_for_test 64
<pageserver::tenant::storage_layer::IoConcurrency>::spawn_for_test::TEST_OVERRIDE::{closure#0} 64
<pageserver::tenant::storage_layer::SelectedIoConcurrency as core::fmt::Debug>::fmt 64
<pageserver::tenant::storage_layer::LayerAccessStats>::read_low_res_timestamp 124
<pageserver::tenant::storage_layer::ValuesReconstructState>::get_delta_layers_visited 456
<pageserver::tenant::storage_layer::LayerAccessStats>::set_visibility 720
<pageserver::tenant::storage_layer::IoConcurrency>::spawn_from_conf 1012
<pageserver::tenant::storage_layer::LayerAccessStats>::visibility 1428
<pageserver::tenant::storage_layer::LayerAccessStats as core::default::Default>::default 3836
<<pageserver::tenant::storage_layer::IoConcurrency>::spawn_for_test::Wrapper as core::ops::deref::Deref>::deref 36974
<pageserver::tenant::storage_layer::ValuesReconstructState>::on_image_layer_visited 45116
<pageserver::tenant::storage_layer::IoConcurrency>::clone 76338
<pageserver::tenant::storage_layer::LayerAccessStats>::record_access_at 479634
<pageserver::tenant::storage_layer::LayerAccessStats>::record_access 480190
<pageserver::tenant::storage_layer::LayerAccessStats>::write_bits 480406
<pageserver::tenant::storage_layer::LayerAccessStats>::write_bits::{closure#0} 480406
<pageserver::tenant::storage_layer::LayerAccessStats>::decode_visibility 481782
<pageserver::tenant::storage_layer::LayerAccessStats>::to_low_res_timestamp 483522
<pageserver::tenant::storage_layer::IoConcurrency>::sequential 1215185
<pageserver::tenant::storage_layer::IoConcurrency>::spawn 1216261
<pageserver::tenant::storage_layer::ValuesReconstructState>::get_layers_visited 1255237
<pageserver::tenant::storage_layer::ValuesReconstructState as core::ops::drop::Drop>::drop 1255295
<pageserver::tenant::storage_layer::ValuesReconstructState>::new 1255295
<pageserver::tenant::storage_layer::VectoredValueReconstructState>::collect_pending_ios 1336045
<pageserver::tenant::storage_layer::VectoredValueReconstructState>::collect_pending_ios::{closure#0} 1336045
<pageserver::tenant::storage_layer::VectoredValueReconstructState>::collect_pending_ios::{closure#0}::{closure#0} 1337357
<pageserver::tenant::storage_layer::OnDiskValueIo>::complete 1482101
<pageserver::tenant::storage_layer::ValuesReconstructState>::update_key 1482101
<pageserver::tenant::storage_layer::IoConcurrency>::spawn_io::<pageserver::tenant::storage_layer::tests2::test_io_concurrency_noise::{closure#0}::{closure#0}> 1525270
::spawn_io:: 2
::spawn_io::<::do_reads_and_update_state::{closure#0}::{closure#1}> 45040
::spawn_io::<::do_reads_and_update_state::{closure#0}::{closure#0}> 266996
::spawn_io::<::get_values_reconstruct_data::{closure#0}::{closure#0}> 1213232
<pageserver::tenant::storage_layer::IoConcurrency>::spawn_io::<pageserver::tenant::storage_layer::tests2::test_io_concurrency_noise::{closure#0}::{closure#0}>::{closure#0} 1525270
::spawn_io::::{closure#0} 2
::spawn_io::<::do_reads_and_update_state::{closure#0}::{closure#1}>::{closure#0} 45040
::spawn_io::<::do_reads_and_update_state::{closure#0}::{closure#0}>::{closure#0} 266996
::spawn_io::<::get_values_reconstruct_data::{closure#0}::{closure#0}>::{closure#0} 1213232
<pageserver::tenant::storage_layer::ValuesReconstructState>::spawn_io::<pageserver::tenant::storage_layer::tests2::test_io_concurrency_noise::{closure#0}::{closure#0}> 1525270
::spawn_io:: 2
::spawn_io::<::do_reads_and_update_state::{closure#0}::{closure#1}> 45040
::spawn_io::<::do_reads_and_update_state::{closure#0}::{closure#0}> 266996
::spawn_io::<::get_values_reconstruct_data::{closure#0}::{closure#0}> 1213232
<pageserver::tenant::storage_layer::ValuesReconstructState>::spawn_io::<pageserver::tenant::storage_layer::tests2::test_io_concurrency_noise::{closure#0}::{closure#0}>::{closure#0} 1525270
::spawn_io::::{closure#0} 2
::spawn_io::<::do_reads_and_update_state::{closure#0}::{closure#1}>::{closure#0} 45040
::spawn_io::<::do_reads_and_update_state::{closure#0}::{closure#0}>::{closure#0} 266996
::spawn_io::<::get_values_reconstruct_data::{closure#0}::{closure#0}>::{closure#0} 1213232
<pageserver::tenant::storage_layer::ReadableLayer>::get_values_reconstruct_data 1693398
<pageserver::tenant::storage_layer::ReadableLayer>::get_values_reconstruct_data::{closure#0} 1693398
<pageserver::tenant::storage_layer::ValuesReconstructState>::on_layer_visited 1693398
<pageserver::tenant::storage_layer::LayerFringe>::update 1693426
<pageserver::tenant::storage_layer::ReadableLayer>::id 1693426
<pageserver::tenant::storage_layer::LayerFringe>::new 1706436
<pageserver::tenant::storage_layer::OnDiskValueIoWaiter>::wait_completion 2674714
::wait_completion 1337357
::wait_completion::{closure#0} 1337357
<pageserver::tenant::storage_layer::LayerFringe>::next_layer 3399834
<pageserver::tenant::storage_layer::ValuesReconstructState>::consume_done_keys 3399834

Generated by: LCOV version 2.1-beta