Skip to content

Commit 4784fd9

Browse files
committed
Update user agent tracking
1 parent e48f418 commit 4784fd9

File tree

6 files changed

+42
-50
lines changed

6 files changed

+42
-50
lines changed

gems/aws-sdk-s3/lib/aws-sdk-s3/customizations/object.rb

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -400,10 +400,7 @@ def upload_stream(options = {}, &block)
400400
part_size: uploading_options.delete(:part_size)
401401
)
402402
Aws::Plugins::UserAgent.metric('RESOURCE_MODEL') do
403-
uploader.upload(
404-
uploading_options.merge(bucket: bucket_name, key: key),
405-
&block
406-
)
403+
uploader.upload(uploading_options.merge(bucket: bucket_name, key: key), &block)
407404
end
408405
true
409406
end

gems/aws-sdk-s3/lib/aws-sdk-s3/file_downloader.rb

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@ module S3
99
# @api private
1010
class FileDownloader
1111

12+
# @api private
1213
MIN_CHUNK_SIZE = 5 * 1024 * 1024
14+
15+
# @api private
1316
MAX_PARTS = 10_000
1417

1518
def initialize(options = {})
@@ -29,18 +32,16 @@ def download(destination, options = {})
2932
@params = options
3033
validate!
3134

32-
Aws::Plugins::UserAgent.metric('S3_TRANSFER') do
33-
case @mode
34-
when 'auto' then multipart_download
35-
when 'single_request' then single_request
36-
when 'get_range'
37-
raise ArgumentError, 'In get_range mode, :chunk_size must be provided' unless @chunk_size
35+
case @mode
36+
when 'auto' then multipart_download
37+
when 'single_request' then single_request
38+
when 'get_range'
39+
raise ArgumentError, 'In get_range mode, :chunk_size must be provided' unless @chunk_size
3840

39-
resp = @client.head_object(@params)
40-
multithreaded_get_by_ranges(resp.content_length, resp.etag)
41-
else
42-
raise ArgumentError, "Invalid mode #{@mode} provided, :mode should be single_request, get_range or auto"
43-
end
41+
resp = @client.head_object(@params)
42+
multithreaded_get_by_ranges(resp.content_length, resp.etag)
43+
else
44+
raise ArgumentError, "Invalid mode #{@mode} provided, :mode should be single_request, get_range or auto"
4445
end
4546
File.rename(@temp_path, @path) if @temp_path
4647
ensure

gems/aws-sdk-s3/lib/aws-sdk-s3/file_uploader.rb

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,14 +36,12 @@ def initialize(options = {})
3636
# objects smaller than the multipart threshold.
3737
# @return [void]
3838
def upload(source, options = {})
39-
Aws::Plugins::UserAgent.metric('S3_TRANSFER') do
40-
if File.size(source) >= multipart_threshold
41-
MultipartFileUploader.new(@options).upload(source, options)
42-
else
43-
# remove multipart parameters not supported by put_object
44-
options.delete(:thread_count)
45-
put_object(source, options)
46-
end
39+
if File.size(source) >= @multipart_threshold
40+
MultipartFileUploader.new(@options).upload(source, options)
41+
else
42+
# remove multipart parameters not supported by put_object
43+
options.delete(:thread_count)
44+
put_object(source, options)
4745
end
4846
end
4947

gems/aws-sdk-s3/lib/aws-sdk-s3/multipart_stream_uploader.rb

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,11 +40,9 @@ def initialize(options = {})
4040
# @option options [Integer] :thread_count (DEFAULT_THREAD_COUNT)
4141
# @return [Seahorse::Client::Response] - the CompleteMultipartUploadResponse
4242
def upload(options = {}, &block)
43-
Aws::Plugins::UserAgent.metric('S3_TRANSFER') do
44-
upload_id = initiate_upload(options)
45-
parts = upload_parts(upload_id, options, &block)
46-
complete_upload(upload_id, parts, options)
47-
end
43+
upload_id = initiate_upload(options)
44+
parts = upload_parts(upload_id, options, &block)
45+
complete_upload(upload_id, parts, options)
4846
end
4947

5048
private

gems/aws-sdk-s3/lib/aws-sdk-s3/object_copier.rb

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,11 @@ def copy_object(source, target, options)
2828
options[:bucket] = target_bucket
2929
options[:key] = target_key
3030
options[:copy_source] = copy_source(source)
31-
Aws::Plugins::UserAgent.metric('S3_TRANSFER') do
32-
if options.delete(:multipart_copy)
33-
apply_source_client(source, options)
34-
ObjectMultipartCopier.new(@options).copy(options)
35-
else
36-
@object.client.copy_object(options)
37-
end
31+
if options.delete(:multipart_copy)
32+
apply_source_client(source, options)
33+
ObjectMultipartCopier.new(@options).copy(options)
34+
else
35+
@object.client.copy_object(options)
3836
end
3937
end
4038

gems/aws-sdk-s3/lib/aws-sdk-s3/transfer_manager.rb

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)