diff --git a/api/.rubocop.yml b/api/.rubocop.yml index c1ecf94c70..c5aeccbe63 100644 --- a/api/.rubocop.yml +++ b/api/.rubocop.yml @@ -10,8 +10,6 @@ Minitest/AssertPredicate: Enabled: false Minitest/RefutePredicate: Enabled: false -Performance/MethodObjectAsBlock: - Enabled: false Style/BitwisePredicate: Enabled: false Style/EmptyClassDefinition: diff --git a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb index fde67fff0f..ddf7c3345c 100644 --- a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb +++ b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb @@ -63,7 +63,7 @@ def extract(carrier, context: Context.current, getter: Context::Propagation.text # the W3C spec where it's referred to as properties. We preserve # the properties (as-is) so that they can be propagated elsewhere. kv, meta = entry.split(';', 2) - k, v = kv.split('=').map!(&URI.method(:decode_uri_component)) + k, v = kv.split('=').map! { |part| URI.decode_uri_component(part) } builder.set_value(k, v, metadata: meta) end end diff --git a/api/lib/opentelemetry/context/propagation/rack_env_getter.rb b/api/lib/opentelemetry/context/propagation/rack_env_getter.rb index 8b601dfc39..4c1b69683e 100644 --- a/api/lib/opentelemetry/context/propagation/rack_env_getter.rb +++ b/api/lib/opentelemetry/context/propagation/rack_env_getter.rb @@ -26,7 +26,7 @@ def get(carrier, key) # form to the original. The resulting keys will be lowercase and # underscores will be replaced with dashes. def keys(carrier) - carrier.keys.map(&method(:from_rack_key)) + carrier.keys.map { |k| from_rack_key(k) } end private diff --git a/common/.rubocop.yml b/common/.rubocop.yml index 25da94a3a4..5610987c14 100644 --- a/common/.rubocop.yml +++ b/common/.rubocop.yml @@ -8,5 +8,3 @@ Minitest/AssertPredicate: Enabled: false Minitest/RefutePredicate: Enabled: false -Performance/MethodObjectAsBlock: - Enabled: false diff --git a/common/lib/opentelemetry/common/propagation/rack_env_getter.rb b/common/lib/opentelemetry/common/propagation/rack_env_getter.rb index 7c97082e80..63eb44a8d4 100644 --- a/common/lib/opentelemetry/common/propagation/rack_env_getter.rb +++ b/common/lib/opentelemetry/common/propagation/rack_env_getter.rb @@ -23,7 +23,7 @@ def get(carrier, key) # form to the original. The resulting keys will be lowercase and # underscores will be replaced with dashes. def keys(carrier) - carrier.keys.map(&method(:from_rack_key)) + carrier.keys.map { |k| from_rack_key(k) } end private diff --git a/exporter/otlp-http/.rubocop.yml b/exporter/otlp-http/.rubocop.yml index 852c87033a..f95a3d9e06 100644 --- a/exporter/otlp-http/.rubocop.yml +++ b/exporter/otlp-http/.rubocop.yml @@ -13,7 +13,3 @@ Lint/DuplicateBranch: Enabled: false Lint/SuppressedExceptionInNumberConversion: Enabled: false -Performance/MapCompact: - Enabled: false -Performance/MethodObjectAsBlock: - Enabled: false diff --git a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb index 1ff12b2e3b..b13a0cf490 100644 --- a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb +++ b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb @@ -207,10 +207,11 @@ def handle_redirect(location) def log_status(body) status = Google::Rpc::Status.decode(body) - details = status.details.map do |detail| - klass_or_nil = ::Google::Protobuf::DescriptorPool.generated_pool.lookup(detail.type_name).msgclass - detail.unpack(klass_or_nil) if klass_or_nil - end.compact + pool = ::Google::Protobuf::DescriptorPool.generated_pool + details = status.details.filter_map do |detail| + klass = pool.lookup(detail.type_name).msgclass + detail.unpack(klass) if klass + end OpenTelemetry.handle_error(message: "OTLP exporter received rpc.Status{message=#{status.message}, details=#{details}}") rescue StandardError => e OpenTelemetry.handle_error(exception: e, message: 'unexpected error decoding rpc.Status in OTLP::Exporter#log_status') @@ -279,7 +280,7 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&URI.method(:decode_uri_component)) + k, v = entry.split('=', 2).map { |part| URI.decode_uri_component(part) } begin k = k.to_s.strip v = v.to_s.strip diff --git a/exporter/otlp-logs/.rubocop.yml b/exporter/otlp-logs/.rubocop.yml index 9be779e650..55f01683de 100644 --- a/exporter/otlp-logs/.rubocop.yml +++ b/exporter/otlp-logs/.rubocop.yml @@ -10,7 +10,3 @@ Lint/DuplicateBranch: Enabled: false Lint/SuppressedExceptionInNumberConversion: Enabled: false -Performance/MapCompact: - Enabled: false -Performance/MethodObjectAsBlock: - Enabled: false diff --git a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb index f8c177150d..5107d49c8c 100644 --- a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb +++ b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb @@ -236,10 +236,11 @@ def handle_redirect(location) def log_status(body) status = Google::Rpc::Status.decode(body) - details = status.details.map do |detail| - klass_or_nil = ::Google::Protobuf::DescriptorPool.generated_pool.lookup(detail.type_name).msgclass - detail.unpack(klass_or_nil) if klass_or_nil - end.compact + pool = ::Google::Protobuf::DescriptorPool.generated_pool + details = status.details.filter_map do |detail| + klass = pool.lookup(detail.type_name).msgclass + detail.unpack(klass) if klass + end OpenTelemetry.handle_error(message: "OTLP logs exporter received rpc.Status{message=#{status.message}, details=#{details}}") rescue StandardError => e OpenTelemetry.handle_error(exception: e, message: 'unexpected error decoding rpc.Status in OTLP::Exporter#log_status') @@ -363,7 +364,7 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&URI.method(:decode_uri_component)) + k, v = entry.split('=', 2).map { |part| URI.decode_uri_component part } begin k = k.to_s.strip v = v.to_s.strip diff --git a/exporter/otlp-metrics/.rubocop.yml b/exporter/otlp-metrics/.rubocop.yml index da47afdefd..988de8694b 100644 --- a/exporter/otlp-metrics/.rubocop.yml +++ b/exporter/otlp-metrics/.rubocop.yml @@ -17,7 +17,3 @@ Lint/DuplicateBranch: Enabled: false Lint/SuppressedExceptionInNumberConversion: Enabled: false -Performance/MapCompact: - Enabled: false -Performance/MethodObjectAsBlock: - Enabled: false diff --git a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb index efcbc6ff87..d8c1f02761 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb @@ -74,7 +74,7 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&URI.method(:decode_uri_component)) + k, v = entry.split('=', 2).map { |part| URI.decode_uri_component part } begin k = k.to_s.strip v = v.to_s.strip @@ -116,11 +116,12 @@ def backoff?(retry_count:, reason:, retry_after: nil) def log_status(body) status = Google::Rpc::Status.decode(body) - details = status.details.map do |detail| + pool = ::Google::Protobuf::DescriptorPool.generated_pool + details = status.details.filter_map do |detail| type_name = detail.type_url.to_s.split('/').last.to_s - klass_or_nil = ::Google::Protobuf::DescriptorPool.generated_pool.lookup(type_name)&.msgclass - detail.unpack(klass_or_nil) if klass_or_nil - end.compact + klass = pool.lookup(type_name)&.msgclass + detail.unpack(klass) if klass + end OpenTelemetry.handle_error(message: "OTLP metrics_exporter received rpc.Status{message=#{status.message}, details=#{details}}") rescue StandardError => e OpenTelemetry.handle_error(exception: e, message: 'unexpected error decoding rpc.Status in OTLP::MetricsExporter#log_status') diff --git a/exporter/otlp/.rubocop.yml b/exporter/otlp/.rubocop.yml index 6bda33fa6d..1dc90c1551 100644 --- a/exporter/otlp/.rubocop.yml +++ b/exporter/otlp/.rubocop.yml @@ -9,9 +9,5 @@ Lint/DuplicateBranch: Enabled: false Lint/SuppressedExceptionInNumberConversion: Enabled: false -Performance/MapCompact: - Enabled: false -Performance/MethodObjectAsBlock: - Enabled: false Style/ObjectThen: Enabled: false diff --git a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb index 30655f901a..88527105ab 100644 --- a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb +++ b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb @@ -241,10 +241,11 @@ def handle_redirect(location) def log_status(body) status = Google::Rpc::Status.decode(body) - details = status.details.map do |detail| - klass_or_nil = ::Google::Protobuf::DescriptorPool.generated_pool.lookup(detail.type_name).msgclass - detail.unpack(klass_or_nil) if klass_or_nil - end.compact + pool = ::Google::Protobuf::DescriptorPool.generated_pool + details = status.details.filter_map do |detail| + klass = pool.lookup(detail.type_name).msgclass + detail.unpack(klass) if klass + end OpenTelemetry.handle_error(message: "OTLP exporter received rpc.Status{message=#{status.message}, details=#{details}} for uri=#{@uri}") rescue StandardError => e OpenTelemetry.handle_error(exception: e, message: 'unexpected error decoding rpc.Status in OTLP::Exporter#log_status') @@ -450,7 +451,7 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&URI.method(:decode_uri_component)) + k, v = entry.split('=', 2).map { |part| URI.decode_uri_component(part) } begin k = k.to_s.strip v = v.to_s.strip diff --git a/metrics_sdk/.rubocop.yml b/metrics_sdk/.rubocop.yml index cb3ec2d264..8d512e0a78 100644 --- a/metrics_sdk/.rubocop.yml +++ b/metrics_sdk/.rubocop.yml @@ -16,8 +16,6 @@ Naming/BlockForwarding: Enabled: false Naming/PredicateMethod: Enabled: false -Performance/CollectionLiteralInLoop: - Enabled: false Style/ArgumentsForwarding: Enabled: false Style/CollectionQuerying: diff --git a/metrics_sdk/test/opentelemetry/sdk/metrics/aggregation/exponential_histogram/exponential_bucket_histogram_test.rb b/metrics_sdk/test/opentelemetry/sdk/metrics/aggregation/exponential_histogram/exponential_bucket_histogram_test.rb index 9136f1e09d..6093f58d75 100644 --- a/metrics_sdk/test/opentelemetry/sdk/metrics/aggregation/exponential_histogram/exponential_bucket_histogram_test.rb +++ b/metrics_sdk/test/opentelemetry/sdk/metrics/aggregation/exponential_histogram/exponential_bucket_histogram_test.rb @@ -277,9 +277,11 @@ def ascending_sequence_test(max_size, offset, init_scale) end it 'test_ascending_sequence' do - [3, 4, 6, 9].each do |max_size| + MAX_SIZES = [3, 4, 6, 9].freeze + INIT_SCALES = [0, 4].freeze + MAX_SIZES.each do |max_size| (-5..5).each do |offset| - [0, 4].each do |init_scale| + INIT_SCALES.each do |init_scale| ascending_sequence_test(max_size, offset, init_scale) end end diff --git a/metrics_sdk/test/opentelemetry/sdk/metrics/aggregation/exponential_histogram/logarithm_mapping_test.rb b/metrics_sdk/test/opentelemetry/sdk/metrics/aggregation/exponential_histogram/logarithm_mapping_test.rb index ebf118ff4b..3b4392c719 100644 --- a/metrics_sdk/test/opentelemetry/sdk/metrics/aggregation/exponential_histogram/logarithm_mapping_test.rb +++ b/metrics_sdk/test/opentelemetry/sdk/metrics/aggregation/exponential_histogram/logarithm_mapping_test.rb @@ -42,10 +42,13 @@ end it 'test_logarithm_boundary' do - [1, 2, 3, 4, 10, 15].each do |scale| + SCALES = [1, 2, 3, 4, 10, 15].freeze + INDS_VALUES = [-100, -10, -1, 0, 1, 10, 100].freeze + + SCALES.each do |scale| logarithm_mapping = OpenTelemetry::SDK::Metrics::Aggregation::ExponentialHistogram::LogarithmMapping.new(scale) - [-100, -10, -1, 0, 1, 10, 100].each do |inds| + INDS_VALUES.each do |inds| lower_boundary = logarithm_mapping.get_lower_boundary(inds) mapped_index = logarithm_mapping.map_to_index(lower_boundary)