LCOV - code coverage report
Current view: top level - pageserver/src - virtual_file.rs (source / functions) Coverage Total Hit
Test: 36a768e0f9bed31ef74078bc2bec5bd5390d3ce6.info Lines: 93.0 % 976 908
Test Date: 2024-07-09 16:10:09 Functions: 90.5 % 199 180

Function Name Sort by function name Hit count Sort by function hit count
<pageserver::virtual_file::VirtualFile as core::ops::drop::Drop>::drop::{closure#0} 0
<pageserver::virtual_file::VirtualFile>::sync_data 0
::sync_data 0
::sync_data::{closure#0} 0
pageserver::virtual_file::init 0
pageserver::virtual_file::is_fatal_io_error 0
pageserver::virtual_file::on_fatal_io_error 0
pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0} 0
pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0}::{closure#0} 0
<pageserver::virtual_file::tests::MaybeVirtualFile>::write_all::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>>::{closure#0}::{closure#0} 2
pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0} 2
pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}::{closure#0} 2
<pageserver::virtual_file::VirtualFile as pageserver::virtual_file::owned_buffers_io::write::OwnedAsyncWriter>::write_all::<uring_common::buf::slice::Slice<bytes::bytes::Bytes>, bytes::bytes::Bytes> 3
::write_all::, bytes::bytes::Bytes> 0
::write_all::, bytes::bytes_mut::BytesMut> 3
<pageserver::virtual_file::VirtualFile as pageserver::virtual_file::owned_buffers_io::write::OwnedAsyncWriter>::write_all::<uring_common::buf::slice::Slice<bytes::bytes::Bytes>, bytes::bytes::Bytes>::{closure#0} 3
::write_all::, bytes::bytes::Bytes>::{closure#0} 0
::write_all::, bytes::bytes_mut::BytesMut>::{closure#0} 3
<pageserver::virtual_file::VirtualFile as pageserver::virtual_file::owned_buffers_io::write::OwnedAsyncWriter>::write_all::<uring_common::buf::slice::Slice<bytes::bytes::Bytes>, bytes::bytes::Bytes>::{closure#0}::{closure#0} 3
::write_all::, bytes::bytes::Bytes>::{closure#0}::{closure#0} 0
::write_all::, bytes::bytes_mut::BytesMut>::{closure#0}::{closure#0} 3
<pageserver::virtual_file::FileGuard>::with_std_file_mut::<<pageserver::virtual_file::VirtualFile>::seek::{closure#0}::{closure#0}, core::result::Result<u64, std::io::error::Error>> 4
<pageserver::virtual_file::VirtualFile>::seek::{closure#0}::{closure#0} 4
<pageserver::virtual_file::VirtualFile>::write_all_at::<_, _> 4
::write_all_at::<_, _> 0
::write_all_at::, alloc::vec::Vec> 4
<pageserver::virtual_file::VirtualFile>::write_all_at::<_, _>::{closure#0} 4
::write_all_at::<_, _>::{closure#0} 0
::write_all_at::, alloc::vec::Vec>::{closure#0} 4
pageserver::virtual_file::test_read_exact_at_impl::test_basic 4
pageserver::virtual_file::test_read_exact_at_impl::test_basic 2
pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0} 2
pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall 4
pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall 2
pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0} 2
pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full 4
pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full 2
pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0} 2
pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled 4
pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled 2
pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0} 2
pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0} 4
pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0}::{closure#0} 4
pageserver::virtual_file::tests::test_atomic_overwrite_basic 4
pageserver::virtual_file::tests::test_atomic_overwrite_basic 2
pageserver::virtual_file::tests::test_atomic_overwrite_basic::{closure#0} 2
pageserver::virtual_file::tests::test_atomic_overwrite_preexisting_tmp 4
pageserver::virtual_file::tests::test_atomic_overwrite_preexisting_tmp 2
pageserver::virtual_file::tests::test_atomic_overwrite_preexisting_tmp::{closure#0} 2
pageserver::virtual_file::tests::test_files::<pageserver::virtual_file::tests::test_virtual_files::{closure#0}::A> 4
pageserver::virtual_file::tests::test_files:: 2
pageserver::virtual_file::tests::test_files:: 2
pageserver::virtual_file::tests::test_files::<pageserver::virtual_file::tests::test_virtual_files::{closure#0}::A>::{closure#0} 4
pageserver::virtual_file::tests::test_files::::{closure#0} 2
pageserver::virtual_file::tests::test_files::::{closure#0} 2
pageserver::virtual_file::tests::test_physical_files 4
pageserver::virtual_file::tests::test_physical_files 2
pageserver::virtual_file::tests::test_physical_files::{closure#0} 2
pageserver::virtual_file::tests::test_vfile_concurrency 4
pageserver::virtual_file::tests::test_vfile_concurrency 2
pageserver::virtual_file::tests::test_vfile_concurrency::{closure#0} 2
pageserver::virtual_file::tests::test_virtual_files 4
pageserver::virtual_file::tests::test_virtual_files 2
pageserver::virtual_file::tests::test_virtual_files::{closure#0} 2
<pageserver::virtual_file::VirtualFile>::remove 6
<pageserver::virtual_file::tests::MaybeVirtualFile as core::convert::From<pageserver::virtual_file::VirtualFile>>::from 6
pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0} 6
pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0}::{closure#0} 6
<pageserver::virtual_file::test_read_exact_at_impl::MockReadAt as core::ops::drop::Drop>::drop 8
<pageserver::virtual_file::tests::MaybeVirtualFile>::write_all::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>> 8
<pageserver::virtual_file::tests::MaybeVirtualFile>::write_all::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>>::{closure#0} 8
<pageserver::virtual_file::tests::MaybeVirtualFile>::write_all_at::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>> 8
<pageserver::virtual_file::tests::MaybeVirtualFile>::write_all_at::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>>::{closure#0} 8
<pageserver::virtual_file::test_read_exact_at_impl::MockReadAt>::read_at 12
<pageserver::virtual_file::test_read_exact_at_impl::MockReadAt>::read_at::{closure#0} 12
<core::result::Result<(), std::io::error::Error> as pageserver::virtual_file::MaybeFatalIo<()>>::maybe_fatal_err 22
<pageserver::virtual_file::VirtualFile>::crashsafe_overwrite::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>> 28
<pageserver::virtual_file::VirtualFile>::crashsafe_overwrite::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>>::{closure#0} 28
<pageserver::virtual_file::VirtualFile>::crashsafe_overwrite::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>>::{closure#0}::{closure#0} 28
<pageserver::virtual_file::tests::MaybeVirtualFile>::seek 72
::seek 36
::seek::{closure#0} 36
<pageserver::virtual_file::OpenFiles>::new 162
pageserver::virtual_file::get_open_files::{closure#0} 162
pageserver::virtual_file::tests::test_vfile_concurrency::{closure#0}::{closure#0} 200
<pageserver::virtual_file::tests::MaybeVirtualFile>::read_exact_at::{closure#0}::{closure#0} 202
<pageserver::virtual_file::tests::test_physical_files::{closure#0}::B as pageserver::virtual_file::tests::Adapter>::open 206
<pageserver::virtual_file::tests::test_physical_files::{closure#0}::B as pageserver::virtual_file::tests::Adapter>::open::{closure#0} 206
<pageserver::virtual_file::tests::test_virtual_files::{closure#0}::A as pageserver::virtual_file::tests::Adapter>::open 206
<pageserver::virtual_file::tests::test_virtual_files::{closure#0}::A as pageserver::virtual_file::tests::Adapter>::open::{closure#0} 206
<pageserver::virtual_file::tests::MaybeVirtualFile>::read_exact_at 404
<pageserver::virtual_file::tests::MaybeVirtualFile>::read_exact_at::{closure#0} 404
<pageserver::virtual_file::tests::MaybeVirtualFile>::read_string_at 404
<pageserver::virtual_file::tests::MaybeVirtualFile>::read_string_at::{closure#0} 404
<pageserver::virtual_file::VirtualFile>::read_to_end 448
::read_to_end 224
::read_to_end::{closure#0} 224
<pageserver::virtual_file::tests::MaybeVirtualFile>::read_string 884
::read_string 442
::read_string::{closure#0} 442
<pageserver::virtual_file::VirtualFile>::create::<&camino::Utf8Path> 1363
::create::<&camino::Utf8Path> 32
::create::<&camino::Utf8PathBuf> 1331
<pageserver::virtual_file::VirtualFile>::create::<&camino::Utf8Path>::{closure#0} 1363
::create::<&camino::Utf8Path>::{closure#0} 32
::create::<&camino::Utf8PathBuf>::{closure#0} 1331
<pageserver::virtual_file::VirtualFile>::open::<&camino::Utf8Path> 2290
::open::<&camino::Utf8Path> 1122
::open::<&camino::Utf8PathBuf> 1168
<pageserver::virtual_file::VirtualFile>::open::<&camino::Utf8Path>::{closure#0} 2290
::open::<&camino::Utf8Path>::{closure#0} 1122
::open::<&camino::Utf8PathBuf>::{closure#0} 1168
<core::result::Result<(), std::io::error::Error> as pageserver::virtual_file::MaybeFatalIo<()>>::fatal_err 2358
, std::io::error::Error> as pageserver::virtual_file::MaybeFatalIo>>::fatal_err 0
as pageserver::virtual_file::MaybeFatalIo>::fatal_err 0
as pageserver::virtual_file::MaybeFatalIo>::fatal_err 0
as pageserver::virtual_file::MaybeFatalIo>::fatal_err 0
, std::io::error::Error> as pageserver::virtual_file::MaybeFatalIo>>::fatal_err 4
as pageserver::virtual_file::MaybeFatalIo>::fatal_err 8
, std::io::error::Error> as pageserver::virtual_file::MaybeFatalIo>>::fatal_err 12
as pageserver::virtual_file::MaybeFatalIo>::fatal_err 1162
as pageserver::virtual_file::MaybeFatalIo<()>>::fatal_err 1172
<pageserver::virtual_file::VirtualFile>::metadata 3136
::metadata 1568
::metadata::{closure#0} 1568
<pageserver::virtual_file::VirtualFile as core::ops::drop::Drop>::drop::clean_slot::{closure#0} 4188
<pageserver::virtual_file::VirtualFile as core::ops::drop::Drop>::drop 4776
<pageserver::virtual_file::VirtualFile as core::ops::drop::Drop>::drop::clean_slot 4776
<pageserver::virtual_file::VirtualFile>::sync_all 5462
::sync_all 2731
::sync_all::{closure#0} 2731
<pageserver::virtual_file::VirtualFile>::open_with_options::<&camino::Utf8Path> 5549
::open_with_options::<&camino::Utf8PathBuf> 1896
::open_with_options::<&camino::Utf8Path> 3653
<pageserver::virtual_file::VirtualFile>::open_with_options::<&camino::Utf8Path>::{closure#0} 5549
::open_with_options::<&camino::Utf8PathBuf>::{closure#0} 1896
::open_with_options::<&camino::Utf8Path>::{closure#0} 3653
<pageserver::virtual_file::VirtualFile>::seek 9444
::seek 4722
::seek::{closure#0} 4722
<pageserver::virtual_file::VirtualFile>::read_blk 20916
<pageserver::virtual_file::VirtualFile>::read_blk::{closure#0} 20916
<pageserver::virtual_file::PageWriteGuardBuf as uring_common::buf::io_buf_mut::IoBufMut>::set_init 114107
<pageserver::virtual_file::VirtualFile>::read_exact_at_page 114107
<pageserver::virtual_file::VirtualFile>::read_exact_at_page::{closure#0} 114107
<pageserver::virtual_file::VirtualFile>::read_exact_at_page::{closure#0}::{closure#0} 114107
<pageserver::virtual_file::PageWriteGuardBuf as uring_common::buf::io_buf_mut::IoBufMut>::stable_mut_ptr 171295
<pageserver::virtual_file::OpenFiles>::find_victim_slot::{closure#0}::{closure#0} 186652
<pageserver::virtual_file::PageWriteGuardBuf as uring_common::buf::io_buf::IoBuf>::bytes_total 342321
<pageserver::virtual_file::OpenFiles>::find_victim_slot 382148
::find_victim_slot 191074
::find_victim_slot::{closure#0} 191074
<pageserver::virtual_file::VirtualFile>::read_exact_at::<alloc::vec::Vec<u8>> 411493
::read_exact_at:: 76468
::read_exact_at:: 114107
::read_exact_at::> 220918
<pageserver::virtual_file::VirtualFile>::read_exact_at::<alloc::vec::Vec<u8>>::{closure#0} 411493
::read_exact_at::::{closure#0} 76468
::read_exact_at::::{closure#0} 114107
::read_exact_at::>::{closure#0} 220918
<pageserver::virtual_file::VirtualFile>::read_exact_at::<alloc::vec::Vec<u8>>::{closure#0}::{closure#0} 411493
::read_exact_at::::{closure#0}::{closure#0} 76468
::read_exact_at::::{closure#0}::{closure#0} 114107
::read_exact_at::>::{closure#0}::{closure#0} 220918
<pageserver::virtual_file::VirtualFile>::read_exact_at::<alloc::vec::Vec<u8>>::{closure#0}::{closure#1} 411493
::read_exact_at::::{closure#0}::{closure#1} 76468
::read_exact_at::::{closure#0}::{closure#1} 114107
::read_exact_at::>::{closure#0}::{closure#1} 220918
pageserver::virtual_file::read_exact_at_impl::<alloc::vec::Vec<u8>, <pageserver::virtual_file::VirtualFile>::read_exact_at<alloc::vec::Vec<u8>>::{closure#0}::{closure#0}, <pageserver::virtual_file::VirtualFile>::read_at<alloc::vec::Vec<u8>>::{closure#0}> 411501
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}::{closure#0}> 2
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0}::{closure#0}> 2
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0}::{closure#0}> 2
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0}::{closure#0}> 2
pageserver::virtual_file::read_exact_at_impl::::read_exact_at::{closure#0}::{closure#0}, ::read_at::{closure#0}> 76468
pageserver::virtual_file::read_exact_at_impl::::read_exact_at::{closure#0}::{closure#0}, ::read_at::{closure#0}> 114107
pageserver::virtual_file::read_exact_at_impl::, ::read_exact_at>::{closure#0}::{closure#0}, ::read_at>::{closure#0}> 220918
pageserver::virtual_file::read_exact_at_impl::<alloc::vec::Vec<u8>, <pageserver::virtual_file::VirtualFile>::read_exact_at<alloc::vec::Vec<u8>>::{closure#0}::{closure#0}, <pageserver::virtual_file::VirtualFile>::read_at<alloc::vec::Vec<u8>>::{closure#0}>::{closure#0} 411501
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_basic::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 2
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_empty_buf_issues_no_syscall::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 2
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_eof_before_buffer_full::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 2
pageserver::virtual_file::read_exact_at_impl::, pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0}, pageserver::virtual_file::test_read_exact_at_impl::test_two_read_at_calls_needed_until_buf_filled::{closure#0}::{closure#0}::{closure#0}>::{closure#0} 2
pageserver::virtual_file::read_exact_at_impl::::read_exact_at::{closure#0}::{closure#0}, ::read_at::{closure#0}>::{closure#0} 76468
pageserver::virtual_file::read_exact_at_impl::::read_exact_at::{closure#0}::{closure#0}, ::read_at::{closure#0}>::{closure#0} 114107
pageserver::virtual_file::read_exact_at_impl::, ::read_exact_at>::{closure#0}::{closure#0}, ::read_at>::{closure#0}>::{closure#0} 220918
<pageserver::virtual_file::VirtualFile>::read_at::<alloc::vec::Vec<u8>> 411937
::read_at:: 76468
::read_at:: 114107
::read_at::> 221362
<pageserver::virtual_file::VirtualFile>::read_at::<alloc::vec::Vec<u8>>::{closure#0} 411937
::read_at::::{closure#0} 76468
::read_at::::{closure#0} 114107
::read_at::>::{closure#0} 221362
<pageserver::virtual_file::PageWriteGuardBuf as uring_common::buf::io_buf::IoBuf>::stable_ptr 456697
<pageserver::virtual_file::FileGuard as uring_common::io_fd::IoFd>::as_fd 766227
<pageserver::virtual_file::FileGuard>::with_std_file::<<pageserver::virtual_file::io_engine::IoEngine>::sync_all::{closure#0}::{closure#0}, core::result::Result<(), std::io::error::Error>> 766521
::with_std_file::<::metadata::{closure#0}::{closure#0}, core::result::Result> 784
::with_std_file::<::sync_all::{closure#0}::{closure#0}, core::result::Result<(), std::io::error::Error>> 1364
::with_std_file::<::write_at>::{closure#0}::{closure#0}, core::result::Result> 3305
::with_std_file::<::write_at>::{closure#0}::{closure#0}, core::result::Result> 8040
::with_std_file::<::read_at::{closure#0}::{closure#0}, core::result::Result> 38248
::with_std_file::<::read_at::{closure#0}::{closure#0}, core::result::Result> 57188
::with_std_file::<::read_at>::{closure#0}::{closure#0}, core::result::Result> 110681
::with_std_file::<::write_at::{closure#0}::{closure#0}, core::result::Result> 270939
::with_std_file::<::write_at::{closure#0}::{closure#0}, core::result::Result> 275972
<pageserver::virtual_file::PageWriteGuardBuf as uring_common::buf::io_buf::IoBuf>::bytes_init 856206
<pageserver::virtual_file::VirtualFile>::write::<alloc::vec::Vec<u8>> 1116508
::write::> 6610
::write::> 16076
::write:: 541881
::write:: 551941
<pageserver::virtual_file::VirtualFile>::write::<alloc::vec::Vec<u8>>::{closure#0} 1116508
::write::>::{closure#0} 6610
::write::>::{closure#0} 16076
::write::::{closure#0} 541881
::write::::{closure#0} 551941
<pageserver::virtual_file::VirtualFile>::write_at::<alloc::vec::Vec<u8>> 1116512
::write_at::> 6610
::write_at::> 16080
::write_at:: 541881
::write_at:: 551941
<pageserver::virtual_file::VirtualFile>::write_at::<alloc::vec::Vec<u8>>::{closure#0} 1116512
::write_at::>::{closure#0} 6610
::write_at::>::{closure#0} 16080
::write_at::::{closure#0} 541881
::write_at::::{closure#0} 551941
<pageserver::virtual_file::VirtualFile>::write_all::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>> 1116546
::write_all::, bytes::bytes::Bytes> 0
::write_all::, bytes::bytes_mut::BytesMut> 3
::write_all::>, alloc::vec::Vec> 224
::write_all::>, pageserver::tenant::ephemeral_file::zero_padded_read_write::zero_padded::Buffer<65536>> 6610
::write_all::, alloc::vec::Vec> 15890
::write_all:: 541878
::write_all:: 551941
<pageserver::virtual_file::VirtualFile>::write_all::<alloc::vec::Vec<u8>, alloc::vec::Vec<u8>>::{closure#0} 1116546
::write_all::, bytes::bytes::Bytes>::{closure#0} 0
::write_all::, bytes::bytes_mut::BytesMut>::{closure#0} 3
::write_all::>, alloc::vec::Vec>::{closure#0} 224
::write_all::>, pageserver::tenant::ephemeral_file::zero_padded_read_write::zero_padded::Buffer<65536>>::{closure#0} 6610
::write_all::, alloc::vec::Vec>::{closure#0} 15890
::write_all::::{closure#0} 541878
::write_all::::{closure#0} 551941
<pageserver::virtual_file::FileGuard as core::convert::AsRef<std::os::fd::owned::OwnedFd>>::as_ref 1532752
pageserver::virtual_file::get_open_files 1543077
<pageserver::virtual_file::VirtualFile>::lock_file 3065504
::lock_file 1532752
::lock_file::{closure#0} 1532752

Generated by: LCOV version 2.1-beta