tasks/gems/aws-sdk-cloudwatchlogs.rb (116 lines of code) (raw):

# frozen_string_literal: true module Benchmark module Gems class CloudWatchLogs < Benchmark::Gem def gem_name 'aws-sdk-cloudwatchlogs' end def gem_dir "gems/#{gem_name}" end def client_module_name 'Aws::CloudWatchLogs' end def operation_benchmarks { put_log_events_small: { setup: proc do |_client| { log_group_name: 'log_group', log_stream_name: 'log_stream', log_events: (0...5).map do |i| { timestamp: Time.now.to_i, message: "test log event #{i}" } end } end, test: proc do |client, req| client.put_log_events(req) end }, put_log_events_large: { setup: proc do |_client| { log_group_name: 'log_group', log_stream_name: 'log_stream', log_events: (0...5000).map do |i| { timestamp: Time.now.to_i, message: "test log event #{i} - #{TestData.random_value(i)}" } end } end, test: proc do |client, req| client.put_log_events(req) end }, get_log_events_small: { setup: proc do |client| client.stub_responses( :get_log_events, [ { events: (0...5).map do |i| { timestamp: Time.now.to_i, message: "test log event #{i} - #{TestData.random_value(i)}" } end } ] ) { log_group_name: 'log_group', log_stream_name: 'log_stream' } end, test: proc do |client, req| client.get_log_events(req) end }, get_log_events_large: { setup: proc do |client| client.stub_responses( :get_log_events, [ { events: (0...5000).map do |i| { timestamp: Time.now.to_i, message: "test log event #{i} - #{TestData.random_value(i)}" } end } ] ) { log_group_name: 'log_group', log_stream_name: 'log_stream' } end, test: proc do |client, req| client.get_log_events(req) end }, filter_log_events_large: { setup: proc do |client| client.stub_responses( :filter_log_events, [ { events: (0...5000).map do |i| { timestamp: Time.now.to_i, message: "test log event #{i} - #{TestData.random_value(i)}" } end } ] ) { log_group_name: 'log_group', log_stream_names: ['log_stream'], start_time: 1, end_time: 1000 } end, test: proc do |client, req| client.filter_log_events(req) end } } end end end end