LCOV - code coverage report
Current view: top level - libs/remote_storage/src - s3_bucket.rs (source / functions) Coverage Total Hit
Test: 1e20c4f2b28aa592527961bb32170ebbd2c9172f.info Lines: 87.6 % 725 635
Test Date: 2025-07-16 12:29:03 Functions: 72.4 % 87 63

Function Name Sort by function name Hit count Sort by function hit count
<remote_storage::s3_bucket::ByteStreamAsStream as futures_core::stream::Stream>::poll_next::{closure#0} 0
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::download::{closure#0}::{closure#1} 0
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::head_object::{closure#0}::{closure#1} 0
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::list_versions 0
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::list_versions::{closure#0} 0
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::max_keys_per_delete 0
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::time_travel_recover::{closure#0}::{closure#0} 0
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::time_travel_recover::{closure#0}::{closure#3} 0
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::time_travel_recover::{closure#0}::{closure#5}::{closure#0}::{closure#1} 0
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::time_travel_recover::{closure#0}::{closure#8} 0
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::time_travel_recover::{closure#0}::{closure#9} 0
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::upload::<_>::{closure#0} 0
<remote_storage::s3_bucket::S3Bucket>::download_object::{closure#0}::{closure#0} 0
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0}::none_if_empty::{closure#0} 0
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0}::{closure#0} 0
<remote_storage::s3_bucket::TimedDownload<remote_storage::support::PermitCarrying<remote_storage::s3_bucket::ByteStreamAsStream>> as futures_core::stream::Stream>::size_hint 0
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0}::{closure#2} 1
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0}::{closure#3}::{closure#0}::{closure#1} 1
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::copy 2
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::copy::{closure#0} 2
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::list_streaming::{closure#0} 2
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::download::{closure#0}::{closure#0} 6
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::head_object 6
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::head_object::{closure#0} 6
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::time_travel_recover 6
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::time_travel_recover::{closure#0} 6
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::time_travel_recover::{closure#0}::{closure#5} 6
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::time_travel_recover::{closure#0}::{closure#5}::{closure#0} 6
<remote_storage::s3_bucket::S3Bucket>::bucket_name 6
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit 6
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0} 6
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0}::{closure#1} 6
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0}::{closure#8} 6
remote_storage::s3_bucket::tests::relative_path 6
remote_storage::s3_bucket::tests::relative_path 3
remote_storage::s3_bucket::tests::relative_path::{closure#0} 3
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0}::{closure#3} 7
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0}::{closure#3}::{closure#0} 7
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0}::{closure#7} 8
remote_storage::s3_bucket::tests::relative_path::{closure#0}::{closure#0} 9
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0}::none_if_empty 12
<remote_storage::s3_bucket::ByteStreamAsStream as core::convert::From<aws_smithy_types::byte_stream::ByteStream>>::from 28
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::time_travel_recover::{closure#0}::{closure#2} 28
<remote_storage::s3_bucket::S3Bucket>::list_versions_with_permit::{closure#0}::{closure#6} 28
<remote_storage::s3_bucket::TimedDownload<remote_storage::support::PermitCarrying<remote_storage::s3_bucket::ByteStreamAsStream>>>::new 28
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::list_streaming::{closure#1} 32
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::list_streaming::{closure#2} 32
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::list_streaming::{closure#2}::{closure#0} 32
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::download 33
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::download::{closure#0} 33
<remote_storage::s3_bucket::S3Bucket>::download_object 33
<remote_storage::s3_bucket::S3Bucket>::download_object::{closure#0} 33
<remote_storage::s3_bucket::S3Bucket>::owned_permit 33
<remote_storage::s3_bucket::S3Bucket>::owned_permit::{closure#0} 33
<remote_storage::s3_bucket::S3Bucket>::new::{closure#0}::{closure#1} 38
<remote_storage::s3_bucket::S3Bucket>::new::{closure#0}::{closure#0} 41
<remote_storage::s3_bucket::S3Bucket>::new::{closure#0}::{closure#0}::{closure#0} 41
<remote_storage::s3_bucket::ByteStreamAsStream as futures_core::stream::Stream>::poll_next 42
<remote_storage::s3_bucket::TimedDownload<remote_storage::support::PermitCarrying<remote_storage::s3_bucket::ByteStreamAsStream>> as futures_core::stream::Stream>::poll_next 42
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::list_streaming 64
<remote_storage::s3_bucket::S3Bucket>::new 82
::new 41
::new::{closure#0} 41
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::list_streaming::{closure#3}::{closure#0} 104
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::time_travel_recover::{closure#0}::{closure#1} 124
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::delete_objects 194
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::delete_objects::{closure#0} 194
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::upload::<_> 198
::upload::<_> 0
::upload::> 0
::upload::>> 0
::upload::, core::iter::sources::repeat_n::RepeatN>, core::result::Result::Ok>>> 4
::upload::>>> 194
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::upload::<tokio_util::io::reader_stream::ReaderStream<tokio::fs::file::File>>::{closure#0} 198
::upload::>::{closure#0} 0
::upload::>>::{closure#0} 0
::upload::, core::iter::sources::repeat_n::RepeatN>, core::result::Result::Ok>>>::{closure#0} 4
::upload::>>>::{closure#0} 194
<remote_storage::s3_bucket::S3Bucket>::delete_oids 198
<remote_storage::s3_bucket::S3Bucket>::delete_oids::{closure#0} 198
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::delete 348
::delete 174
::delete::{closure#0} 174
<remote_storage::s3_bucket::S3Bucket>::permit 470
<remote_storage::s3_bucket::S3Bucket>::permit::{closure#0} 470
<remote_storage::s3_bucket::S3Bucket>::s3_object_to_relative_path 555
<remote_storage::s3_bucket::S3Bucket>::relative_path_to_s3_object 572
<remote_storage::s3_bucket::S3Bucket as remote_storage::RemoteStorage>::upload::<_>::{closure#0}::{closure#0} 710
::upload::<_>::{closure#0}::{closure#0} 0
::upload::>::{closure#0}::{closure#0} 0
::upload::>>::{closure#0}::{closure#0} 0
::upload::>>>::{closure#0}::{closure#0} 194
::upload::, core::iter::sources::repeat_n::RepeatN>, core::result::Result::Ok>>>::{closure#0}::{closure#0} 516

Generated by: LCOV version 2.1-beta