@@ -95,8 +95,9 @@ def initialize(options = {})
9595 # @see Client#head_object
9696 def download_file ( destination , bucket :, key :, **options )
9797 downloader = FileDownloader . new ( client : @client )
98- # TODO: wrap with user-agent metric tracking
99- downloader . download ( destination , options . merge ( bucket : bucket , key : key ) )
98+ Aws ::Plugins ::UserAgent . metric ( 'S3_TRANSFER' ) do
99+ downloader . download ( destination , options . merge ( bucket : bucket , key : key ) )
100+ end
100101 true
101102 end
102103
@@ -168,13 +169,11 @@ def download_file(destination, bucket:, key:, **options)
168169 # @see Client#complete_multipart_upload
169170 # @see Client#upload_part
170171 def upload_file ( source , bucket :, key :, **options )
171- uploading_options = options . dup
172- uploader = FileUploader . new (
173- multipart_threshold : uploading_options . delete ( :multipart_threshold ) ,
174- client : @client
175- )
176- # TODO: wrap with user-agent metric tracking
177- response = uploader . upload ( source , uploading_options . merge ( bucket : bucket , key : key ) )
172+ upload_opts = options . dup
173+ uploader = FileUploader . new ( multipart_threshold : upload_opts . delete ( :multipart_threshold ) , client : @client )
174+ response = Aws ::Plugins ::UserAgent . metric ( 'S3_TRANSFER' ) do
175+ uploader . upload ( source , upload_opts . merge ( bucket : bucket , key : key ) )
176+ end
178177 yield response if block_given?
179178 true
180179 end
@@ -231,15 +230,16 @@ def upload_file(source, bucket:, key:, **options)
231230 # @see Client#complete_multipart_upload
232231 # @see Client#upload_part
233232 def upload_stream ( bucket :, key :, **options , &block )
234- uploading_options = options . dup
233+ upload_opts = options . dup
235234 uploader = MultipartStreamUploader . new (
236235 client : @client ,
237- thread_count : uploading_options . delete ( :thread_count ) ,
238- tempfile : uploading_options . delete ( :tempfile ) ,
239- part_size : uploading_options . delete ( :part_size )
236+ thread_count : upload_opts . delete ( :thread_count ) ,
237+ tempfile : upload_opts . delete ( :tempfile ) ,
238+ part_size : upload_opts . delete ( :part_size )
240239 )
241- # TODO: wrap with user-agent metric tracking
242- uploader . upload ( uploading_options . merge ( bucket : bucket , key : key ) , &block )
240+ Aws ::Plugins ::UserAgent . metric ( 'S3_TRANSFER' ) do
241+ uploader . upload ( upload_opts . merge ( bucket : bucket , key : key ) , &block )
242+ end
243243 true
244244 end
245245 end
0 commit comments