From 8b9af2743f2d815c7cb39777ca0b141c91b1a10f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 May 2024 16:43:20 +0000 Subject: [PATCH 01/82] release: Release opentelemetry-instrumentation-grape 0.1.8 (was 0.1.7) (#985) * release: Release opentelemetry-instrumentation-grape 0.1.8 (was 0.1.7) * ci: Force --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Ariel Valentin --- instrumentation/grape/CHANGELOG.md | 4 ++++ .../grape/lib/opentelemetry/instrumentation/grape/version.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/instrumentation/grape/CHANGELOG.md b/instrumentation/grape/CHANGELOG.md index f9728d3d3..f86102925 100644 --- a/instrumentation/grape/CHANGELOG.md +++ b/instrumentation/grape/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-grape +### v0.1.8 / 2024-05-14 + +* DOCS: Instrumentation Authors Guide + ### v0.1.7 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/grape/lib/opentelemetry/instrumentation/grape/version.rb b/instrumentation/grape/lib/opentelemetry/instrumentation/grape/version.rb index b585b5cd5..fb4d117c4 100644 --- a/instrumentation/grape/lib/opentelemetry/instrumentation/grape/version.rb +++ b/instrumentation/grape/lib/opentelemetry/instrumentation/grape/version.rb @@ -8,7 +8,7 @@ module OpenTelemetry module Instrumentation module Grape # Current gem version - VERSION = '0.1.7' + VERSION = '0.1.8' end end end From c4e9fc8a9f1eda1a28b9b983df7cc7540f82234f Mon Sep 17 00:00:00 2001 From: "Kayla Reopelle (she/her)" <87386821+kaylareopelle@users.noreply.github.com> Date: Thu, 16 May 2024 09:18:36 -0700 Subject: [PATCH 02/82] chore: Update release please action to googleapis (#989) The previous location, google-github-actions, is deprecated. All future work will be completed in googleapis. --- .github/workflows/release-please.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index 1c58a7909..74f3f3a4b 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -17,7 +17,7 @@ jobs: name: Process Release runs-on: ubuntu-latest steps: - - uses: google-github-actions/release-please-action@v4.1.0 + - uses: googleapis/release-please-action@v4.1.1 id: prepare outputs: From df8d69e5bafb31283ca15dff824a2760bee992af Mon Sep 17 00:00:00 2001 From: Xuan <112967240+xuan-cao-swi@users.noreply.github.com> Date: Tue, 21 May 2024 15:34:18 -0400 Subject: [PATCH 03/82] fix: add action_mailer to rails and all (#984) * fix: add action_mailer to rails and all * fix: lint --------- Co-authored-by: Kayla Reopelle (she/her) <87386821+kaylareopelle@users.noreply.github.com> --- instrumentation/all/lib/opentelemetry/instrumentation/all.rb | 1 + instrumentation/rails/lib/opentelemetry/instrumentation/rails.rb | 1 + .../rails/opentelemetry-instrumentation-rails.gemspec | 1 + 3 files changed, 3 insertions(+) diff --git a/instrumentation/all/lib/opentelemetry/instrumentation/all.rb b/instrumentation/all/lib/opentelemetry/instrumentation/all.rb index 93fde7e84..7426060f6 100644 --- a/instrumentation/all/lib/opentelemetry/instrumentation/all.rb +++ b/instrumentation/all/lib/opentelemetry/instrumentation/all.rb @@ -11,6 +11,7 @@ require 'opentelemetry-instrumentation-active_job' require 'opentelemetry-instrumentation-active_record' require 'opentelemetry-instrumentation-action_view' +require 'opentelemetry-instrumentation-action_mailer' require 'opentelemetry-instrumentation-aws_sdk' require 'opentelemetry-instrumentation-bunny' require 'opentelemetry-instrumentation-lmdb' diff --git a/instrumentation/rails/lib/opentelemetry/instrumentation/rails.rb b/instrumentation/rails/lib/opentelemetry/instrumentation/rails.rb index ce8ee826b..f421f3a29 100644 --- a/instrumentation/rails/lib/opentelemetry/instrumentation/rails.rb +++ b/instrumentation/rails/lib/opentelemetry/instrumentation/rails.rb @@ -18,6 +18,7 @@ module Rails require 'opentelemetry-instrumentation-action_pack' require 'opentelemetry-instrumentation-active_support' require 'opentelemetry-instrumentation-action_view' +require 'opentelemetry-instrumentation-action_mailer' require 'opentelemetry-instrumentation-active_record' require_relative 'rails/instrumentation' require_relative 'rails/version' diff --git a/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec b/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec index 6a97e5bb7..33a50bcf0 100644 --- a/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec +++ b/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec @@ -26,6 +26,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' + spec.add_dependency 'opentelemetry-instrumentation-action_mailer', '~> 0.1.0' spec.add_dependency 'opentelemetry-instrumentation-action_pack', '~> 0.9.0' spec.add_dependency 'opentelemetry-instrumentation-action_view', '~> 0.7.0' spec.add_dependency 'opentelemetry-instrumentation-active_job', '~> 0.7.0' From d8e1d442dc5e341ecafca9f3b8e3d83c918a416b Mon Sep 17 00:00:00 2001 From: Xuan <112967240+xuan-cao-swi@users.noreply.github.com> Date: Wed, 22 May 2024 12:55:06 -0400 Subject: [PATCH 04/82] feat: add aws lambda to instrumentation-all (#986) fix: add aws lambda to instrumentation-all Co-authored-by: Kayla Reopelle (she/her) <87386821+kaylareopelle@users.noreply.github.com> --- instrumentation/all/lib/opentelemetry/instrumentation/all.rb | 1 + instrumentation/all/opentelemetry-instrumentation-all.gemspec | 1 + 2 files changed, 2 insertions(+) diff --git a/instrumentation/all/lib/opentelemetry/instrumentation/all.rb b/instrumentation/all/lib/opentelemetry/instrumentation/all.rb index 7426060f6..b53195678 100644 --- a/instrumentation/all/lib/opentelemetry/instrumentation/all.rb +++ b/instrumentation/all/lib/opentelemetry/instrumentation/all.rb @@ -13,6 +13,7 @@ require 'opentelemetry-instrumentation-action_view' require 'opentelemetry-instrumentation-action_mailer' require 'opentelemetry-instrumentation-aws_sdk' +require 'opentelemetry-instrumentation-aws_lambda' require 'opentelemetry-instrumentation-bunny' require 'opentelemetry-instrumentation-lmdb' require 'opentelemetry-instrumentation-http' diff --git a/instrumentation/all/opentelemetry-instrumentation-all.gemspec b/instrumentation/all/opentelemetry-instrumentation-all.gemspec index 09e3ca888..3e82a9aa5 100644 --- a/instrumentation/all/opentelemetry-instrumentation-all.gemspec +++ b/instrumentation/all/opentelemetry-instrumentation-all.gemspec @@ -27,6 +27,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-instrumentation-active_model_serializers', '~> 0.20.1' + spec.add_dependency 'opentelemetry-instrumentation-aws_lambda', '~> 0.1.0' spec.add_dependency 'opentelemetry-instrumentation-aws_sdk', '~> 0.5.0' spec.add_dependency 'opentelemetry-instrumentation-bunny', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-concurrent_ruby', '~> 0.21.1' From 38c22c6980cd770749ccb60da97dc107195f50ec Mon Sep 17 00:00:00 2001 From: "Kayla Reopelle (she/her)" <87386821+kaylareopelle@users.noreply.github.com> Date: Fri, 31 May 2024 05:44:37 -0700 Subject: [PATCH 05/82] chore: Update Rubocop to 1.64.0 (#997) * chore: Rubocop Style/SuperArguments * chore: Rubocop Style/RedundantParentheses * chore: Rubocop Style/RedundantFreeze Lint/SuppressedException * chore: Rubocop Layout/SpaceInsideHash * chore: Update Rubocop to 1.64.0 * chore: Rubocop Style/SuperArguments --- Gemfile | 2 +- helpers/mysql/opentelemetry-helpers-mysql.gemspec | 2 +- .../opentelemetry-helpers-sql-obfuscation.gemspec | 2 +- ...entelemetry-instrumentation-action_mailer.gemspec | 2 +- ...opentelemetry-instrumentation-action_pack.gemspec | 2 +- ...opentelemetry-instrumentation-action_view.gemspec | 2 +- .../opentelemetry-instrumentation-active_job.gemspec | 2 +- ...-instrumentation-active_model_serializers.gemspec | 2 +- .../patches/persistence_insert_class_methods.rb | 12 ++++++------ ...entelemetry-instrumentation-active_record.gemspec | 2 +- ...ntelemetry-instrumentation-active_support.gemspec | 2 +- .../all/opentelemetry-instrumentation-all.gemspec | 2 +- .../instrumentation/aws_lambda/instrumentation.rb | 2 +- .../opentelemetry-instrumentation-aws_lambda.gemspec | 2 +- .../opentelemetry-instrumentation-aws_sdk.gemspec | 2 +- .../base/opentelemetry-instrumentation-base.gemspec | 2 +- .../instrumentation/bunny/patches/channel.rb | 2 +- .../opentelemetry-instrumentation-bunny.gemspec | 2 +- ...telemetry-instrumentation-concurrent_ruby.gemspec | 2 +- .../opentelemetry-instrumentation-dalli.gemspec | 2 +- ...opentelemetry-instrumentation-delayed_job.gemspec | 2 +- .../opentelemetry-instrumentation-ethon.gemspec | 2 +- .../opentelemetry-instrumentation-excon.gemspec | 2 +- .../opentelemetry-instrumentation-faraday.gemspec | 2 +- .../opentelemetry-instrumentation-grape.gemspec | 2 +- .../opentelemetry-instrumentation-graphql.gemspec | 2 +- .../gruf/opentelemetry-instrumentation-gruf.gemspec | 2 +- .../http/opentelemetry-instrumentation-http.gemspec | 2 +- ...opentelemetry-instrumentation-http_client.gemspec | 2 +- .../opentelemetry-instrumentation-httpx.gemspec | 2 +- .../opentelemetry-instrumentation-koala.gemspec | 2 +- .../lmdb/opentelemetry-instrumentation-lmdb.gemspec | 2 +- .../opentelemetry-instrumentation-mongo.gemspec | 2 +- .../instrumentation/mysql2/patches/client.rb | 4 ++-- .../opentelemetry-instrumentation-mysql2.gemspec | 2 +- .../net/http/patches/instrumentation.rb | 6 +++--- .../opentelemetry-instrumentation-net_http.gemspec | 2 +- .../pg/opentelemetry-instrumentation-pg.gemspec | 2 +- .../instrumentation/que/patches/poller.rb | 4 ++-- .../que/opentelemetry-instrumentation-que.gemspec | 2 +- .../opentelemetry-instrumentation-racecar.gemspec | 2 +- .../instrumentation/rack/instrumentation.rb | 2 +- .../rack/opentelemetry-instrumentation-rack.gemspec | 2 +- .../opentelemetry-instrumentation-rails.gemspec | 2 +- .../rake/opentelemetry-instrumentation-rake.gemspec | 2 +- .../opentelemetry-instrumentation-rdkafka.gemspec | 2 +- .../instrumentation/redis/patches/redis_v4_client.rb | 2 +- .../opentelemetry-instrumentation-redis.gemspec | 2 +- .../opentelemetry-instrumentation-resque.gemspec | 2 +- .../instrumentation/restclient/patches/request.rb | 2 +- .../opentelemetry-instrumentation-restclient.gemspec | 2 +- .../opentelemetry-instrumentation-rspec.gemspec | 2 +- .../opentelemetry-instrumentation-ruby_kafka.gemspec | 2 +- .../opentelemetry-instrumentation-sidekiq.gemspec | 2 +- .../opentelemetry-instrumentation-sinatra.gemspec | 2 +- .../instrumentation/trilogy/patches/client.rb | 2 +- .../opentelemetry-instrumentation-trilogy.gemspec | 2 +- .../baggage/opentelemetry-processor-baggage.gemspec | 2 +- .../ottrace/opentelemetry-propagator-ottrace.gemspec | 2 +- .../propagator/vitess/sql_query_propagator.rb | 4 ++-- .../vitess/opentelemetry-propagator-vitess.gemspec | 2 +- .../propagator/vitess/sql_query_propagator_test.rb | 2 +- .../xray/opentelemetry-propagator-xray.gemspec | 2 +- .../opentelemetry-resource-detector-azure.gemspec | 2 +- ...opentelemetry-resource-detector-container.gemspec | 2 +- ...y-resource-detector-google_cloud_platform.gemspec | 2 +- 66 files changed, 76 insertions(+), 76 deletions(-) diff --git a/Gemfile b/Gemfile index 4e53eb8d0..bbd1188ad 100644 --- a/Gemfile +++ b/Gemfile @@ -7,5 +7,5 @@ source 'https://rubygems.org' gem 'rake', '~> 13.0' -gem 'rubocop', '~> 1.62' +gem 'rubocop', '~> 1.64.0' gem 'rubocop-performance', '~> 1.21.0' diff --git a/helpers/mysql/opentelemetry-helpers-mysql.gemspec b/helpers/mysql/opentelemetry-helpers-mysql.gemspec index afa78c3ed..0635634c8 100644 --- a/helpers/mysql/opentelemetry-helpers-mysql.gemspec +++ b/helpers/mysql/opentelemetry-helpers-mysql.gemspec @@ -32,7 +32,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.21.0' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec b/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec index ab7c31959..274324dbb 100644 --- a/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec +++ b/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.21.0' spec.add_development_dependency 'yard', '~> 0.9' spec.add_development_dependency 'yard-doctest', '~> 0.1.6' diff --git a/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec b/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec index 227bf6e36..74308531b 100644 --- a/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec +++ b/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.60.1' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec b/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec index b4a54a6f9..e47b4aaaf 100644 --- a/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec +++ b/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rails', '>= 6.1' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec index db6725158..737fd963c 100644 --- a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec +++ b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rails', '>= 6.1' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec b/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec index 62860e930..44ab428fc 100644 --- a/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec +++ b/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec b/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec index a042e4c5d..e5c99a191 100644 --- a/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec +++ b/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/patches/persistence_insert_class_methods.rb b/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/patches/persistence_insert_class_methods.rb index 6354ee0be..8472feafe 100644 --- a/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/patches/persistence_insert_class_methods.rb +++ b/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/patches/persistence_insert_class_methods.rb @@ -20,37 +20,37 @@ class << base module ClassMethods ruby2_keywords def insert(*args) tracer.in_span("#{self}.insert") do - super(*args) + super end end ruby2_keywords def insert_all(*args) tracer.in_span("#{self}.insert_all") do - super(*args) + super end end ruby2_keywords def insert!(*args) tracer.in_span("#{self}.insert!") do - super(*args) + super end end ruby2_keywords def insert_all!(*args) tracer.in_span("#{self}.insert_all!") do - super(*args) + super end end ruby2_keywords def upsert(*args) tracer.in_span("#{self}.upsert") do - super(*args) + super end end ruby2_keywords def upsert_all(*args) tracer.in_span("#{self}.upsert_all") do - super(*args) + super end end diff --git a/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec b/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec index da9795e6b..1e38841c2 100644 --- a/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec +++ b/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec b/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec index 5770365a1..8b6b68faf 100644 --- a/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec +++ b/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec @@ -38,7 +38,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry-byebug' spec.add_development_dependency 'rails', '>= 6.1' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/all/opentelemetry-instrumentation-all.gemspec b/instrumentation/all/opentelemetry-instrumentation-all.gemspec index 3e82a9aa5..d461f5e83 100644 --- a/instrumentation/all/opentelemetry-instrumentation-all.gemspec +++ b/instrumentation/all/opentelemetry-instrumentation-all.gemspec @@ -66,7 +66,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/instrumentation.rb b/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/instrumentation.rb index 62f25aee5..08566cac8 100644 --- a/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/instrumentation.rb +++ b/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/instrumentation.rb @@ -15,7 +15,7 @@ class Instrumentation < OpenTelemetry::Instrumentation::Base # determine if current environment is lambda by checking _HANLDER or ORIG_HANDLER present do - (ENV.key?('_HANDLER') || ENV.key?('ORIG_HANDLER')) + ENV.key?('_HANDLER') || ENV.key?('ORIG_HANDLER') end private diff --git a/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec b/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec index 972f1ee70..dedd36693 100644 --- a/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec +++ b/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.56.1' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.19.1' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec b/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec index d94b5fd1d..609cfbe56 100644 --- a/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec +++ b/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/base/opentelemetry-instrumentation-base.gemspec b/instrumentation/base/opentelemetry-instrumentation-base.gemspec index 7ab8d25ed..62753b9ad 100644 --- a/instrumentation/base/opentelemetry-instrumentation-base.gemspec +++ b/instrumentation/base/opentelemetry-instrumentation-base.gemspec @@ -32,7 +32,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/bunny/lib/opentelemetry/instrumentation/bunny/patches/channel.rb b/instrumentation/bunny/lib/opentelemetry/instrumentation/bunny/patches/channel.rb index 4f75ace1a..1435ad4ae 100644 --- a/instrumentation/bunny/lib/opentelemetry/instrumentation/bunny/patches/channel.rb +++ b/instrumentation/bunny/lib/opentelemetry/instrumentation/bunny/patches/channel.rb @@ -28,7 +28,7 @@ def basic_publish(payload, exchange, routing_key, opts = {}) OpenTelemetry::Instrumentation::Bunny::PatchHelpers.with_send_span(self, tracer, exchange, routing_key) do OpenTelemetry::Instrumentation::Bunny::PatchHelpers.inject_context_into_property(opts, :headers) - super(payload, exchange, routing_key, opts) + super end end diff --git a/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec b/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec index 9947e694e..1bcb9c826 100644 --- a/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec +++ b/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec b/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec index 49acf9bf8..d4aec4ec1 100644 --- a/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec +++ b/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec b/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec index daede6d14..eec02d53e 100644 --- a/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec +++ b/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec b/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec index 79e1048ea..111cea40d 100644 --- a/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec +++ b/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'sqlite3' diff --git a/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec b/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec index c0ab94171..b1e0c911c 100644 --- a/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec +++ b/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec b/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec index 1921c50c5..f4ef1c778 100644 --- a/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec +++ b/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec b/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec index 41aa04b68..57cd82629 100644 --- a/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec +++ b/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec b/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec index ef438aed7..8d194aa6d 100644 --- a/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec +++ b/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec @@ -38,7 +38,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rack-test' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec b/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec index 508a8a800..061c34518 100644 --- a/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec +++ b/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec b/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec index e6294067f..f1c494593 100644 --- a/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec +++ b/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.0' spec.add_development_dependency 'opentelemetry-test-helpers' spec.add_development_dependency 'rake', '~> 12.3.3' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/http/opentelemetry-instrumentation-http.gemspec b/instrumentation/http/opentelemetry-instrumentation-http.gemspec index 979719a9a..68f6bad7e 100644 --- a/instrumentation/http/opentelemetry-instrumentation-http.gemspec +++ b/instrumentation/http/opentelemetry-instrumentation-http.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec b/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec index 50996ac35..13d2ce572 100644 --- a/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec +++ b/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec b/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec index 358f85a2b..9d7858466 100644 --- a/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec +++ b/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec b/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec index 561ad7a86..9b10f5568 100644 --- a/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec +++ b/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec b/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec index 51ed47f00..d91e80267 100644 --- a/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec +++ b/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec b/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec index 4efee70ab..92e49d180 100644 --- a/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec +++ b/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/patches/client.rb b/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/patches/client.rb index eca0e4d9f..c9dbdaddd 100644 --- a/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/patches/client.rb +++ b/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/patches/client.rb @@ -19,7 +19,7 @@ def query(sql, options = {}) attributes: _otel_span_attributes(sql), kind: :client ) do - super(sql, options) + super end end @@ -29,7 +29,7 @@ def prepare(sql) attributes: _otel_span_attributes(sql), kind: :client ) do - super(sql) + super end end diff --git a/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec b/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec index d8dae91b9..50069b04f 100644 --- a/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec +++ b/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec @@ -37,7 +37,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/patches/instrumentation.rb b/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/patches/instrumentation.rb index 2edcc2274..725d4c546 100644 --- a/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/patches/instrumentation.rb +++ b/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/patches/instrumentation.rb @@ -16,9 +16,9 @@ module Instrumentation def request(req, body = nil, &block) # Do not trace recursive call for starting the connection - return super(req, body, &block) unless started? + return super unless started? - return super(req, body, &block) if untraced? + return super if untraced? attributes = { OpenTelemetry::SemanticConventions::Trace::HTTP_METHOD => req.method, @@ -35,7 +35,7 @@ def request(req, body = nil, &block) ) do |span| OpenTelemetry.propagation.inject(req) - super(req, body, &block).tap do |response| + super.tap do |response| annotate_span_with_response!(span, response) end end diff --git a/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec b/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec index 1df1dcf52..fec9d2393 100644 --- a/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec +++ b/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0.1' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec b/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec index b391b2fc9..1b6cd3389 100644 --- a/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec +++ b/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec @@ -37,7 +37,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/que/lib/opentelemetry/instrumentation/que/patches/poller.rb b/instrumentation/que/lib/opentelemetry/instrumentation/que/patches/poller.rb index c2786e2e2..b4681b3b6 100644 --- a/instrumentation/que/lib/opentelemetry/instrumentation/que/patches/poller.rb +++ b/instrumentation/que/lib/opentelemetry/instrumentation/que/patches/poller.rb @@ -17,9 +17,9 @@ def poll(*args, **kwargs) return unless should_poll? if Que::Instrumentation.instance.config[:trace_poller] - Que::Instrumentation.instance.tracer.in_span('Que::Poller#poll') { super(*args, **kwargs) } + Que::Instrumentation.instance.tracer.in_span('Que::Poller#poll') { super } else - OpenTelemetry::Common::Utilities.untraced { super(*args, **kwargs) } + OpenTelemetry::Common::Utilities.untraced { super } end end end diff --git a/instrumentation/que/opentelemetry-instrumentation-que.gemspec b/instrumentation/que/opentelemetry-instrumentation-que.gemspec index d3c5f7dd9..d0e13a240 100644 --- a/instrumentation/que/opentelemetry-instrumentation-que.gemspec +++ b/instrumentation/que/opentelemetry-instrumentation-que.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec b/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec index f5fc628b2..d238fe84f 100644 --- a/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec +++ b/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rack/lib/opentelemetry/instrumentation/rack/instrumentation.rb b/instrumentation/rack/lib/opentelemetry/instrumentation/rack/instrumentation.rb index 91e1f9f33..3bfb68a3c 100644 --- a/instrumentation/rack/lib/opentelemetry/instrumentation/rack/instrumentation.rb +++ b/instrumentation/rack/lib/opentelemetry/instrumentation/rack/instrumentation.rb @@ -55,7 +55,7 @@ def require_dependencies end def config_options(user_config) - config = super(user_config) + config = super config[:allowed_rack_request_headers] = config[:allowed_request_headers].compact.each_with_object({}) do |header, memo| key = header.to_s.upcase.gsub(/[-\s]/, '_') case key diff --git a/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec b/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec index 3add31a61..bce62dfb8 100644 --- a/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec +++ b/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec @@ -37,7 +37,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec b/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec index 33a50bcf0..039546872 100644 --- a/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec +++ b/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec @@ -41,7 +41,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rack-test', '~> 2.1.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec b/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec index 43050c695..b689c8fce 100644 --- a/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec +++ b/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec b/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec index 0e99ce549..5995f3d4f 100644 --- a/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec +++ b/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/redis/lib/opentelemetry/instrumentation/redis/patches/redis_v4_client.rb b/instrumentation/redis/lib/opentelemetry/instrumentation/redis/patches/redis_v4_client.rb index 5cf32ec1a..6bd473c09 100644 --- a/instrumentation/redis/lib/opentelemetry/instrumentation/redis/patches/redis_v4_client.rb +++ b/instrumentation/redis/lib/opentelemetry/instrumentation/redis/patches/redis_v4_client.rb @@ -43,7 +43,7 @@ def process(commands) end instrumentation_tracer.in_span(span_name, attributes: attributes, kind: :client) do |s| - super(commands).tap do |reply| + super.tap do |reply| if reply.is_a?(::Redis::CommandError) s.record_exception(reply) s.status = Trace::Status.error(reply.message) diff --git a/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec b/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec index 5aab9d961..e4ae49193 100644 --- a/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec +++ b/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec b/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec index 7c0904212..0978cb188 100644 --- a/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec +++ b/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/patches/request.rb b/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/patches/request.rb index 7ba48061b..afb2fdf11 100644 --- a/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/patches/request.rb +++ b/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/patches/request.rb @@ -12,7 +12,7 @@ module Patches module Request def execute(&block) trace_request do |_span| - super(&block) + super end end diff --git a/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec b/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec index cf5a00531..d192d6150 100644 --- a/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec +++ b/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec b/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec index e4c2d37cb..375f55166 100644 --- a/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec +++ b/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec b/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec index ee61abdd5..9d5e2502a 100644 --- a/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec +++ b/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec b/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec index dd23a0e7e..daf1a5cbd 100644 --- a/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec +++ b/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec b/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec index df089208a..06dfd9b20 100644 --- a/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec +++ b/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rack-test', '~> 2.1' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/trilogy/lib/opentelemetry/instrumentation/trilogy/patches/client.rb b/instrumentation/trilogy/lib/opentelemetry/instrumentation/trilogy/patches/client.rb index d5e93e7a8..8f15dd89d 100644 --- a/instrumentation/trilogy/lib/opentelemetry/instrumentation/trilogy/patches/client.rb +++ b/instrumentation/trilogy/lib/opentelemetry/instrumentation/trilogy/patches/client.rb @@ -58,7 +58,7 @@ def query(sql) propagator.inject(sql, context: context) end - super(sql) + super end end diff --git a/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec b/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec index 7d2639cb9..2e7bac304 100644 --- a/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec +++ b/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec @@ -41,7 +41,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/processor/baggage/opentelemetry-processor-baggage.gemspec b/processor/baggage/opentelemetry-processor-baggage.gemspec index adaaf13be..0a1950fb3 100644 --- a/processor/baggage/opentelemetry-processor-baggage.gemspec +++ b/processor/baggage/opentelemetry-processor-baggage.gemspec @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec b/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec index 945c2dad4..ca10be3e1 100644 --- a/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec +++ b/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec @@ -28,7 +28,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/vitess/lib/opentelemetry/propagator/vitess/sql_query_propagator.rb b/propagator/vitess/lib/opentelemetry/propagator/vitess/sql_query_propagator.rb index 26265ab0b..10133c434 100644 --- a/propagator/vitess/lib/opentelemetry/propagator/vitess/sql_query_propagator.rb +++ b/propagator/vitess/lib/opentelemetry/propagator/vitess/sql_query_propagator.rb @@ -27,14 +27,14 @@ module SqlQuerySetter # @param [String] value The value to set def set(carrier, key, value) carrier.gsub!(/\A/, "/*#{key}=#{value}*/") - rescue FrozenError + rescue FrozenError # rubocop:disable Lint/SuppressedException end end # Propagates context using Vitess header format: # https://vitess.io/docs/16.0/user-guides/configuration-advanced/tracing/#instrumenting-queries class SqlQueryPropagator - VT_SPAN_CONTEXT = 'VT_SPAN_CONTEXT'.freeze + VT_SPAN_CONTEXT = 'VT_SPAN_CONTEXT' FIELDS = [VT_SPAN_CONTEXT].freeze private_constant :VT_SPAN_CONTEXT, :FIELDS diff --git a/propagator/vitess/opentelemetry-propagator-vitess.gemspec b/propagator/vitess/opentelemetry-propagator-vitess.gemspec index c327f5254..8894b5816 100644 --- a/propagator/vitess/opentelemetry-propagator-vitess.gemspec +++ b/propagator/vitess/opentelemetry-propagator-vitess.gemspec @@ -29,7 +29,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/vitess/test/opentelemetry/propagator/vitess/sql_query_propagator_test.rb b/propagator/vitess/test/opentelemetry/propagator/vitess/sql_query_propagator_test.rb index 3e6ac776c..cc46cbec0 100644 --- a/propagator/vitess/test/opentelemetry/propagator/vitess/sql_query_propagator_test.rb +++ b/propagator/vitess/test/opentelemetry/propagator/vitess/sql_query_propagator_test.rb @@ -40,7 +40,7 @@ end let(:base64_encoded_jaeger_context) do - Base64.strict_encode64({'uber-trace-id' => "#{trace_id}:#{span_id}:0:#{trace_flags.sampled? ? 1 : 0}"}.to_json) + Base64.strict_encode64({ 'uber-trace-id' => "#{trace_id}:#{span_id}:0:#{trace_flags.sampled? ? 1 : 0}" }.to_json) end let(:carrier) do diff --git a/propagator/xray/opentelemetry-propagator-xray.gemspec b/propagator/xray/opentelemetry-propagator-xray.gemspec index 66a34b55d..6ad021a6e 100644 --- a/propagator/xray/opentelemetry-propagator-xray.gemspec +++ b/propagator/xray/opentelemetry-propagator-xray.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/resources/azure/opentelemetry-resource-detector-azure.gemspec b/resources/azure/opentelemetry-resource-detector-azure.gemspec index e87fa3510..823972833 100644 --- a/resources/azure/opentelemetry-resource-detector-azure.gemspec +++ b/resources/azure/opentelemetry-resource-detector-azure.gemspec @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'webmock', '~> 3.23.0' diff --git a/resources/container/opentelemetry-resource-detector-container.gemspec b/resources/container/opentelemetry-resource-detector-container.gemspec index 8a87e456a..e7f0abcea 100644 --- a/resources/container/opentelemetry-resource-detector-container.gemspec +++ b/resources/container/opentelemetry-resource-detector-container.gemspec @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec b/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec index 23fd482b5..51cebccc9 100644 --- a/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec +++ b/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.62' + spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'webmock', '~> 3.23.0' From af4f2406114f778994a1d87b8b5b9c8c4ca3cc18 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 31 May 2024 12:35:10 -0500 Subject: [PATCH 06/82] chore: bump ruby/setup-ruby from 1.176.0 to 1.178.0 (#996) * chore: bump ruby/setup-ruby from 1.176.0 to 1.178.0 Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.176.0 to 1.178.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/v1.176.0...v1.178.0) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * squash: bump reusable test action --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ariel Valentin --- .github/actions/test_gem/action.yml | 2 +- .github/workflows/installation-tests.yml | 4 +++- .github/workflows/release-hook-on-closed.yml | 2 +- .github/workflows/release-hook-on-push.yml | 2 +- .github/workflows/release-perform.yml | 2 +- .github/workflows/release-please.yaml | 2 +- .github/workflows/release-request-weekly.yml | 2 +- .github/workflows/release-request.yml | 2 +- .github/workflows/release-retry.yml | 2 +- 9 files changed, 11 insertions(+), 9 deletions(-) diff --git a/.github/actions/test_gem/action.yml b/.github/actions/test_gem/action.yml index f479cd697..473891f30 100644 --- a/.github/actions/test_gem/action.yml +++ b/.github/actions/test_gem/action.yml @@ -66,7 +66,7 @@ runs: # ...but not for appraisals, sadly. - name: Install Ruby ${{ inputs.ruby }} with dependencies if: "${{ steps.setup.outputs.appraisals == 'false' }}" - uses: ruby/setup-ruby@v1.176.0 + uses: ruby/setup-ruby@v1.178.0 with: ruby-version: "${{ inputs.ruby }}" working-directory: "${{ steps.setup.outputs.gem_dir }}" diff --git a/.github/workflows/installation-tests.yml b/.github/workflows/installation-tests.yml index 280b6e743..8ab8deb43 100644 --- a/.github/workflows/installation-tests.yml +++ b/.github/workflows/installation-tests.yml @@ -23,7 +23,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - - uses: ruby/setup-ruby@v1.176.0 + # ATTENTION: Dependabot does not know how to update shared actions file. + # If you see it update setup-ruby here also update it as part of actions/test_gem/action.yml + - uses: ruby/setup-ruby@v1.178.0 with: ruby-version: ${{ matrix.ruby-version }} - name: "Install Latest Gem Versions on ${{ matrix.ruby-version }}" diff --git a/.github/workflows/release-hook-on-closed.yml b/.github/workflows/release-hook-on-closed.yml index dcb11de79..047d64443 100644 --- a/.github/workflows/release-hook-on-closed.yml +++ b/.github/workflows/release-hook-on-closed.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.176.0 + uses: ruby/setup-ruby@v1.178.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-hook-on-push.yml b/.github/workflows/release-hook-on-push.yml index 3c56f7650..8bc24cbc2 100644 --- a/.github/workflows/release-hook-on-push.yml +++ b/.github/workflows/release-hook-on-push.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.176.0 + uses: ruby/setup-ruby@v1.178.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-perform.yml b/.github/workflows/release-perform.yml index f9ed945c0..584445ca2 100644 --- a/.github/workflows/release-perform.yml +++ b/.github/workflows/release-perform.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.176.0 + uses: ruby/setup-ruby@v1.178.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index 74f3f3a4b..e96a72857 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -48,7 +48,7 @@ jobs: chmod 0600 $HOME/.gem/credentials printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials - - uses: ruby/setup-ruby@v1.176.0 + - uses: ruby/setup-ruby@v1.178.0 with: ruby-version: "3.0" bundler: latest diff --git a/.github/workflows/release-request-weekly.yml b/.github/workflows/release-request-weekly.yml index c1e4b2465..282cfda37 100644 --- a/.github/workflows/release-request-weekly.yml +++ b/.github/workflows/release-request-weekly.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.176.0 + uses: ruby/setup-ruby@v1.178.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-request.yml b/.github/workflows/release-request.yml index 3547b055f..9a43e238c 100644 --- a/.github/workflows/release-request.yml +++ b/.github/workflows/release-request.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.176.0 + uses: ruby/setup-ruby@v1.178.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-retry.yml b/.github/workflows/release-retry.yml index 6641d698f..bb217c6dd 100644 --- a/.github/workflows/release-retry.yml +++ b/.github/workflows/release-retry.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.176.0 + uses: ruby/setup-ruby@v1.178.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo From b403d55610a5e4184626636788197c55dd4cb07c Mon Sep 17 00:00:00 2001 From: "Kayla Reopelle (she/her)" <87386821+kaylareopelle@users.noreply.github.com> Date: Mon, 3 Jun 2024 08:12:16 -0700 Subject: [PATCH 07/82] test: Add vitess to the propagators matrix (#998) --- .github/workflows/ci-contrib.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci-contrib.yml b/.github/workflows/ci-contrib.yml index f11bf4e30..5f7490cfa 100644 --- a/.github/workflows/ci-contrib.yml +++ b/.github/workflows/ci-contrib.yml @@ -61,6 +61,7 @@ jobs: matrix: gem: - ottrace + - vitess - xray os: - ubuntu-latest From 4357c96e36b734e14dec6c087b8996a4dd9894e7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 23:58:05 -0500 Subject: [PATCH 08/82] release: Release 2 gems (#1000) * release: Release 2 gems * opentelemetry-instrumentation-rails 0.30.2 (was 0.30.1) * opentelemetry-instrumentation-all 0.61.0 (was 0.60.0) * ci: Force --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Ariel Valentin --- instrumentation/all/CHANGELOG.md | 5 +++++ .../all/lib/opentelemetry/instrumentation/all/version.rb | 2 +- instrumentation/rails/CHANGELOG.md | 4 ++++ .../rails/lib/opentelemetry/instrumentation/rails/version.rb | 2 +- 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/instrumentation/all/CHANGELOG.md b/instrumentation/all/CHANGELOG.md index 8af4c8996..503c1ae3e 100644 --- a/instrumentation/all/CHANGELOG.md +++ b/instrumentation/all/CHANGELOG.md @@ -1,5 +1,10 @@ # Release History: opentelemetry-instrumentation-all +### v0.61.0 / 2024-06-04 + +* ADDED: Add aws lambda to instrumentation-all +* FIXED: Add action_mailer to rails and all + ### v0.60.0 / 2024-02-20 * ADDED: Add support gruf 2.19 diff --git a/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb b/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb index fab22c84e..3174770a5 100644 --- a/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb +++ b/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module All - VERSION = '0.60.0' + VERSION = '0.61.0' end end end diff --git a/instrumentation/rails/CHANGELOG.md b/instrumentation/rails/CHANGELOG.md index d675a1c6a..ce815236c 100644 --- a/instrumentation/rails/CHANGELOG.md +++ b/instrumentation/rails/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-rails +### v0.30.2 / 2024-06-04 + +* FIXED: Add action_mailer to rails and all + ### v0.30.1 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb b/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb index 9975f21a2..ace5badb9 100644 --- a/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb +++ b/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Rails - VERSION = '0.30.1' + VERSION = '0.30.2' end end end From b26017cd9402f2d9a788619e1ca0aa152ed83367 Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Tue, 11 Jun 2024 10:44:12 -0500 Subject: [PATCH 09/82] fix: Add net.peer.name to ethon (#1004) The ethon instrumentation did not include the `net.peer.name` attribute like other HTTP instrumentations and was not ported from ddtrace-rb: This attribute is important to GitHub because we base the `peer.service` extracting the subdomain and host information from `net.peer.name`. In order to avoid parsing the URL multiple times, I inlined the common gem `cleanse_url` function and plan to open a separate PR adding a feature to support returing URI objects instead of Strings. --- instrumentation/ethon/Appraisals | 8 +++---- .../instrumentation/ethon/patches/easy.rb | 21 +++++++++++++++++-- .../ethon/instrumentation_test.rb | 5 ++++- 3 files changed, 27 insertions(+), 7 deletions(-) diff --git a/instrumentation/ethon/Appraisals b/instrumentation/ethon/Appraisals index 137aed805..61520f97d 100644 --- a/instrumentation/ethon/Appraisals +++ b/instrumentation/ethon/Appraisals @@ -1,9 +1,9 @@ # frozen_string_literal: true -appraise 'ethon-0.12' do - gem 'ethon', '~> 0.12.0' +appraise 'ethon-0.16' do + gem 'ethon', '~> 0.16.0' end -appraise 'ethon-0.11' do - gem 'ethon', '~> 0.11.0' +appraise 'ethon-latest' do + gem 'ethon' end diff --git a/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/patches/easy.rb b/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/patches/easy.rb index 18b11dc51..74791818e 100644 --- a/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/patches/easy.rb +++ b/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/patches/easy.rb @@ -87,8 +87,11 @@ def span_creation_attributes(method) 'http.method' => method } - http_url = OpenTelemetry::Common::Utilities.cleanse_url(url) - instrumentation_attrs['http.url'] = http_url if http_url + uri = _otel_cleanse_uri(url) + if uri + instrumentation_attrs['http.url'] = uri.to_s + instrumentation_attrs['net.peer.name'] = uri.host if uri.host + end config = Ethon::Instrumentation.instance.config instrumentation_attrs['peer.service'] = config[:peer_service] if config[:peer_service] @@ -97,6 +100,20 @@ def span_creation_attributes(method) ) end + # Returns a URL string with userinfo removed. + # + # @param [String] url The URL string to cleanse. + # + # @return [String] the cleansed URL. + def _otel_cleanse_uri(url) + cleansed_url = URI.parse(url) + cleansed_url.password = nil + cleansed_url.user = nil + cleansed_url + rescue URI::Error + nil + end + def tracer Ethon::Instrumentation.instance.tracer end diff --git a/instrumentation/ethon/test/opentelemetry/instrumentation/ethon/instrumentation_test.rb b/instrumentation/ethon/test/opentelemetry/instrumentation/ethon/instrumentation_test.rb index 1c3a24035..e39779bf0 100644 --- a/instrumentation/ethon/test/opentelemetry/instrumentation/ethon/instrumentation_test.rb +++ b/instrumentation/ethon/test/opentelemetry/instrumentation/ethon/instrumentation_test.rb @@ -71,6 +71,7 @@ _(span.attributes['http.method']).must_equal 'N/A' _(span.attributes['http.status_code']).must_be_nil _(span.attributes['http.url']).must_equal 'http://example.com/test' + _(span.attributes['net.peer.name']).must_equal 'example.com' end end end @@ -275,8 +276,10 @@ def stub_response(options) multi.perform _(exporter.finished_spans.size).must_equal 2 - _(exporter.finished_spans[0].attributes['http.url']).must_equal nil + _(exporter.finished_spans[0].attributes['http.url']).must_be_nil + _(exporter.finished_spans[0].attributes['net.peer.name']).must_be_nil _(exporter.finished_spans[1].attributes['http.url']).must_equal 'test' + _(exporter.finished_spans[1].attributes['net.peer.name']).must_be_nil end end end From 57ca42b4eaaab7fd06c449716dc2e052223f0961 Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Tue, 11 Jun 2024 21:24:13 -0500 Subject: [PATCH 10/82] ci: Updates grape appraisals (#1006) Fixes https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues/1005 --- instrumentation/grape/Appraisals | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/instrumentation/grape/Appraisals b/instrumentation/grape/Appraisals index f12843271..0ada7ab1e 100644 --- a/instrumentation/grape/Appraisals +++ b/instrumentation/grape/Appraisals @@ -4,26 +4,15 @@ # # SPDX-License-Identifier: Apache-2.0 -appraise 'grape-1.2' do - gem 'grape', '~> 1.2' +appraise 'grape-1.x' do + gem 'rack', '~> 2.0' + gem 'grape', '~> 1.8' end -appraise 'grape-1.3' do - gem 'grape', '~> 1.3' +appraise 'grape-2.0.x' do + gem 'grape', '~> 2.0.0' end -appraise 'grape-1.4' do - gem 'grape', '~> 1.4' -end - -appraise 'grape-1.5' do - gem 'grape', '~> 1.5' -end - -appraise 'grape-1.6' do - gem 'grape', '~> 1.6' -end - -appraise 'grape-1.7' do - gem 'grape', '~> 1.7' +appraise 'grape-latest' do + gem 'grape' end From 2230403871a9ee5ed9bac4fc6a7205b7d0876cd8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 22:11:02 -0500 Subject: [PATCH 11/82] release: Release opentelemetry-instrumentation-ethon 0.21.6 (was 0.21.5) (#1008) * release: Release opentelemetry-instrumentation-ethon 0.21.6 (was 0.21.5) * ci: Force --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Ariel Valentin --- instrumentation/ethon/CHANGELOG.md | 4 ++++ .../ethon/lib/opentelemetry/instrumentation/ethon/version.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/instrumentation/ethon/CHANGELOG.md b/instrumentation/ethon/CHANGELOG.md index 35f7b1a85..160a95104 100644 --- a/instrumentation/ethon/CHANGELOG.md +++ b/instrumentation/ethon/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-ethon +### v0.21.6 / 2024-06-12 + +* FIXED: Add net.peer.name to ethon + ### v0.21.5 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb b/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb index e62d8793b..1b74051bf 100644 --- a/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb +++ b/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Ethon - VERSION = '0.21.5' + VERSION = '0.21.6' end end end From 3f46e7a57244b5c7dae1598e3b47cc417c9bdbec Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Sun, 16 Jun 2024 10:58:25 -0500 Subject: [PATCH 12/82] test: Fix grape test suite (#1017) `builder` was removed as a dependency to `grape` but is used by active support in some versions. See ruby-grape/grape#2443 See ruby-grape/grape#2445 Fixes https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues/1015 --- instrumentation/grape/Gemfile | 1 + 1 file changed, 1 insertion(+) diff --git a/instrumentation/grape/Gemfile b/instrumentation/grape/Gemfile index ed1ec924e..a97f3cccf 100644 --- a/instrumentation/grape/Gemfile +++ b/instrumentation/grape/Gemfile @@ -15,4 +15,5 @@ gemspec group :test do gem 'opentelemetry-instrumentation-base', path: '../base' gem 'opentelemetry-instrumentation-rack', path: '../rack' + gem 'builder' end From 260d3ea3236c9a7ed0d8a0283239d8439a91944a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jun 2024 11:26:37 -0500 Subject: [PATCH 13/82] chore: bump ruby/setup-ruby from 1.178.0 to 1.180.0 (#1009) * chore: bump ruby/setup-ruby from 1.178.0 to 1.180.0 Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.178.0 to 1.180.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/v1.178.0...v1.180.0) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * squash: update ruby tests --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ariel Valentin Co-authored-by: Ariel Valentin --- .github/actions/test_gem/action.yml | 4 ++-- .github/workflows/installation-tests.yml | 2 +- .github/workflows/release-hook-on-closed.yml | 2 +- .github/workflows/release-hook-on-push.yml | 2 +- .github/workflows/release-perform.yml | 2 +- .github/workflows/release-please.yaml | 2 +- .github/workflows/release-request-weekly.yml | 2 +- .github/workflows/release-request.yml | 2 +- .github/workflows/release-retry.yml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/actions/test_gem/action.yml b/.github/actions/test_gem/action.yml index 473891f30..003688865 100644 --- a/.github/actions/test_gem/action.yml +++ b/.github/actions/test_gem/action.yml @@ -66,7 +66,7 @@ runs: # ...but not for appraisals, sadly. - name: Install Ruby ${{ inputs.ruby }} with dependencies if: "${{ steps.setup.outputs.appraisals == 'false' }}" - uses: ruby/setup-ruby@v1.178.0 + uses: ruby/setup-ruby@v1.180.0 with: ruby-version: "${{ inputs.ruby }}" working-directory: "${{ steps.setup.outputs.gem_dir }}" @@ -77,7 +77,7 @@ runs: # If we're using appraisals, do it all manually. - name: Install Ruby ${{ inputs.ruby }} without dependencies if: "${{ steps.setup.outputs.appraisals == 'true' }}" - uses: ruby/setup-ruby@v1.176.0 + uses: ruby/setup-ruby@v1.180.0 with: ruby-version: "${{ inputs.ruby }}" bundler: "latest" diff --git a/.github/workflows/installation-tests.yml b/.github/workflows/installation-tests.yml index 8ab8deb43..85c10cee1 100644 --- a/.github/workflows/installation-tests.yml +++ b/.github/workflows/installation-tests.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@v4 # ATTENTION: Dependabot does not know how to update shared actions file. # If you see it update setup-ruby here also update it as part of actions/test_gem/action.yml - - uses: ruby/setup-ruby@v1.178.0 + - uses: ruby/setup-ruby@v1.180.0 with: ruby-version: ${{ matrix.ruby-version }} - name: "Install Latest Gem Versions on ${{ matrix.ruby-version }}" diff --git a/.github/workflows/release-hook-on-closed.yml b/.github/workflows/release-hook-on-closed.yml index 047d64443..d3cb1bf3b 100644 --- a/.github/workflows/release-hook-on-closed.yml +++ b/.github/workflows/release-hook-on-closed.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.178.0 + uses: ruby/setup-ruby@v1.180.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-hook-on-push.yml b/.github/workflows/release-hook-on-push.yml index 8bc24cbc2..9fd9680c7 100644 --- a/.github/workflows/release-hook-on-push.yml +++ b/.github/workflows/release-hook-on-push.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.178.0 + uses: ruby/setup-ruby@v1.180.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-perform.yml b/.github/workflows/release-perform.yml index 584445ca2..40e102b83 100644 --- a/.github/workflows/release-perform.yml +++ b/.github/workflows/release-perform.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.178.0 + uses: ruby/setup-ruby@v1.180.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index e96a72857..b89859e8e 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -48,7 +48,7 @@ jobs: chmod 0600 $HOME/.gem/credentials printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials - - uses: ruby/setup-ruby@v1.178.0 + - uses: ruby/setup-ruby@v1.180.0 with: ruby-version: "3.0" bundler: latest diff --git a/.github/workflows/release-request-weekly.yml b/.github/workflows/release-request-weekly.yml index 282cfda37..3772062ae 100644 --- a/.github/workflows/release-request-weekly.yml +++ b/.github/workflows/release-request-weekly.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.178.0 + uses: ruby/setup-ruby@v1.180.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-request.yml b/.github/workflows/release-request.yml index 9a43e238c..cae10dd14 100644 --- a/.github/workflows/release-request.yml +++ b/.github/workflows/release-request.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.178.0 + uses: ruby/setup-ruby@v1.180.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-retry.yml b/.github/workflows/release-retry.yml index bb217c6dd..4a0a25008 100644 --- a/.github/workflows/release-retry.yml +++ b/.github/workflows/release-retry.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.178.0 + uses: ruby/setup-ruby@v1.180.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo From 9478b7e03119b0b0436b53af231d3dc919424b47 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 16 Jun 2024 12:33:01 -0500 Subject: [PATCH 14/82] chore: bump googleapis/release-please-action from 4.1.1 to 4.1.3 (#1003) Bumps [googleapis/release-please-action](https://github.com/googleapis/release-please-action) from 4.1.1 to 4.1.3. - [Release notes](https://github.com/googleapis/release-please-action/releases) - [Changelog](https://github.com/googleapis/release-please-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/googleapis/release-please-action/compare/v4.1.1...v4.1.3) --- updated-dependencies: - dependency-name: googleapis/release-please-action dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ariel Valentin --- .github/workflows/release-please.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index b89859e8e..21b77bc56 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -17,7 +17,7 @@ jobs: name: Process Release runs-on: ubuntu-latest steps: - - uses: googleapis/release-please-action@v4.1.1 + - uses: googleapis/release-please-action@v4.1.3 id: prepare outputs: From 99c38596d1959e4d4328760ef4d0b4f73395ebf7 Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Sun, 16 Jun 2024 12:35:13 -0500 Subject: [PATCH 15/82] fix: Relax otel common gem constraints (#1007) Rolling out changes to opentelemetry-common is made difficult because many of the instrumentation gems that rely on it have to all receive minor version bumps. Relaxing constraints allows for individual instrumentations to be able to use new features in the common gem without requiring a minor dependency bump of unrelated instrumentations that share that dependency. --- helpers/mysql/opentelemetry-helpers-mysql.gemspec | 2 +- .../opentelemetry-helpers-sql-obfuscation.gemspec | 2 +- instrumentation/base/opentelemetry-instrumentation-base.gemspec | 1 + .../dalli/opentelemetry-instrumentation-dalli.gemspec | 1 - .../ethon/opentelemetry-instrumentation-ethon.gemspec | 1 - .../excon/opentelemetry-instrumentation-excon.gemspec | 1 - .../faraday/opentelemetry-instrumentation-faraday.gemspec | 1 - .../opentelemetry-instrumentation-http_client.gemspec | 1 - .../koala/opentelemetry-instrumentation-koala.gemspec | 1 - .../net_http/opentelemetry-instrumentation-net_http.gemspec | 1 - instrumentation/rack/opentelemetry-instrumentation-rack.gemspec | 1 - .../rdkafka/opentelemetry-instrumentation-rdkafka.gemspec | 1 - .../redis/opentelemetry-instrumentation-redis.gemspec | 1 - .../restclient/opentelemetry-instrumentation-restclient.gemspec | 1 - .../sidekiq/opentelemetry-instrumentation-sidekiq.gemspec | 1 - .../sinatra/opentelemetry-instrumentation-sinatra.gemspec | 1 - 16 files changed, 3 insertions(+), 15 deletions(-) diff --git a/helpers/mysql/opentelemetry-helpers-mysql.gemspec b/helpers/mysql/opentelemetry-helpers-mysql.gemspec index 0635634c8..1c18e0fe8 100644 --- a/helpers/mysql/opentelemetry-helpers-mysql.gemspec +++ b/helpers/mysql/opentelemetry-helpers-mysql.gemspec @@ -26,7 +26,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.20' + spec.add_dependency 'opentelemetry-common', '~> 0.21' spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' diff --git a/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec b/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec index 274324dbb..5143fc7d6 100644 --- a/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec +++ b/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec @@ -25,7 +25,7 @@ Gem::Specification.new do |spec| spec.require_paths = ['lib'] spec.required_ruby_version = '>= 3.0' - spec.add_dependency 'opentelemetry-common', '~> 0.20' + spec.add_dependency 'opentelemetry-common', '~> 0.21' spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' diff --git a/instrumentation/base/opentelemetry-instrumentation-base.gemspec b/instrumentation/base/opentelemetry-instrumentation-base.gemspec index 62753b9ad..25e2a83c8 100644 --- a/instrumentation/base/opentelemetry-instrumentation-base.gemspec +++ b/instrumentation/base/opentelemetry-instrumentation-base.gemspec @@ -26,6 +26,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' + spec.add_dependency 'opentelemetry-common', '~> 0.21' spec.add_dependency 'opentelemetry-registry', '~> 0.1' spec.add_development_dependency 'bundler', '~> 2.4' diff --git a/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec b/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec index eec02d53e..19317f687 100644 --- a/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec +++ b/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' diff --git a/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec b/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec index b1e0c911c..002bcef71 100644 --- a/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec +++ b/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' diff --git a/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec b/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec index f4ef1c778..ce3de4604 100644 --- a/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec +++ b/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' diff --git a/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec b/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec index 57cd82629..ecea6f673 100644 --- a/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec +++ b/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' diff --git a/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec b/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec index 13d2ce572..d393f10e0 100644 --- a/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec +++ b/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' diff --git a/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec b/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec index 9b10f5568..708f34484 100644 --- a/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec +++ b/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' diff --git a/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec b/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec index fec9d2393..8352bcf70 100644 --- a/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec +++ b/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'bundler', '~> 2.4' diff --git a/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec b/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec index bce62dfb8..6381e7f71 100644 --- a/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec +++ b/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' diff --git a/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec b/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec index 5995f3d4f..afd16cdf0 100644 --- a/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec +++ b/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' diff --git a/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec b/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec index e4ae49193..811f3e09f 100644 --- a/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec +++ b/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' diff --git a/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec b/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec index d192d6150..41d031184 100644 --- a/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec +++ b/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' diff --git a/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec b/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec index daf1a5cbd..7c1c4c184 100644 --- a/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec +++ b/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'activejob', '>= 6.0' diff --git a/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec b/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec index 06dfd9b20..20da3876f 100644 --- a/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec +++ b/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec @@ -26,7 +26,6 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-common', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_dependency 'opentelemetry-instrumentation-rack', '~> 0.21' From d80a9f36b51aeddfd9d01da6964846ed21bcdcaf Mon Sep 17 00:00:00 2001 From: Mike Goldsmith Date: Mon, 17 Jun 2024 14:28:11 +0100 Subject: [PATCH 16/82] feat!: Add baggage key predicate func to baggage span processor (#990) * update test to add multiple baggage items * add keyfilter constructor parameter * rework into regex * add regex example and test * move new setup & assertions to #on_start test block Co-authored-by: Mike Goldsmith * consistent start_with; no "starts" to confuse readers Co-authored-by: Mike Goldsmith * spec the new new method Co-authored-by: Mike Goldsmith * update doc comments with new usage * update README with new usage * bonus: convenience docker compose service for testing baggage processor * update description to indicate new baggage entries are not added to active span * fix whitespace --------- Co-authored-by: Robb Kidd --- docker-compose.yml | 6 ++ processor/baggage/README.md | 32 +++++++-- .../baggage/baggage_span_processor.rb | 56 ++++++++++++--- .../baggage/baggage_span_processor_test.rb | 71 ++++++++++++++++--- 4 files changed, 144 insertions(+), 21 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 0a42dd986..af815eabe 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -162,6 +162,12 @@ services: command: ./start_server.sh working_dir: /app/instrumentation/sinatra/example + processor-baggage-test: + <<: *base + working_dir: /app/processor/baggage + command: | + bash -c "bundle install && rake" + mongo: image: mongo:4.4 expose: diff --git a/processor/baggage/README.md b/processor/baggage/README.md index b880f1150..0c5bc8b93 100644 --- a/processor/baggage/README.md +++ b/processor/baggage/README.md @@ -2,7 +2,7 @@ This is an OpenTelemetry [span processor](https://opentelemetry.io/docs/specs/otel/trace/sdk/#span-processor) that reads key/values stored in [Baggage](https://opentelemetry.io/docs/specs/otel/baggage/api/) in the starting span's parent context and adds them as attributes to the span. -Keys and values added to Baggage will appear on all subsequent child spans for a trace within this service *and* will be propagated to external services via propagation headers. +Keys and values added to Baggage will appear on all subsequent child spans, not the current active span, for a trace within this service *and* will be propagated to external services via propagation headers. If the external services also have a Baggage span processor, the keys and values will appear in those child spans as well. ⚠️ Waning ⚠️ @@ -31,7 +31,7 @@ To install the instrumentation, add the gem to your Gemfile: gem 'opentelemetry-processor-baggage' ``` -Then add the processor to an SDK's configuration: +Then configure the span processor to copy all baggage entries: ```ruby require 'rubygems' @@ -40,8 +40,11 @@ require 'bundler/setup' Bundler.require OpenTelemetry::SDK.configure do |c| - # Add the BaggageSpanProcessor to the collection of span processors - c.add_span_processor(OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new) + # Add the BaggageSpanProcessor to the collection of span processors and + # copy all baggage entries + c.add_span_processor(OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new( + OpenTelemetry::Processor::Baggage::ALLOW_ALL_BAGGAGE_KEYS + )) # Because the span processor list is no longer empty, the SDK will not use the # values in OTEL_TRACES_EXPORTER to instantiate exporters. @@ -57,6 +60,27 @@ OpenTelemetry::SDK.configure do |c| end ``` +Alternatively, you can provide a custom baggage key predicate to select which baggage keys you want to copy. + +For example, to only copy baggage entries that start with `myapp.`: + +```ruby +OUR_BAGGAGE_KEY_PREFIX = 'myapp.'.freeze +OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new( + # a constant here improves performance + ->(baggage_key) { baggage_key.start_with?(OUR_BAGGAGE_KEY_PREFIX) } +) +``` + +For example, to only copy baggage entries that match `myapp.`, `myapp1.` and `myapp42.`: + +```ruby +OUR_BAGGAGE_KEY_MATCHER = /\Amyapp\d*\./ +OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new( + ->(baggage_key) { OUR_BAGGAGE_KEY_MATCHER.match?(baggage_key) } +) +``` + ## How can I get involved? The `opentelemetry-processor-baggage` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. diff --git a/processor/baggage/lib/opentelemetry/processor/baggage/baggage_span_processor.rb b/processor/baggage/lib/opentelemetry/processor/baggage/baggage_span_processor.rb index c5e840cec..9721f8517 100644 --- a/processor/baggage/lib/opentelemetry/processor/baggage/baggage_span_processor.rb +++ b/processor/baggage/lib/opentelemetry/processor/baggage/baggage_span_processor.rb @@ -10,13 +10,19 @@ module OpenTelemetry module Processor module Baggage + # A baggage key predicate that allows all keys to be added to the span as attributes. + ALLOW_ALL_BAGGAGE_KEYS = ->(_) { true } + # The BaggageSpanProcessor reads key/values stored in Baggage in the - # starting span's parent context and adds them as attributes to the span. + # starting span's parent context and adds them as attributes to the span, + # if a key matches a provided predicate lambda. + # + # Keys and values added to Baggage will appear on all subsequent child spans, + # not the current active span, for a trace within this service *and* will be + # propagated to external services via propagation headers. # - # Keys and values added to Baggage will appear on all subsequent child spans - # for a trace within this service *and* will be propagated to external services - # via propagation headers. If the external services also have a Baggage span - # processor, the keys and values will appear in those child spans as well. + # If the external services also have a Baggage span processor, the keys and + # values will appear in those child spans as well. # # ⚠️ # To repeat: a consequence of adding data to Baggage is that the keys and @@ -24,10 +30,16 @@ module Baggage # Do not put sensitive information in Baggage. # ⚠️ # - # @example + # @example Adding the BaggageSpanProcessor to the SDK, only add attributes for keys that start with 'myapp.' + # OUR_BAGGAGE_KEY_PREFIX = 'myapp.'.freeze + # # OpenTelemetry::SDK.configure do |c| # # Add the BaggageSpanProcessor to the collection of span processors - # c.add_span_processor(OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new) + # c.add_span_processor( + # OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new( + # ->(key) { key.start_with?(OUR_BAGGAGE_KEY_PREFIX) } # a constant here improves performance + # ) + # ) # # # Because the span processor list is no longer empty, the SDK will not use the # # values in OTEL_TRACES_EXPORTER to instantiate exporters. @@ -41,7 +53,31 @@ module Baggage # ) # ) # end + # + # @example Allow all Baggage keys to be added to the span as attributes + # OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new( + # # This processor provides a convenience predicate that allows all keys to be added as attributes. + # OpenTelemetry::Processor::Baggage::ALLOW_ALL_BAGGAGE_KEYS + # ) class BaggageSpanProcessor < OpenTelemetry::SDK::Trace::SpanProcessor + # Create a new BaggageSpanProcessor that reads Baggage keys and values from the parent context + # and adds them as attributes to the span. + # + # @param [lambda] baggage_key_predicate A lambda that takes a baggage key [String] and returns true if + # the key should be added to the span as an attribute, false otherwise. + # + # @example Only add attributes for keys that start with a specific prefix + # OUR_BAGGAGE_KEY_PREFIX = 'myapp.'.freeze + # OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new( + # ->(key) { key.start_with?(OUR_BAGGAGE_KEY_PREFIX) } # a constant here improves performance + # ) + def initialize(baggage_key_predicate) + raise ArgumentError, 'baggage_key_predicate must respond to :call (lambda/Proc)' unless baggage_key_predicate.respond_to?(:call) + + @baggage_key_predicate = baggage_key_predicate + super() + end + # Called when a `Span` is started, adds Baggage keys/values to the span as attributes. # # @param [Span] span the `Span` that just started, expected to conform @@ -51,7 +87,11 @@ class BaggageSpanProcessor < OpenTelemetry::SDK::Trace::SpanProcessor def on_start(span, parent_context) return unless span.respond_to?(:add_attributes) && parent_context.is_a?(::OpenTelemetry::Context) - span.add_attributes(::OpenTelemetry::Baggage.values(context: parent_context)) + span.add_attributes( + ::OpenTelemetry::Baggage + .values(context: parent_context) + .select { |k, _v| @baggage_key_predicate.call(k) } + ) end # Called when a Span is ended, does nothing. diff --git a/processor/baggage/test/opentelemetry/processor/baggage/baggage_span_processor_test.rb b/processor/baggage/test/opentelemetry/processor/baggage/baggage_span_processor_test.rb index 1f7bfc779..73687f0e4 100644 --- a/processor/baggage/test/opentelemetry/processor/baggage/baggage_span_processor_test.rb +++ b/processor/baggage/test/opentelemetry/processor/baggage/baggage_span_processor_test.rb @@ -11,8 +11,10 @@ TEST_EXPORTER = OpenTelemetry::SDK::Trace::Export::InMemorySpanExporter.new OpenTelemetry::SDK.configure do |c| - # the baggage processor getting wired in for testing - c.add_span_processor OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new + # the baggage processor getting wired in for integration testing + c.add_span_processor OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new( + OpenTelemetry::Processor::Baggage::ALLOW_ALL_BAGGAGE_KEYS + ) # use a simple processor and in-memory export for testing sent spans c.add_span_processor( @@ -24,17 +26,68 @@ end describe OpenTelemetry::Processor::Baggage::BaggageSpanProcessor do - let(:processor) { OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new } + let(:processor) do + OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new( + OpenTelemetry::Processor::Baggage::ALLOW_ALL_BAGGAGE_KEYS + ) + end let(:span) { Minitest::Mock.new } - let(:context_with_baggage) { OpenTelemetry::Baggage.set_value('a_key', 'a_value') } + let(:context_with_baggage) do + OpenTelemetry::Baggage.build(context: OpenTelemetry::Context.empty) do |baggage| + baggage.set_value('a_key', 'a_value') + baggage.set_value('b_key', 'b_value') + end + end + + describe '#new' do + it 'requires a callable baggage_key_predicate' do + _(-> { OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new }).must_raise(ArgumentError) + err = _(-> { OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new(:not_a_callable) }).must_raise(ArgumentError) + _(err.message).must_match(/must respond to :call/) + end + end describe '#on_start' do - it 'adds current baggage keys/values as attributes when a span starts' do - span.expect(:add_attributes, span, [{ 'a_key' => 'a_value' }]) + describe 'with the ALLOW_ALL_BAGGAGE_KEYS predicate' do + it 'adds current baggage keys/values as attributes when a span starts' do + span.expect(:add_attributes, span, [{ 'a_key' => 'a_value', 'b_key' => 'b_value' }]) + + processor.on_start(span, context_with_baggage) + + span.verify + end + end + + describe 'with a start_with? key predicate' do + let(:start_with_processor) do + OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new( + ->(baggage_key) { baggage_key.start_with?('a') } + ) + end + + it 'only adds attributes that pass the keyfilter' do + span.expect(:add_attributes, span, [{ 'a_key' => 'a_value' }]) + + start_with_processor.on_start(span, context_with_baggage) + + span.verify + end + end + + describe 'with a regex key predicate' do + let(:regex_processor) do + OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new( + ->(baggage_key) { baggage_key.match?(/^b_ke.+/) } + ) + end + + it 'only adds attributes that pass the keyfilter' do + span.expect(:add_attributes, span, [{ 'b_key' => 'b_value' }]) - processor.on_start(span, context_with_baggage) + regex_processor.on_start(span, context_with_baggage) - span.verify + span.verify + end end it 'does not blow up when given nil context' do @@ -89,7 +142,7 @@ _(exporter.finished_spans.size).must_equal(1) _(exporter.finished_spans.first.name).must_equal('integration test span') - _(exporter.finished_spans.first.attributes).must_equal('a_key' => 'a_value') + _(exporter.finished_spans.first.attributes).must_equal('a_key' => 'a_value', 'b_key' => 'b_value') end end end From e70ed65ab9adf56c0325b3910af5b4c21d0846d8 Mon Sep 17 00:00:00 2001 From: Xuan <112967240+xuan-cao-swi@users.noreply.github.com> Date: Mon, 17 Jun 2024 22:17:20 -0400 Subject: [PATCH 17/82] docs: add function doc for config_overrides_from_env (#1021) * doc: add function doc for config_overrides_from_env * docs: lint --- .../base/lib/opentelemetry/instrumentation/base.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/instrumentation/base/lib/opentelemetry/instrumentation/base.rb b/instrumentation/base/lib/opentelemetry/instrumentation/base.rb index 4e08be3ea..8c9ac0e3f 100644 --- a/instrumentation/base/lib/opentelemetry/instrumentation/base.rb +++ b/instrumentation/base/lib/opentelemetry/instrumentation/base.rb @@ -326,6 +326,18 @@ def enabled_by_env_var? ENV[var_name] != 'false' end + # Checks to see if the user has passed any environment variables that set options + # for instrumentation. By convention, the environment variable will be the name + # of the instrumentation, uppercased, with '::' replaced by underscores, + # OPENTELEMETRY shortened to OTEL_{LANG}, and _CONFIG_OPTS appended. + # For example, the environment variable name for OpenTelemetry::Instrumentation::Faraday + # will be OTEL_RUBY_INSTRUMENTATION_FARADAY_CONFIG_OPTS. A value of 'peer_service=new_service;' + # will override the options set from ::OpenTelemetry::SDK.configure do |c| ... end for Faraday. + # + # For an array option, simply separate the values with commas (e.g., option=a,b,c,d). + # For a boolean option, set the value to true or false (e.g., option=true). + # For integer, string, enum, set the value as a string (e.g., option=string). + # Callable options are not allowed to be set through environment variables. def config_overrides_from_env var_name = name.dup.tap do |n| n.upcase! From e2ba37dcdd220774b33035a2e2a2dd97977ace48 Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Mon, 17 Jun 2024 21:52:22 -0500 Subject: [PATCH 18/82] chore: Update release please configs --- .github/workflows/release-please.yaml | 2 +- .release-please-manifest.json | 74 +++++++++++++-------------- release-please-config.json | 1 + 3 files changed, 39 insertions(+), 38 deletions(-) diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index 21b77bc56..2e9530ad5 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -48,7 +48,7 @@ jobs: chmod 0600 $HOME/.gem/credentials printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials - - uses: ruby/setup-ruby@v1.180.0 + - uses: ruby/setup-ruby@v1.180.1 with: ruby-version: "3.0" bundler: latest diff --git a/.release-please-manifest.json b/.release-please-manifest.json index bda9206b0..472e90fe9 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,49 +1,49 @@ { - "helpers/mysql": "0.0.0", - "helpers/sql_obfuscation": "0.0.0", - "instrumentation/gruf": "0.1.1", - "instrumentation/grape": "0.1.6", - "instrumentation/racecar": "0.3.0", - "instrumentation/rake": "0.2.1", - "instrumentation/rdkafka": "0.4.2", - "instrumentation/trilogy": "0.58.0", + "helpers/mysql": "0.1.0", + "helpers/sql_obfuscation": "0.1.0", + "instrumentation/graphql": "0.28.2", + "instrumentation/gruf": "0.2.1", + "instrumentation/racecar": "0.3.2", + "instrumentation/rake": "0.2.2", + "instrumentation/rdkafka": "0.4.5", + "instrumentation/trilogy": "0.59.3", "instrumentation/active_support": "0.5.1", "instrumentation/action_mailer": "0.1.0", "instrumentation/action_view": "0.7.0", "instrumentation/action_pack": "0.9.0", "instrumentation/active_job": "0.7.1", - "instrumentation/resque": "0.5.0", - "instrumentation/bunny": "0.21.1", + "instrumentation/resque": "0.5.2", + "instrumentation/bunny": "0.21.3", "instrumentation/base": "0.22.3", - "instrumentation/active_record": "0.7.0", - "instrumentation/aws_sdk": "0.5.0", + "instrumentation/active_record": "0.7.2", + "instrumentation/aws_sdk": "0.5.2", "instrumentation/aws_lambda": "0.1.0", - "instrumentation/lmdb": "0.22.1", - "instrumentation/http": "0.23.2", - "instrumentation/graphql": "0.27.0", - "instrumentation/http_client": "0.22.3", - "instrumentation/httpx": "0.1.1", - "instrumentation/koala": "0.20.2", + "instrumentation/lmdb": "0.22.2", + "instrumentation/http": "0.23.3", + "instrumentation/http_client": "0.22.5", + "instrumentation/httpx": "0.1.2", + "instrumentation/koala": "0.20.4", "instrumentation/active_model_serializers": "0.20.1", - "instrumentation/concurrent_ruby": "0.21.2", - "instrumentation/dalli": "0.25.0", - "instrumentation/delayed_job": "0.22.1", - "instrumentation/ethon": "0.21.3", - "instrumentation/excon": "0.22.0", - "instrumentation/faraday": "0.23.4", - "instrumentation/mongo": "0.22.2", - "instrumentation/mysql2": "0.25.0", - "instrumentation/net_http": "0.22.4", - "instrumentation/pg": "0.26.1", - "instrumentation/que": "0.7.1", - "instrumentation/rack": "0.24.0", - "instrumentation/rails": "0.30.0", - "instrumentation/redis": "0.25.3", - "instrumentation/restclient": "0.22.3", - "instrumentation/rspec": "0.3.2", - "instrumentation/ruby_kafka": "0.21.0", - "instrumentation/sidekiq": "0.25.0", - "instrumentation/sinatra": "0.23.2", + "instrumentation/concurrent_ruby": "0.21.3", + "instrumentation/dalli": "0.25.2", + "instrumentation/delayed_job": "0.22.2", + "instrumentation/ethon": "0.21.6", + "instrumentation/excon": "0.22.2", + "instrumentation/faraday": "0.24.3", + "instrumentation/mongo": "0.22.3", + "instrumentation/mysql2": "0.27.1", + "instrumentation/net_http": "0.22.5", + "instrumentation/pg": "0.27.3", + "instrumentation/que": "0.8.1", + "instrumentation/rack": "0.24.4", + "instrumentation/rails": "0.30.2", + "instrumentation/grape": "0.1.8", + "instrumentation/redis": "0.25.5", + "instrumentation/restclient": "0.22.5", + "instrumentation/rspec": "0.3.3", + "instrumentation/ruby_kafka": "0.21.1", + "instrumentation/sidekiq": "0.25.4", + "instrumentation/sinatra": "0.61.4", "instrumentation/all": "0.56.0", "processor/baggage": "0.1.0", "propagator/ottrace": "0.21.2", diff --git a/release-please-config.json b/release-please-config.json index 5a871d495..1f1c50103 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -1,4 +1,5 @@ { + "bootstrap-sha": "e70ed65ab9adf56c0325b3910af5b4c21d0846d8", "bump-minor-pre-major": true, "bump-patch-for-minor-pre-major": true, "draft": true, From fd601cfd880ddfb736dbf0ff2e99051718644bde Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Mon, 17 Jun 2024 21:57:05 -0500 Subject: [PATCH 19/82] chore: fix sinatra version in manifest --- .release-please-manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 472e90fe9..642235229 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -43,7 +43,7 @@ "instrumentation/rspec": "0.3.3", "instrumentation/ruby_kafka": "0.21.1", "instrumentation/sidekiq": "0.25.4", - "instrumentation/sinatra": "0.61.4", + "instrumentation/sinatra": "0.23.4", "instrumentation/all": "0.56.0", "processor/baggage": "0.1.0", "propagator/ottrace": "0.21.2", From a38d4f382bd29bfff1a5a71eadcf890523f8f288 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 02:59:34 +0000 Subject: [PATCH 20/82] chore: bump ruby/setup-ruby from 1.180.0 to 1.180.1 (#1023) * chore: bump ruby/setup-ruby from 1.180.0 to 1.180.1 Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.180.0 to 1.180.1. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Commits](https://github.com/ruby/setup-ruby/compare/v1.180.0...v1.180.1) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] * squash: bump test files --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Ariel Valentin Co-authored-by: Ariel Valentin --- .github/actions/test_gem/action.yml | 4 ++-- .github/workflows/installation-tests.yml | 2 +- .github/workflows/release-hook-on-closed.yml | 2 +- .github/workflows/release-hook-on-push.yml | 2 +- .github/workflows/release-perform.yml | 2 +- .github/workflows/release-request-weekly.yml | 2 +- .github/workflows/release-request.yml | 2 +- .github/workflows/release-retry.yml | 2 +- 8 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/actions/test_gem/action.yml b/.github/actions/test_gem/action.yml index 003688865..06999271c 100644 --- a/.github/actions/test_gem/action.yml +++ b/.github/actions/test_gem/action.yml @@ -66,7 +66,7 @@ runs: # ...but not for appraisals, sadly. - name: Install Ruby ${{ inputs.ruby }} with dependencies if: "${{ steps.setup.outputs.appraisals == 'false' }}" - uses: ruby/setup-ruby@v1.180.0 + uses: ruby/setup-ruby@v1.180.1 with: ruby-version: "${{ inputs.ruby }}" working-directory: "${{ steps.setup.outputs.gem_dir }}" @@ -77,7 +77,7 @@ runs: # If we're using appraisals, do it all manually. - name: Install Ruby ${{ inputs.ruby }} without dependencies if: "${{ steps.setup.outputs.appraisals == 'true' }}" - uses: ruby/setup-ruby@v1.180.0 + uses: ruby/setup-ruby@v1.180.1 with: ruby-version: "${{ inputs.ruby }}" bundler: "latest" diff --git a/.github/workflows/installation-tests.yml b/.github/workflows/installation-tests.yml index 85c10cee1..3fcd407da 100644 --- a/.github/workflows/installation-tests.yml +++ b/.github/workflows/installation-tests.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@v4 # ATTENTION: Dependabot does not know how to update shared actions file. # If you see it update setup-ruby here also update it as part of actions/test_gem/action.yml - - uses: ruby/setup-ruby@v1.180.0 + - uses: ruby/setup-ruby@v1.180.1 with: ruby-version: ${{ matrix.ruby-version }} - name: "Install Latest Gem Versions on ${{ matrix.ruby-version }}" diff --git a/.github/workflows/release-hook-on-closed.yml b/.github/workflows/release-hook-on-closed.yml index d3cb1bf3b..bf1273ceb 100644 --- a/.github/workflows/release-hook-on-closed.yml +++ b/.github/workflows/release-hook-on-closed.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.0 + uses: ruby/setup-ruby@v1.180.1 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-hook-on-push.yml b/.github/workflows/release-hook-on-push.yml index 9fd9680c7..76c2870c0 100644 --- a/.github/workflows/release-hook-on-push.yml +++ b/.github/workflows/release-hook-on-push.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.0 + uses: ruby/setup-ruby@v1.180.1 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-perform.yml b/.github/workflows/release-perform.yml index 40e102b83..ebfef57a4 100644 --- a/.github/workflows/release-perform.yml +++ b/.github/workflows/release-perform.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.0 + uses: ruby/setup-ruby@v1.180.1 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-request-weekly.yml b/.github/workflows/release-request-weekly.yml index 3772062ae..44831942d 100644 --- a/.github/workflows/release-request-weekly.yml +++ b/.github/workflows/release-request-weekly.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.0 + uses: ruby/setup-ruby@v1.180.1 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-request.yml b/.github/workflows/release-request.yml index cae10dd14..d3f776130 100644 --- a/.github/workflows/release-request.yml +++ b/.github/workflows/release-request.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.0 + uses: ruby/setup-ruby@v1.180.1 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-retry.yml b/.github/workflows/release-retry.yml index 4a0a25008..a0a13e890 100644 --- a/.github/workflows/release-retry.yml +++ b/.github/workflows/release-retry.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.0 + uses: ruby/setup-ruby@v1.180.1 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo From c97fc56a8afbe33c9c13d3f03d8940de65ababec Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 03:02:04 +0000 Subject: [PATCH 21/82] chore: bump dev-build-deploy/commit-me from 1.4.1 to 1.5.0 (#1022) Bumps [dev-build-deploy/commit-me](https://github.com/dev-build-deploy/commit-me) from 1.4.1 to 1.5.0. - [Release notes](https://github.com/dev-build-deploy/commit-me/releases) - [Commits](https://github.com/dev-build-deploy/commit-me/compare/v1.4.1...v1.5.0) --- updated-dependencies: - dependency-name: dev-build-deploy/commit-me dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/conventional-commits.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/conventional-commits.yaml b/.github/workflows/conventional-commits.yaml index 6e9344b7d..26cd79d03 100644 --- a/.github/workflows/conventional-commits.yaml +++ b/.github/workflows/conventional-commits.yaml @@ -22,7 +22,7 @@ jobs: name: Conventional Commits Validation runs-on: ubuntu-latest steps: - - uses: dev-build-deploy/commit-me@v1.4.1 + - uses: dev-build-deploy/commit-me@v1.5.0 env: FORCE_COLOR: 3 with: From 2fe3930e8bf7d7eaad29817b03618932ef77ec95 Mon Sep 17 00:00:00 2001 From: Troels Thomsen <19824+tt@users.noreply.github.com> Date: Tue, 18 Jun 2024 05:21:24 +0200 Subject: [PATCH 22/82] fix: Add `http.url` to Excon instrumentation (#1020) * Sort attributes alphabetically * Verify port equivalence * Add `http.url` to Excon instrumentation --------- Co-authored-by: Ariel Valentin --- .../excon/middlewares/tracer_middleware.rb | 3 +- .../excon/instrumentation_test.rb | 32 ++++++++++++------- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/instrumentation/excon/lib/opentelemetry/instrumentation/excon/middlewares/tracer_middleware.rb b/instrumentation/excon/lib/opentelemetry/instrumentation/excon/middlewares/tracer_middleware.rb index ca0b50d7f..592fdb793 100644 --- a/instrumentation/excon/lib/opentelemetry/instrumentation/excon/middlewares/tracer_middleware.rb +++ b/instrumentation/excon/lib/opentelemetry/instrumentation/excon/middlewares/tracer_middleware.rb @@ -27,10 +27,11 @@ def request_call(datum) http_method = HTTP_METHODS_TO_UPPERCASE[datum[:method]] attributes = { + OpenTelemetry::SemanticConventions::Trace::HTTP_HOST => datum[:host], OpenTelemetry::SemanticConventions::Trace::HTTP_METHOD => http_method, OpenTelemetry::SemanticConventions::Trace::HTTP_SCHEME => datum[:scheme], OpenTelemetry::SemanticConventions::Trace::HTTP_TARGET => datum[:path], - OpenTelemetry::SemanticConventions::Trace::HTTP_HOST => datum[:host], + OpenTelemetry::SemanticConventions::Trace::HTTP_URL => OpenTelemetry::Common::Utilities.cleanse_url(::Excon::Utils.request_uri(datum)), OpenTelemetry::SemanticConventions::Trace::NET_PEER_NAME => datum[:hostname], OpenTelemetry::SemanticConventions::Trace::NET_PEER_PORT => datum[:port] } diff --git a/instrumentation/excon/test/opentelemetry/instrumentation/excon/instrumentation_test.rb b/instrumentation/excon/test/opentelemetry/instrumentation/excon/instrumentation_test.rb index 94f354c09..6f085689b 100644 --- a/instrumentation/excon/test/opentelemetry/instrumentation/excon/instrumentation_test.rb +++ b/instrumentation/excon/test/opentelemetry/instrumentation/excon/instrumentation_test.rb @@ -48,11 +48,12 @@ _(exporter.finished_spans.size).must_equal 1 _(span.name).must_equal 'HTTP GET' + _(span.attributes['http.host']).must_equal 'example.com' _(span.attributes['http.method']).must_equal 'GET' - _(span.attributes['http.status_code']).must_equal 200 _(span.attributes['http.scheme']).must_equal 'http' - _(span.attributes['http.host']).must_equal 'example.com' + _(span.attributes['http.status_code']).must_equal 200 _(span.attributes['http.target']).must_equal '/success' + _(span.attributes['http.url']).must_equal 'http://example.com/success' assert_requested( :get, 'http://example.com/success', @@ -71,11 +72,12 @@ _(exporter.finished_spans.size).must_equal 1 _(span.name).must_equal 'HTTP GET' + _(span.attributes['http.host']).must_equal 'example.com' _(span.attributes['http.method']).must_equal 'GET' - _(span.attributes['http.status_code']).must_equal 500 _(span.attributes['http.scheme']).must_equal 'http' - _(span.attributes['http.host']).must_equal 'example.com' + _(span.attributes['http.status_code']).must_equal 500 _(span.attributes['http.target']).must_equal '/failure' + _(span.attributes['http.url']).must_equal 'http://example.com/failure' assert_requested( :get, 'http://example.com/failure', @@ -90,10 +92,11 @@ _(exporter.finished_spans.size).must_equal 1 _(span.name).must_equal 'HTTP GET' + _(span.attributes['http.host']).must_equal 'example.com' _(span.attributes['http.method']).must_equal 'GET' _(span.attributes['http.scheme']).must_equal 'http' - _(span.attributes['http.host']).must_equal 'example.com' _(span.attributes['http.target']).must_equal '/timeout' + _(span.attributes['http.url']).must_equal 'http://example.com/timeout' _(span.status.code).must_equal( OpenTelemetry::Trace::Status::ERROR ) @@ -119,11 +122,12 @@ _(exporter.finished_spans.size).must_equal 1 _(span.name).must_equal 'HTTP GET' + _(span.attributes['http.host']).must_equal 'example.com' _(span.attributes['http.method']).must_equal 'OVERRIDE' - _(span.attributes['http.status_code']).must_equal 200 _(span.attributes['http.scheme']).must_equal 'http' - _(span.attributes['http.host']).must_equal 'example.com' + _(span.attributes['http.status_code']).must_equal 200 _(span.attributes['http.target']).must_equal '/success' + _(span.attributes['http.url']).must_equal 'http://example.com/success' _(span.attributes['test.attribute']).must_equal 'test.value' assert_requested( :get, @@ -186,8 +190,8 @@ _(exporter.finished_spans.size).must_equal 1 _(span.name).must_equal 'HTTP GET' - _(span.attributes['http.method']).must_equal 'GET' _(span.attributes['http.host']).must_equal 'example.com' + _(span.attributes['http.method']).must_equal 'GET' end it 'creates a span on connect for a non-ignored request' do @@ -215,6 +219,8 @@ end it 'emits span on connect' do + port = nil + TCPServer.open('localhost', 0) do |server| Thread.start do server.accept @@ -231,8 +237,9 @@ _(span.name).must_equal 'connect' _(span.attributes['net.peer.name']).must_equal('localhost') _(span.attributes['net.peer.port']).wont_be_nil + _(span.attributes['net.peer.port']).must_equal(port) - assert_http_spans(target: '/example', exception: 'Excon::Error::Timeout') + assert_http_spans(port: port, target: '/example', exception: 'Excon::Error::Timeout') end it 'captures errors' do @@ -248,7 +255,7 @@ # Depending on the Ruby and Excon Version this will be a SocketError, Socket::ResolutionError or Resolv::ResolvError _(span_event.attributes['exception.type']).must_match(/(Socket|Resolv)/) - assert_http_spans(host: 'invalid.com', target: '/example') + assert_http_spans(host: 'invalid.com', port: 99_999, target: '/example') end it '[BUG] fails to emit an HTTP CONNECT span when connecting through an SSL proxy for an HTTP service' do @@ -296,13 +303,14 @@ end end - def assert_http_spans(scheme: 'http', host: 'localhost', target: '/', exception: nil) + def assert_http_spans(scheme: 'http', host: 'localhost', port: nil, target: '/', exception: nil) exporter.finished_spans[1..].each do |http_span| _(http_span.name).must_equal 'HTTP GET' + _(http_span.attributes['http.host']).must_equal host _(http_span.attributes['http.method']).must_equal 'GET' _(http_span.attributes['http.scheme']).must_equal scheme - _(http_span.attributes['http.host']).must_equal host _(http_span.attributes['http.target']).must_equal target + _(http_span.attributes['http.url']).must_equal "#{scheme}://#{host}#{port&.to_s&.prepend(':')}#{target}" _(http_span.status.code).must_equal( OpenTelemetry::Trace::Status::ERROR ) From 3719807165747e372f567199115b336d0971b484 Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Mon, 17 Jun 2024 22:34:00 -0500 Subject: [PATCH 23/82] chore: use bot token --- .github/workflows/release-please.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index 2e9530ad5..97bff7f17 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -19,6 +19,8 @@ jobs: steps: - uses: googleapis/release-please-action@v4.1.3 id: prepare + with: + token: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }} outputs: paths_released: ${{ steps.prepare.outputs.paths_released }} From b27c74242dc84a2b676a03ae3dcf6a7318f6d502 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 10:53:35 -0500 Subject: [PATCH 24/82] release: Release 17 gems (#1025) * release: Release 17 gems * opentelemetry-helpers-mysql 0.1.1 (was 0.1.0) * opentelemetry-helpers-sql-obfuscation 0.1.1 (was 0.1.0) * opentelemetry-instrumentation-rdkafka 0.4.6 (was 0.4.5) * opentelemetry-instrumentation-base 0.22.4 (was 0.22.3) * opentelemetry-instrumentation-http_client 0.22.6 (was 0.22.5) * opentelemetry-instrumentation-koala 0.20.5 (was 0.20.4) * opentelemetry-instrumentation-dalli 0.25.3 (was 0.25.2) * opentelemetry-instrumentation-ethon 0.21.7 (was 0.21.6) * opentelemetry-instrumentation-excon 0.22.3 (was 0.22.2) * opentelemetry-instrumentation-faraday 0.24.4 (was 0.24.3) * opentelemetry-instrumentation-net_http 0.22.6 (was 0.22.5) * opentelemetry-instrumentation-rack 0.24.5 (was 0.24.4) * opentelemetry-instrumentation-redis 0.25.6 (was 0.25.5) * opentelemetry-instrumentation-restclient 0.22.6 (was 0.22.5) * opentelemetry-instrumentation-sidekiq 0.25.5 (was 0.25.4) * opentelemetry-instrumentation-sinatra 0.23.5 (was 0.23.4) * opentelemetry-processor-baggage 0.2.0 (was 0.1.0) * ci: Force --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Ariel Valentin --- helpers/mysql/CHANGELOG.md | 4 ++++ helpers/mysql/lib/opentelemetry/helpers/mysql/version.rb | 2 +- helpers/sql-obfuscation/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/helpers/sql_obfuscation/version.rb | 2 +- instrumentation/base/CHANGELOG.md | 5 +++++ .../base/lib/opentelemetry/instrumentation/version.rb | 2 +- instrumentation/dalli/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/dalli/version.rb | 2 +- instrumentation/ethon/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/ethon/version.rb | 2 +- instrumentation/excon/CHANGELOG.md | 5 +++++ .../lib/opentelemetry/instrumentation/excon/version.rb | 2 +- instrumentation/faraday/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/faraday/version.rb | 2 +- instrumentation/http_client/CHANGELOG.md | 4 ++++ .../opentelemetry/instrumentation/http_client/version.rb | 2 +- instrumentation/koala/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/koala/version.rb | 2 +- instrumentation/net_http/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/net/http/version.rb | 2 +- instrumentation/rack/CHANGELOG.md | 4 ++++ .../rack/lib/opentelemetry/instrumentation/rack/version.rb | 2 +- instrumentation/rdkafka/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/rdkafka/version.rb | 2 +- instrumentation/redis/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/redis/version.rb | 2 +- instrumentation/restclient/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/restclient/version.rb | 2 +- instrumentation/sidekiq/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/sidekiq/version.rb | 2 +- instrumentation/sinatra/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/sinatra/version.rb | 2 +- processor/baggage/CHANGELOG.md | 6 ++++++ .../baggage/lib/opentelemetry/processor/baggage/version.rb | 2 +- 34 files changed, 89 insertions(+), 17 deletions(-) diff --git a/helpers/mysql/CHANGELOG.md b/helpers/mysql/CHANGELOG.md index a5ef9a1a4..1dc3c9f46 100644 --- a/helpers/mysql/CHANGELOG.md +++ b/helpers/mysql/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-helpers-mysql +### v0.1.1 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.1.0 / 2024-02-08 Initial release. diff --git a/helpers/mysql/lib/opentelemetry/helpers/mysql/version.rb b/helpers/mysql/lib/opentelemetry/helpers/mysql/version.rb index f66da3eea..2d047426c 100644 --- a/helpers/mysql/lib/opentelemetry/helpers/mysql/version.rb +++ b/helpers/mysql/lib/opentelemetry/helpers/mysql/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Helpers module MySQL - VERSION = '0.1.0' + VERSION = '0.1.1' end end end diff --git a/helpers/sql-obfuscation/CHANGELOG.md b/helpers/sql-obfuscation/CHANGELOG.md index aede3a34e..7a62283ca 100644 --- a/helpers/sql-obfuscation/CHANGELOG.md +++ b/helpers/sql-obfuscation/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-helpers-sql-obfuscation +### v0.1.1 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.1.0 / 2024-02-08 Initial release. diff --git a/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation/version.rb b/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation/version.rb index 9861b8920..4d0787456 100644 --- a/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation/version.rb +++ b/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Helpers module SqlObfuscation - VERSION = '0.1.0' + VERSION = '0.1.1' end end end diff --git a/instrumentation/base/CHANGELOG.md b/instrumentation/base/CHANGELOG.md index 575d63cd8..ce409f790 100644 --- a/instrumentation/base/CHANGELOG.md +++ b/instrumentation/base/CHANGELOG.md @@ -57,3 +57,8 @@ ### v0.17.0 / 2021-04-22 * Initial release. + +### v0.22.4 / 2024-06-18 + +* FIXED: Relax otel common gem constraints +* DOCS: Add function doc for config_overrides_from_env diff --git a/instrumentation/base/lib/opentelemetry/instrumentation/version.rb b/instrumentation/base/lib/opentelemetry/instrumentation/version.rb index 0f05e445e..297acbb24 100644 --- a/instrumentation/base/lib/opentelemetry/instrumentation/version.rb +++ b/instrumentation/base/lib/opentelemetry/instrumentation/version.rb @@ -6,6 +6,6 @@ module OpenTelemetry module Instrumentation - VERSION = '0.22.3' + VERSION = '0.22.4' end end diff --git a/instrumentation/dalli/CHANGELOG.md b/instrumentation/dalli/CHANGELOG.md index 444e51488..92c503a09 100644 --- a/instrumentation/dalli/CHANGELOG.md +++ b/instrumentation/dalli/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-dalli +### v0.25.3 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.25.2 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/dalli/lib/opentelemetry/instrumentation/dalli/version.rb b/instrumentation/dalli/lib/opentelemetry/instrumentation/dalli/version.rb index c08c8100d..19a3ba981 100644 --- a/instrumentation/dalli/lib/opentelemetry/instrumentation/dalli/version.rb +++ b/instrumentation/dalli/lib/opentelemetry/instrumentation/dalli/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Dalli - VERSION = '0.25.2' + VERSION = '0.25.3' end end end diff --git a/instrumentation/ethon/CHANGELOG.md b/instrumentation/ethon/CHANGELOG.md index 160a95104..5c6418836 100644 --- a/instrumentation/ethon/CHANGELOG.md +++ b/instrumentation/ethon/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-ethon +### v0.21.7 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.21.6 / 2024-06-12 * FIXED: Add net.peer.name to ethon diff --git a/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb b/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb index 1b74051bf..32be6eb25 100644 --- a/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb +++ b/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Ethon - VERSION = '0.21.6' + VERSION = '0.21.7' end end end diff --git a/instrumentation/excon/CHANGELOG.md b/instrumentation/excon/CHANGELOG.md index 95ba63b54..dbef84bab 100644 --- a/instrumentation/excon/CHANGELOG.md +++ b/instrumentation/excon/CHANGELOG.md @@ -1,5 +1,10 @@ # Release History: opentelemetry-instrumentation-excon +### v0.22.3 / 2024-06-18 + +* FIXED: Relax otel common gem constraints +* FIXED: Add `http.url` to Excon instrumentation + ### v0.22.2 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/excon/lib/opentelemetry/instrumentation/excon/version.rb b/instrumentation/excon/lib/opentelemetry/instrumentation/excon/version.rb index c1d732bfb..486b0200a 100644 --- a/instrumentation/excon/lib/opentelemetry/instrumentation/excon/version.rb +++ b/instrumentation/excon/lib/opentelemetry/instrumentation/excon/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Excon - VERSION = '0.22.2' + VERSION = '0.22.3' end end end diff --git a/instrumentation/faraday/CHANGELOG.md b/instrumentation/faraday/CHANGELOG.md index 25e1b92a3..328cf497f 100644 --- a/instrumentation/faraday/CHANGELOG.md +++ b/instrumentation/faraday/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-faraday +### v0.24.4 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.24.3 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb b/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb index 370cde384..951b0939e 100644 --- a/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb +++ b/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Faraday - VERSION = '0.24.3' + VERSION = '0.24.4' end end end diff --git a/instrumentation/http_client/CHANGELOG.md b/instrumentation/http_client/CHANGELOG.md index 57272442c..419dfcfa4 100644 --- a/instrumentation/http_client/CHANGELOG.md +++ b/instrumentation/http_client/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-http_client +### v0.22.6 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.22.5 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/http_client/lib/opentelemetry/instrumentation/http_client/version.rb b/instrumentation/http_client/lib/opentelemetry/instrumentation/http_client/version.rb index 93dfe3a64..5f263a756 100644 --- a/instrumentation/http_client/lib/opentelemetry/instrumentation/http_client/version.rb +++ b/instrumentation/http_client/lib/opentelemetry/instrumentation/http_client/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module HttpClient - VERSION = '0.22.5' + VERSION = '0.22.6' end end end diff --git a/instrumentation/koala/CHANGELOG.md b/instrumentation/koala/CHANGELOG.md index a222a5fc1..1cd0e5d62 100644 --- a/instrumentation/koala/CHANGELOG.md +++ b/instrumentation/koala/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-koala +### v0.20.5 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.20.4 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/koala/lib/opentelemetry/instrumentation/koala/version.rb b/instrumentation/koala/lib/opentelemetry/instrumentation/koala/version.rb index eb721f1ca..7d2588e92 100644 --- a/instrumentation/koala/lib/opentelemetry/instrumentation/koala/version.rb +++ b/instrumentation/koala/lib/opentelemetry/instrumentation/koala/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Koala - VERSION = '0.20.4' + VERSION = '0.20.5' end end end diff --git a/instrumentation/net_http/CHANGELOG.md b/instrumentation/net_http/CHANGELOG.md index ab2aee20a..50cb64973 100644 --- a/instrumentation/net_http/CHANGELOG.md +++ b/instrumentation/net_http/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-net_http +### v0.22.6 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.22.5 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/version.rb b/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/version.rb index e432ec226..f8b0c8666 100644 --- a/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/version.rb +++ b/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/version.rb @@ -8,7 +8,7 @@ module OpenTelemetry module Instrumentation module Net module HTTP - VERSION = '0.22.5' + VERSION = '0.22.6' end end end diff --git a/instrumentation/rack/CHANGELOG.md b/instrumentation/rack/CHANGELOG.md index ec2b37d58..540499280 100644 --- a/instrumentation/rack/CHANGELOG.md +++ b/instrumentation/rack/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-rack +### v0.24.5 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.24.4 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/rack/lib/opentelemetry/instrumentation/rack/version.rb b/instrumentation/rack/lib/opentelemetry/instrumentation/rack/version.rb index e2957bcbd..082779a2e 100644 --- a/instrumentation/rack/lib/opentelemetry/instrumentation/rack/version.rb +++ b/instrumentation/rack/lib/opentelemetry/instrumentation/rack/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Rack - VERSION = '0.24.4' + VERSION = '0.24.5' end end end diff --git a/instrumentation/rdkafka/CHANGELOG.md b/instrumentation/rdkafka/CHANGELOG.md index bcbbd9d17..3fc78ff06 100644 --- a/instrumentation/rdkafka/CHANGELOG.md +++ b/instrumentation/rdkafka/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-rdkafka +### v0.4.6 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.4.5 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb b/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb index b29aba3d5..481f05b9f 100644 --- a/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb +++ b/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Rdkafka - VERSION = '0.4.5' + VERSION = '0.4.6' end end end diff --git a/instrumentation/redis/CHANGELOG.md b/instrumentation/redis/CHANGELOG.md index 50976b1bf..39cf15af2 100644 --- a/instrumentation/redis/CHANGELOG.md +++ b/instrumentation/redis/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-redis +### v0.25.6 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.25.5 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/redis/lib/opentelemetry/instrumentation/redis/version.rb b/instrumentation/redis/lib/opentelemetry/instrumentation/redis/version.rb index 60eb007b2..f386662f2 100644 --- a/instrumentation/redis/lib/opentelemetry/instrumentation/redis/version.rb +++ b/instrumentation/redis/lib/opentelemetry/instrumentation/redis/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Redis - VERSION = '0.25.5' + VERSION = '0.25.6' end end end diff --git a/instrumentation/restclient/CHANGELOG.md b/instrumentation/restclient/CHANGELOG.md index 415181a70..101fa104d 100644 --- a/instrumentation/restclient/CHANGELOG.md +++ b/instrumentation/restclient/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-restclient +### v0.22.6 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.22.5 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/version.rb b/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/version.rb index 3b51ebd04..00ddf501a 100644 --- a/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/version.rb +++ b/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module RestClient - VERSION = '0.22.5' + VERSION = '0.22.6' end end end diff --git a/instrumentation/sidekiq/CHANGELOG.md b/instrumentation/sidekiq/CHANGELOG.md index 12acfff9f..f8a047837 100644 --- a/instrumentation/sidekiq/CHANGELOG.md +++ b/instrumentation/sidekiq/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-sidekiq +### v0.25.5 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.25.4 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb b/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb index c7482c923..954028728 100644 --- a/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb +++ b/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Sidekiq - VERSION = '0.25.4' + VERSION = '0.25.5' end end end diff --git a/instrumentation/sinatra/CHANGELOG.md b/instrumentation/sinatra/CHANGELOG.md index f593edcbd..4c72110a3 100644 --- a/instrumentation/sinatra/CHANGELOG.md +++ b/instrumentation/sinatra/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-sinatra +### v0.23.5 / 2024-06-18 + +* FIXED: Relax otel common gem constraints + ### v0.23.4 / 2024-05-09 * FIXED: Untrace entire request diff --git a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb index b4878fbde..e4b4b4895 100644 --- a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb +++ b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Sinatra - VERSION = '0.23.4' + VERSION = '0.23.5' end end end diff --git a/processor/baggage/CHANGELOG.md b/processor/baggage/CHANGELOG.md index a054e650e..9b948ba54 100644 --- a/processor/baggage/CHANGELOG.md +++ b/processor/baggage/CHANGELOG.md @@ -1,5 +1,11 @@ # Release History: opentelemetry-processor-baggage +### v0.2.0 / 2024-06-18 + +* BREAKING CHANGE: Add baggage key predicate func to baggage span processor + +* ADDED: Add baggage key predicate func to baggage span processor + ### v0.1.0 / 2024-04-18 * Initial release. diff --git a/processor/baggage/lib/opentelemetry/processor/baggage/version.rb b/processor/baggage/lib/opentelemetry/processor/baggage/version.rb index 1544ac3f1..f3711695e 100644 --- a/processor/baggage/lib/opentelemetry/processor/baggage/version.rb +++ b/processor/baggage/lib/opentelemetry/processor/baggage/version.rb @@ -15,7 +15,7 @@ module OpenTelemetry module Processor # Namespace for OpenTelemetry Baggage processor module Baggage - VERSION = '0.1.0' + VERSION = '0.2.0' end end end From c7686e532a7348b504ad43024735b12d795756cd Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Tue, 18 Jun 2024 12:09:11 -0500 Subject: [PATCH 25/82] chore: fix base changelog (#1029) --- instrumentation/base/CHANGELOG.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/instrumentation/base/CHANGELOG.md b/instrumentation/base/CHANGELOG.md index ce409f790..b51a63149 100644 --- a/instrumentation/base/CHANGELOG.md +++ b/instrumentation/base/CHANGELOG.md @@ -1,5 +1,10 @@ # Release History: opentelemetry-instrumentation-base +### v0.22.4 / 2024-06-18 + +* FIXED: Relax otel common gem constraints +* DOCS: Add function doc for config_overrides_from_env + ### v0.22.3 / 2023-11-23 * CHANGED: Applied Rubocop Performance Recommendations [#727](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/727) @@ -57,8 +62,3 @@ ### v0.17.0 / 2021-04-22 * Initial release. - -### v0.22.4 / 2024-06-18 - -* FIXED: Relax otel common gem constraints -* DOCS: Add function doc for config_overrides_from_env From 4ba96a5f967846ee3cc64a09bf6ac8ecdb00560f Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Tue, 18 Jun 2024 12:45:23 -0500 Subject: [PATCH 26/82] chore: bump versions in release-please --- .release-please-manifest.json | 34 +++++++++++++++++----------------- release-please-config.json | 4 ++-- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 642235229..b72270bee 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,11 +1,12 @@ { - "helpers/mysql": "0.1.0", - "helpers/sql_obfuscation": "0.1.0", + "helpers/mysql": "0.1.1", + "helpers/sql_obfuscation": "0.1.1", + "instrumentation/base": "0.22.4", "instrumentation/graphql": "0.28.2", "instrumentation/gruf": "0.2.1", "instrumentation/racecar": "0.3.2", "instrumentation/rake": "0.2.2", - "instrumentation/rdkafka": "0.4.5", + "instrumentation/rdkafka": "0.4.6", "instrumentation/trilogy": "0.59.3", "instrumentation/active_support": "0.5.1", "instrumentation/action_mailer": "0.1.0", @@ -14,38 +15,37 @@ "instrumentation/active_job": "0.7.1", "instrumentation/resque": "0.5.2", "instrumentation/bunny": "0.21.3", - "instrumentation/base": "0.22.3", "instrumentation/active_record": "0.7.2", "instrumentation/aws_sdk": "0.5.2", "instrumentation/aws_lambda": "0.1.0", "instrumentation/lmdb": "0.22.2", "instrumentation/http": "0.23.3", - "instrumentation/http_client": "0.22.5", + "instrumentation/http_client": "0.22.6", "instrumentation/httpx": "0.1.2", - "instrumentation/koala": "0.20.4", + "instrumentation/koala": "0.20.5", "instrumentation/active_model_serializers": "0.20.1", "instrumentation/concurrent_ruby": "0.21.3", - "instrumentation/dalli": "0.25.2", + "instrumentation/dalli": "0.25.3", "instrumentation/delayed_job": "0.22.2", - "instrumentation/ethon": "0.21.6", - "instrumentation/excon": "0.22.2", - "instrumentation/faraday": "0.24.3", + "instrumentation/ethon": "0.21.7", + "instrumentation/excon": "0.22.3", + "instrumentation/faraday": "0.24.4", "instrumentation/mongo": "0.22.3", "instrumentation/mysql2": "0.27.1", - "instrumentation/net_http": "0.22.5", + "instrumentation/net_http": "0.22.6", "instrumentation/pg": "0.27.3", "instrumentation/que": "0.8.1", - "instrumentation/rack": "0.24.4", + "instrumentation/rack": "0.24.5", "instrumentation/rails": "0.30.2", "instrumentation/grape": "0.1.8", - "instrumentation/redis": "0.25.5", - "instrumentation/restclient": "0.22.5", + "instrumentation/redis": "0.25.6", + "instrumentation/restclient": "0.22.6", "instrumentation/rspec": "0.3.3", "instrumentation/ruby_kafka": "0.21.1", - "instrumentation/sidekiq": "0.25.4", - "instrumentation/sinatra": "0.23.4", + "instrumentation/sidekiq": "0.25.5", + "instrumentation/sinatra": "0.23.5", "instrumentation/all": "0.56.0", - "processor/baggage": "0.1.0", + "processor/baggage": "0.2.0", "propagator/ottrace": "0.21.2", "propagator/xray": "0.22.1", "resources/azure": "0.1.0", diff --git a/release-please-config.json b/release-please-config.json index 1f1c50103..056677671 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -1,5 +1,5 @@ { - "bootstrap-sha": "e70ed65ab9adf56c0325b3910af5b4c21d0846d8", + "bootstrap-sha": "c7686e532a7348b504ad43024735b12d795756cd", "bump-minor-pre-major": true, "bump-patch-for-minor-pre-major": true, "draft": true, @@ -8,7 +8,7 @@ "include-v-in-tag": true, "prerelease": true, "release-type": "ruby", - "separate-pull-requests": true, + "separate-pull-requests": false, "sequential-calls": true, "signoff": "OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com>", "skip-github-release": false, From a9c45e7c36ffd769bb89207572ca5ebd3aa9852d Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Tue, 18 Jun 2024 15:10:38 -0500 Subject: [PATCH 27/82] feat: ActiveSupport user specified span kind (#1016) This will allow users to subscribe to notifications for Server Ingress, Messaging, or clients See https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues/957 Co-authored-by: Xuan <112967240+xuan-cao-swi@users.noreply.github.com> --- .../active_support/span_subscriber.rb | 11 +++++---- .../active_support/span_subscriber_test.rb | 23 ++++++++++++++++++- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb index 71692168a..41efeb94a 100644 --- a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb +++ b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb @@ -19,13 +19,15 @@ def self.subscribe( tracer, pattern, notification_payload_transform = nil, - disallowed_notification_payload_keys = [] + disallowed_notification_payload_keys = [], + kind = nil ) subscriber = OpenTelemetry::Instrumentation::ActiveSupport::SpanSubscriber.new( name: pattern, tracer: tracer, notification_payload_transform: notification_payload_transform, - disallowed_notification_payload_keys: disallowed_notification_payload_keys + disallowed_notification_payload_keys: disallowed_notification_payload_keys, + kind: nil ) subscriber_object = ::ActiveSupport::Notifications.subscribe(pattern, subscriber) @@ -55,15 +57,16 @@ def self.subscribe( class SpanSubscriber ALWAYS_VALID_PAYLOAD_TYPES = [TrueClass, FalseClass, String, Numeric, Symbol].freeze - def initialize(name:, tracer:, notification_payload_transform: nil, disallowed_notification_payload_keys: []) + def initialize(name:, tracer:, notification_payload_transform: nil, disallowed_notification_payload_keys: [], kind: nil) @span_name = name.split('.')[0..1].reverse.join(' ').freeze @tracer = tracer @notification_payload_transform = notification_payload_transform @disallowed_notification_payload_keys = disallowed_notification_payload_keys + @kind = kind || :internal end def start(name, id, payload) - span = @tracer.start_span(@span_name, kind: :internal) + span = @tracer.start_span(@span_name, kind: @kind) token = OpenTelemetry::Context.attach( OpenTelemetry::Trace.context_with_span(span) ) diff --git a/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb b/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb index b88b27a1a..4b6b596d7 100644 --- a/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb +++ b/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb @@ -11,10 +11,12 @@ let(:tracer) { instrumentation.tracer } let(:exporter) { EXPORTER } let(:last_span) { exporter.finished_spans.last } + let(:span_kind) { nil } let(:subscriber) do OpenTelemetry::Instrumentation::ActiveSupport::SpanSubscriber.new( name: 'bar.foo', - tracer: tracer + tracer: tracer, + kind: span_kind ) end @@ -76,6 +78,7 @@ def finish(name, id, payload) ) _(last_span).wont_be_nil + _(last_span.kind).must_equal(:internal) _(last_span.attributes['string']).must_equal('keys_are_present') _(last_span.attributes['numeric_is_fine']).must_equal(1) _(last_span.attributes['boolean_okay?']).must_equal(true) @@ -182,6 +185,24 @@ def finish(name, id, payload) end end + describe 'given a span kind' do + let(:span_kind) { :client } + + it 'sets the kind on the span' do + span, token = subscriber.start('hai', 'abc', {}) + # We only use the finished attributes - could change in the future, perhaps. + subscriber.finish( + 'hai', + 'abc', + __opentelemetry_span: span, + __opentelemetry_ctx_token: token + ) + + _(last_span).wont_be_nil + _(last_span.kind).must_equal(:client) + end + end + describe 'instrument' do before do ActiveSupport::Notifications.unsubscribe('bar.foo') From 5b09f9bd54c695224b3e297d8a5133f9f6fc5d07 Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Tue, 18 Jun 2024 16:22:05 -0500 Subject: [PATCH 28/82] chore: switch back to actions token --- .github/workflows/release-please.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index 97bff7f17..fd2f79052 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -19,8 +19,8 @@ jobs: steps: - uses: googleapis/release-please-action@v4.1.3 id: prepare - with: - token: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }} + # with: + # token: ${{ secrets.OPENTELEMETRYBOT_GITHUB_TOKEN }} outputs: paths_released: ${{ steps.prepare.outputs.paths_released }} From 76c37d75191dd3f9f26e08bf71ad9c5f90242540 Mon Sep 17 00:00:00 2001 From: Daniel Colson Date: Thu, 20 Jun 2024 12:59:46 -0400 Subject: [PATCH 29/82] fix: compatibility with Faraday v1 (#1032) Fixes https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues/1031 Faraday >= 1 changes where the #adapter method gets called, affecting the RackBuilder patch in this gem. Without this change, the tracer middleware gets added to the beginning of the stack instead of the end, and explicitly adding the middleware would cause it to get added twice. This change patches `Connection#initialize` for Faraday >= 1 to preserve the behavior we had with Faraday < 1. This is similar to the dd-trace-rb change made in https://github.com/DataDog/dd-trace-rb/pull/906. There is some followup work here to explore moving the middleware to the beginning of the stack instead of the end, but we can work on that separately. --- .../faraday/instrumentation.rb | 7 ++++- .../faraday/patches/connection.rb | 27 +++++++++++++++++++ .../middlewares/tracer_middleware_test.rb | 13 +++++++++ 3 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/patches/connection.rb diff --git a/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/instrumentation.rb b/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/instrumentation.rb index abed74af4..17d4826e8 100644 --- a/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/instrumentation.rb +++ b/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/instrumentation.rb @@ -27,6 +27,7 @@ class Instrumentation < OpenTelemetry::Instrumentation::Base def require_dependencies require_relative 'middlewares/tracer_middleware' + require_relative 'patches/connection' require_relative 'patches/rack_builder' end @@ -37,7 +38,11 @@ def register_tracer_middleware end def use_middleware_by_default - ::Faraday::RackBuilder.prepend(Patches::RackBuilder) + if Gem::Version.new(::Faraday::VERSION) >= Gem::Version.new('1') + ::Faraday::Connection.prepend(Patches::Connection) + else + ::Faraday::RackBuilder.prepend(Patches::RackBuilder) + end end end end diff --git a/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/patches/connection.rb b/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/patches/connection.rb new file mode 100644 index 000000000..51d8ad0b5 --- /dev/null +++ b/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/patches/connection.rb @@ -0,0 +1,27 @@ +# frozen_string_literal: true + +# Copyright The OpenTelemetry Authors +# +# SPDX-License-Identifier: Apache-2.0 + +module OpenTelemetry + module Instrumentation + module Faraday + module Patches + # Module to be prepended to force Faraday to use the middleware by + # default so the user doesn't have to call `use` for every connection. + module Connection + # Wraps Faraday::Connection#initialize: + # https://github.com/lostisland/faraday/blob/ff9dc1d1219a1bbdba95a9a4cf5d135b97247ee2/lib/faraday/connection.rb#L62-L92 + def initialize(*args) + super.tap do + use(:open_telemetry) unless builder.handlers.any? do |handler| + handler.klass == Middlewares::TracerMiddleware + end + end + end + end + end + end + end +end diff --git a/instrumentation/faraday/test/opentelemetry/instrumentation/faraday/middlewares/tracer_middleware_test.rb b/instrumentation/faraday/test/opentelemetry/instrumentation/faraday/middlewares/tracer_middleware_test.rb index acedc19d2..8a0def73c 100644 --- a/instrumentation/faraday/test/opentelemetry/instrumentation/faraday/middlewares/tracer_middleware_test.rb +++ b/instrumentation/faraday/test/opentelemetry/instrumentation/faraday/middlewares/tracer_middleware_test.rb @@ -198,5 +198,18 @@ _(span.status.code).must_equal OpenTelemetry::Trace::Status::ERROR end end + + describe 'when explicitly adding the tracer middleware' do + let(:client) do + Faraday.new do |builder| + builder.use :open_telemetry + end + end + + it 'only adds the middleware once' do + tracers = client.builder.handlers.count(OpenTelemetry::Instrumentation::Faraday::Middlewares::TracerMiddleware) + _(tracers).must_equal 1 + end + end end end From ec948c462a8dfa35baa9f24ccadde7dc057a39c1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 20 Jun 2024 13:11:55 -0500 Subject: [PATCH 30/82] release: Release opentelemetry-instrumentation-faraday 0.24.5 (was 0.24.4) (#1034) --- instrumentation/faraday/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/faraday/version.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/instrumentation/faraday/CHANGELOG.md b/instrumentation/faraday/CHANGELOG.md index 328cf497f..a3e04733d 100644 --- a/instrumentation/faraday/CHANGELOG.md +++ b/instrumentation/faraday/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-faraday +### v0.24.5 / 2024-06-20 + +* FIXED: Compatibility with Faraday v1 + ### v0.24.4 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb b/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb index 951b0939e..f049c317f 100644 --- a/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb +++ b/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Faraday - VERSION = '0.24.4' + VERSION = '0.24.5' end end end From 4bb72626d1920f746d1079ee3a6c64a934e3aa04 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 20 Jun 2024 13:38:22 -0500 Subject: [PATCH 31/82] release: Release opentelemetry-instrumentation-active_support 0.5.2 (was 0.5.1) (#1035) * release: Release opentelemetry-instrumentation-active_support 0.5.2 (was 0.5.1) * ci: Force --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Ariel Valentin --- instrumentation/active_support/CHANGELOG.md | 4 ++++ .../opentelemetry/instrumentation/active_support/version.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/instrumentation/active_support/CHANGELOG.md b/instrumentation/active_support/CHANGELOG.md index 47f8a176c..7dd2c8d6c 100644 --- a/instrumentation/active_support/CHANGELOG.md +++ b/instrumentation/active_support/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-active_support +### v0.5.2 / 2024-06-20 + +* ADDED: ActiveSupport user specified span kind + ### v0.5.1 / 2023-11-23 * CHANGED: Applied Rubocop Performance Recommendations [#727](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/727) diff --git a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb index 60c531ca6..1b7ee02b5 100644 --- a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb +++ b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveSupport - VERSION = '0.5.1' + VERSION = '0.5.2' end end end From a3249381392bbfdb7ce06a69bcc6840a0d955c7b Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Thu, 20 Jun 2024 15:06:15 -0500 Subject: [PATCH 32/82] fix: Include span kind in ActiveSupport Instrumentation helper (#1036) * fix: Include span kind in AS helper This change fixes a bug where the kind parameter was not passed along to the subscriber object * squash: add test coverage * squash: updated example --- .../instrumentation/active_support/span_subscriber.rb | 4 ++-- .../active_support/span_subscriber_test.rb | 11 +++++++++++ 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb index 41efeb94a..8c9e879e8 100644 --- a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb +++ b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb @@ -20,14 +20,14 @@ def self.subscribe( pattern, notification_payload_transform = nil, disallowed_notification_payload_keys = [], - kind = nil + kind: nil ) subscriber = OpenTelemetry::Instrumentation::ActiveSupport::SpanSubscriber.new( name: pattern, tracer: tracer, notification_payload_transform: notification_payload_transform, disallowed_notification_payload_keys: disallowed_notification_payload_keys, - kind: nil + kind: kind ) subscriber_object = ::ActiveSupport::Notifications.subscribe(pattern, subscriber) diff --git a/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb b/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb index 4b6b596d7..61afd26fa 100644 --- a/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb +++ b/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb @@ -223,6 +223,7 @@ def finish(name, id, payload) _(last_span).wont_be_nil _(last_span.name).must_equal('foo bar') _(last_span.attributes['extra']).must_equal('context') + _(last_span.kind).must_equal(:internal) end it 'finishes spans even when block subscribers blow up' do @@ -260,5 +261,15 @@ def finish(name, id, payload) _(obj.class).must_equal(ActiveSupport::Notifications::Fanout::Subscribers::Evented) _(last_span).must_be_nil end + + it 'supports setting the span kind' do + OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, 'bar.foo', nil, [], kind: :client) + ActiveSupport::Notifications.instrument('bar.foo', extra: 'context') + + _(last_span).wont_be_nil + _(last_span.name).must_equal('foo bar') + _(last_span.attributes['extra']).must_equal('context') + _(last_span.kind).must_equal(:client) + end end end From 989da17c33c345ad285f70a0821078a6e21d389d Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Thu, 20 Jun 2024 15:09:19 -0500 Subject: [PATCH 33/82] perf: Reduce Context Allocations in ActiveJob (#1018) * perf: Reduce Context Allocations in ActiveJob After seeing changes to Rack::Events that reduced the number of active contexts required for ingress spans, I decided to apply the same changes to ActiveJob * doc: Update default.rb Co-authored-by: Steven Harman --------- Co-authored-by: Steven Harman --- instrumentation/active_job/Appraisals | 4 ++++ .../active_job/handlers/default.rb | 15 +++++++-------- .../active_job/handlers/enqueue.rb | 3 +-- .../active_job/handlers/perform.rb | 10 +++------- 4 files changed, 15 insertions(+), 17 deletions(-) diff --git a/instrumentation/active_job/Appraisals b/instrumentation/active_job/Appraisals index 05429cd62..a25edd334 100644 --- a/instrumentation/active_job/Appraisals +++ b/instrumentation/active_job/Appraisals @@ -9,3 +9,7 @@ gem 'activejob', "~> #{version}" end end + +appraise 'activejob-latest' do + gem 'activejob' +end diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/default.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/default.rb index 9a5db43b5..692346aeb 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/default.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/default.rb @@ -41,9 +41,9 @@ def start(name, id, payload) # @return [Hash] with the span and generated context tokens def start_span(name, _id, payload) span = tracer.start_span(name, attributes: @mapper.call(payload)) - tokens = [OpenTelemetry::Context.attach(OpenTelemetry::Trace.context_with_span(span))] + token = OpenTelemetry::Context.attach(OpenTelemetry::Trace.context_with_span(span)) - { span: span, ctx_tokens: tokens } + { span: span, ctx_token: token } end # Creates a span and registers it with the current context @@ -55,20 +55,20 @@ def start_span(name, _id, payload) def finish(_name, _id, payload) otel = payload.delete(:__otel) span = otel&.fetch(:span) - tokens = otel&.fetch(:ctx_tokens) + token = otel&.fetch(:ctx_token) on_exception((payload[:error] || payload[:exception_object]), span) rescue StandardError => e OpenTelemetry.handle_error(exception: e) ensure - finish_span(span, tokens) + finish_span(span, token) end # Finishes the provided spans and also detaches the associated contexts # # @param span [OpenTelemetry::Trace::Span] - # @param tokens [Array] to unregister - def finish_span(span, tokens) + # @param token [Numeric] to unregister + def finish_span(span, token) # closes the span after all attributes have been finalized begin if span&.recording? @@ -79,8 +79,7 @@ def finish_span(span, tokens) OpenTelemetry.handle_error(exception: e) end - # pops the context stack - tokens&.reverse_each do |token| + begin OpenTelemetry::Context.detach(token) rescue StandardError => e OpenTelemetry.handle_error(exception: e) diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb index 7dace8a95..4b4c55937 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb @@ -29,9 +29,8 @@ def initialize(...) def start_span(name, _id, payload) job = payload.fetch(:job) span = tracer.start_span(@span_name_formatter.call(job), kind: :producer, attributes: @mapper.call(payload)) - tokens = [OpenTelemetry::Context.attach(OpenTelemetry::Trace.context_with_span(span))] OpenTelemetry.propagation.inject(job.__otel_headers) # This must be transmitted over the wire - { span: span, ctx_tokens: tokens } + { span: span, ctx_token: OpenTelemetry::Context.attach(OpenTelemetry::Trace.context_with_span(span)) } end end end diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb index 6dd7e2e28..bbfd2ed27 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb @@ -27,7 +27,6 @@ def initialize(...) # @param payload [Hash] containing job run information # @return [Hash] with the span and generated context tokens def start_span(name, _id, payload) - tokens = [] job = payload.fetch(:job) parent_context = OpenTelemetry.propagation.extract(job.__otel_headers) @@ -36,7 +35,6 @@ def start_span(name, _id, payload) # TODO: Refactor into a propagation strategy propagation_style = @config[:propagation_style] if propagation_style == :child - tokens << OpenTelemetry::Context.attach(parent_context) span = tracer.start_span(span_name, kind: :consumer, attributes: @mapper.call(payload)) else span_context = OpenTelemetry::Trace.current_span(parent_context).context @@ -44,9 +42,7 @@ def start_span(name, _id, payload) span = tracer.start_root_span(span_name, kind: :consumer, attributes: @mapper.call(payload), links: links) end - tokens.concat(attach_consumer_context(span)) - - { span: span, ctx_tokens: tokens } + { span: span, ctx_token: attach_consumer_context(span) } end # This method attaches a span to multiple contexts: @@ -54,12 +50,12 @@ def start_span(name, _id, payload) # This is used later to enrich the ingress span in children, e.g. setting span status to error when a child event like `discard` terminates due to an error # 2. Registers the ingress span as the "active" span, which is the default behavior of the SDK. # @param span [OpenTelemetry::Trace::Span] the currently active span used to record the exception and set the status - # @return [Array] Context tokens that must be detached when finished + # @return [Numeric] Context token that must be detached when finished def attach_consumer_context(span) consumer_context = OpenTelemetry::Trace.context_with_span(span) internal_context = OpenTelemetry::Instrumentation::ActiveJob.context_with_span(span, parent_context: consumer_context) - [consumer_context, internal_context].map { |context| OpenTelemetry::Context.attach(context) } + OpenTelemetry::Context.attach(internal_context) end end end From 52b4194227a0bda4dc85c9802e629e3a5b476153 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 20 Jun 2024 16:38:51 -0500 Subject: [PATCH 34/82] release: Release opentelemetry-instrumentation-active_support 0.5.3 (was 0.5.2) (#1037) * release: Release opentelemetry-instrumentation-active_support 0.5.3 (was 0.5.2) * ci: Force --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Ariel Valentin --- instrumentation/active_support/CHANGELOG.md | 4 ++++ .../opentelemetry/instrumentation/active_support/version.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/instrumentation/active_support/CHANGELOG.md b/instrumentation/active_support/CHANGELOG.md index 7dd2c8d6c..9e9563b07 100644 --- a/instrumentation/active_support/CHANGELOG.md +++ b/instrumentation/active_support/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-active_support +### v0.5.3 / 2024-06-20 + +* FIXED: Include span kind in ActiveSupport Instrumentation helper + ### v0.5.2 / 2024-06-20 * ADDED: ActiveSupport user specified span kind diff --git a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb index 1b7ee02b5..f319c6409 100644 --- a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb +++ b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveSupport - VERSION = '0.5.2' + VERSION = '0.5.3' end end end From 08fad6e6e56c3f1ef350f75bf17a175038d177eb Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Fri, 21 Jun 2024 18:29:33 -0500 Subject: [PATCH 35/82] feat: Make Rack install optional for sinatra (#1019) * feat: Make Rack install optional for sinatra This allows for scenarios when there are multiple Rack Applications mounted in the same builder and you want to avoid installing the Rack Events middleware multiple times in the stack. A common example is a Rails application that mounts a Sinatra App in the routes file: ```ruby Rails.application.routes.draw do mount Sinatra::Application, at: '/sinatra' end ``` This results in the Rack middleware being installed multiple times. Once by the Rails ActionPack instrumentation and then by the Sinatra application leading to multiple Rack spans being created in the same trace. This change allows you to avoid this by setting the install_rack option to false when using Sinatra instrumentation and allowing users to manually configure the middleware in the stack as they see fit. * very strange * squash: will this work * squash: wtf * squash: fix tests * squash: Add docs PR feedback * squash: add example * squash: add more test * Update instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/instrumentation.rb Co-authored-by: Kayla Reopelle (she/her) <87386821+kaylareopelle@users.noreply.github.com> * Update instrumentation/sinatra/test/opentelemetry/instrumentation/sinatra_test.rb Co-authored-by: Kayla Reopelle (she/her) <87386821+kaylareopelle@users.noreply.github.com> --------- Co-authored-by: Kayla Reopelle (she/her) <87386821+kaylareopelle@users.noreply.github.com> --- instrumentation/sinatra/Appraisals | 4 ++ instrumentation/sinatra/example/config.ru | 51 ++++++++++++++++++ .../opentelemetry/instrumentation/sinatra.rb | 2 +- .../sinatra/extensions/tracer_extension.rb | 30 ++++++----- .../sinatra/instrumentation.rb | 41 ++++++++++++-- .../instrumentation/sinatra_test.rb | 54 ++++++++++++++++++- 6 files changed, 162 insertions(+), 20 deletions(-) create mode 100755 instrumentation/sinatra/example/config.ru diff --git a/instrumentation/sinatra/Appraisals b/instrumentation/sinatra/Appraisals index 837cb545c..f04c6775b 100644 --- a/instrumentation/sinatra/Appraisals +++ b/instrumentation/sinatra/Appraisals @@ -15,3 +15,7 @@ end appraise 'sinatra-2.x' do gem 'sinatra', '~> 2.1' end + +appraise 'sinatra-latest' do + gem 'sinatra' +end diff --git a/instrumentation/sinatra/example/config.ru b/instrumentation/sinatra/example/config.ru new file mode 100755 index 000000000..0de51a949 --- /dev/null +++ b/instrumentation/sinatra/example/config.ru @@ -0,0 +1,51 @@ +#!/usr/bin/env ruby + +# frozen_string_literal: true + +# Copyright The OpenTelemetry Authors +# +# SPDX-License-Identifier: Apache-2.0 + +# Example rack application that manually manages tracer middleware + +require 'rubygems' +require 'bundler/setup' + +Bundler.require + +ENV['OTEL_TRACES_EXPORTER'] = 'console' +OpenTelemetry::SDK.configure do |c| + c.use_all({ + 'OpenTelemetry::Instrumentation::Rack' => { }, + 'OpenTelemetry::Instrumentation::Sinatra' => { install_rack: false } + }) +end + +# Example application for the Sinatra instrumentation +class App < Sinatra::Base + set :show_exceptions, false + + template :example_render do + 'Example Render' + end + + get '/example' do + 'Sinatra Instrumentation Example' + end + + # Uses `render` method + get '/example_render' do + erb :example_render + end + + get '/thing/:id' do + 'Thing 1' + end + + get '/error' do + raise 'Panic!' + end +end + +use(*OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.middleware_args) +run App diff --git a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra.rb b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra.rb index 5b6147252..c6bf01670 100644 --- a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra.rb +++ b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra.rb @@ -9,7 +9,7 @@ module OpenTelemetry module Instrumentation - # Contains the OpenTelemetry instrumentation for the Sinatra gem + # (see OpenTelemetry::Instrumentation::Sinatra::Instrumentation) module Sinatra end end diff --git a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/extensions/tracer_extension.rb b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/extensions/tracer_extension.rb index 2a2ca4743..4205326da 100644 --- a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/extensions/tracer_extension.rb +++ b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/extensions/tracer_extension.rb @@ -13,23 +13,25 @@ module Extensions # Sinatra extension that installs TracerMiddleware and provides # tracing for template rendering module TracerExtension - # Sinatra hook after extension is registered - def self.registered(app) - # Create tracing `render` method - ::Sinatra::Base.module_eval do - def render(_engine, data, *) - template_name = data.is_a?(Symbol) ? data : :literal + # Contants patches for `render` method + module RenderPatches + def render(_engine, data, *) + template_name = data.is_a?(Symbol) ? data : :literal - Sinatra::Instrumentation.instance.tracer.in_span( - 'sinatra.render_template', - attributes: { 'sinatra.template_name' => template_name.to_s } - ) do - super - end + Sinatra::Instrumentation.instance.tracer.in_span( + 'sinatra.render_template', + attributes: { 'sinatra.template_name' => template_name.to_s } + ) do + super end end - app.use(*OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.middleware_args) - app.use(Middlewares::TracerMiddleware) + end + + # Sinatra hook after extension is registered + def self.registered(app) + # Create tracing `render` method + ::Sinatra::Base.prepend(RenderPatches) + Sinatra::Instrumentation.instance.install_middleware(app) end end end diff --git a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/instrumentation.rb b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/instrumentation.rb index b7127838e..bd7b85ad6 100644 --- a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/instrumentation.rb +++ b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/instrumentation.rb @@ -9,18 +9,51 @@ module OpenTelemetry module Instrumentation module Sinatra - # The Instrumentation class contains logic to detect and install the Sinatra - # instrumentation + # The {OpenTelemetry::Instrumentation::Sinatra::Instrumentation} class contains logic to detect and install the Sinatra instrumentation + # + # Installation and configuration of this instrumentation is done within the + # {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry/SDK#configure-instance_method OpenTelemetry::SDK#configure} + # block, calling {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry%2FSDK%2FConfigurator:use use()} + # or {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry%2FSDK%2FConfigurator:use_all use_all()}. + # + # ## Configuration keys and options + # + # ### `:install_rack` + # + # Default is `true`. Specifies whether or not to install the Rack instrumentation as part of installing the Sinatra instrumentation. + # This is useful in cases where you have multiple Rack applications but want to manually specify where to insert the tracing middleware. + # + # @example Manually install Rack instrumentation. + # OpenTelemetry::SDK.configure do |c| + # c.use_all({ + # 'OpenTelemetry::Instrumentation::Rack' => { }, + # 'OpenTelemetry::Instrumentation::Sinatra' => { + # install_rack: false + # }, + # }) + # end + # class Instrumentation < OpenTelemetry::Instrumentation::Base - install do |_| - OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.install({}) + install do |config| + OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.install({}) if config[:install_rack] + + unless OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.installed? + OpenTelemetry.logger.warn('Rack instrumentation is required for Sinatra but not installed. Please see the docs for more details: https://opentelemetry.io/docs/languages/ruby/libraries/') + end ::Sinatra::Base.register Extensions::TracerExtension end + option :install_rack, default: true, validate: :boolean + present do defined?(::Sinatra) end + + def install_middleware(app) + app.use(*OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.middleware_args) if config[:install_rack] + app.use(Middlewares::TracerMiddleware) + end end end end diff --git a/instrumentation/sinatra/test/opentelemetry/instrumentation/sinatra_test.rb b/instrumentation/sinatra/test/opentelemetry/instrumentation/sinatra_test.rb index e83efbc91..0425595b8 100644 --- a/instrumentation/sinatra/test/opentelemetry/instrumentation/sinatra_test.rb +++ b/instrumentation/sinatra/test/opentelemetry/instrumentation/sinatra_test.rb @@ -11,6 +11,7 @@ let(:instrumentation) { OpenTelemetry::Instrumentation::Sinatra::Instrumentation.instance } let(:exporter) { EXPORTER } + let(:config) { {} } class CustomError < StandardError; end @@ -66,7 +67,14 @@ class CustomError < StandardError; end end before do - instrumentation.install + Sinatra::Base.reset! + + OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.instance_variable_set(:@installed, false) + OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.config.clear + + instrumentation.instance_variable_set(:@installed, false) + instrumentation.config.clear + instrumentation.install(config) exporter.reset end @@ -169,4 +177,48 @@ class CustomError < StandardError; end _(exporter.finished_spans.first.events[0].attributes['exception.message']).must_equal('custom message') end end + + describe 'when install_rack is set to false' do + let(:config) { { install_rack: false } } + + describe 'missing rack installation' do + it 'disables tracing' do + get '/one/endpoint' + + _(exporter.finished_spans).must_be_empty + end + end + + describe 'when rack is manually installed' do + let(:app) do + apps_to_build = apps + Rack::Builder.new do + use(*OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.middleware_args) + + apps_to_build.each do |root, app| + map root do + run app + end + end + end.to_app + end + + before do + OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.install + end + + it 'creates a span' do + get '/one/endpoint' + + _(exporter.finished_spans.first.attributes).must_equal( + 'http.method' => 'GET', + 'http.host' => 'example.org', + 'http.scheme' => 'http', + 'http.target' => '/one/endpoint', + 'http.route' => '/endpoint', + 'http.status_code' => 200 + ) + end + end + end end From d4f5ca1fbc758f3bbabc7e626bfd09684f8eda5d Mon Sep 17 00:00:00 2001 From: Steven Harman Date: Mon, 24 Jun 2024 10:57:59 -0400 Subject: [PATCH 36/82] docs: Fix CHANGELOGs to reflect a past breaking change (#1038) This was actually a breaking change, and despite `:fix!` being used in the commit, the release tooling failed to mark the change as breaking. Refs: #648, #655 --- instrumentation/active_job/CHANGELOG.md | 2 +- instrumentation/all/CHANGELOG.md | 4 ++-- instrumentation/aws_sdk/CHANGELOG.md | 2 +- instrumentation/bunny/CHANGELOG.md | 2 +- instrumentation/delayed_job/CHANGELOG.md | 2 +- instrumentation/que/CHANGELOG.md | 2 +- instrumentation/racecar/CHANGELOG.md | 2 +- instrumentation/rails/CHANGELOG.md | 2 +- instrumentation/rdkafka/CHANGELOG.md | 2 +- instrumentation/ruby_kafka/CHANGELOG.md | 2 +- instrumentation/sidekiq/CHANGELOG.md | 4 ++-- 11 files changed, 13 insertions(+), 13 deletions(-) diff --git a/instrumentation/active_job/CHANGELOG.md b/instrumentation/active_job/CHANGELOG.md index 712d456e8..c282b9f46 100644 --- a/instrumentation/active_job/CHANGELOG.md +++ b/instrumentation/active_job/CHANGELOG.md @@ -20,7 +20,7 @@ ### v0.6.0 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names +* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) ### v0.5.2 / 2023-08-03 diff --git a/instrumentation/all/CHANGELOG.md b/instrumentation/all/CHANGELOG.md index 503c1ae3e..8a0136ef2 100644 --- a/instrumentation/all/CHANGELOG.md +++ b/instrumentation/all/CHANGELOG.md @@ -57,11 +57,11 @@ ### v0.50.1 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names (Resque) +* BREAKING CHANGE: Align messaging instrumentation operation names (Resque) ### v0.50.0 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names +* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) ### v0.40.0 / 2023-08-07 diff --git a/instrumentation/aws_sdk/CHANGELOG.md b/instrumentation/aws_sdk/CHANGELOG.md index a8653eec7..a68afd850 100644 --- a/instrumentation/aws_sdk/CHANGELOG.md +++ b/instrumentation/aws_sdk/CHANGELOG.md @@ -10,7 +10,7 @@ ### v0.5.0 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names +* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) ### v0.4.2 / 2023-08-03 diff --git a/instrumentation/bunny/CHANGELOG.md b/instrumentation/bunny/CHANGELOG.md index bbbe07d1b..19b8a1589 100644 --- a/instrumentation/bunny/CHANGELOG.md +++ b/instrumentation/bunny/CHANGELOG.md @@ -14,7 +14,7 @@ ### v0.21.0 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names +* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) ### v0.20.1 / 2023-06-05 diff --git a/instrumentation/delayed_job/CHANGELOG.md b/instrumentation/delayed_job/CHANGELOG.md index e25709896..521a2d9c4 100644 --- a/instrumentation/delayed_job/CHANGELOG.md +++ b/instrumentation/delayed_job/CHANGELOG.md @@ -16,7 +16,7 @@ ### v0.21.0 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names +* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) ### v0.20.1 / 2023-06-05 diff --git a/instrumentation/que/CHANGELOG.md b/instrumentation/que/CHANGELOG.md index 334c4dee1..cbafc4367 100644 --- a/instrumentation/que/CHANGELOG.md +++ b/instrumentation/que/CHANGELOG.md @@ -15,7 +15,7 @@ ### v0.7.0 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names +* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) ### v0.6.2 / 2023-08-07 diff --git a/instrumentation/racecar/CHANGELOG.md b/instrumentation/racecar/CHANGELOG.md index a88b20ba9..4ced68134 100644 --- a/instrumentation/racecar/CHANGELOG.md +++ b/instrumentation/racecar/CHANGELOG.md @@ -10,7 +10,7 @@ ### v0.3.0 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names +* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) ### v0.2.1 / 2023-06-05 diff --git a/instrumentation/rails/CHANGELOG.md b/instrumentation/rails/CHANGELOG.md index ce815236c..9a52abc95 100644 --- a/instrumentation/rails/CHANGELOG.md +++ b/instrumentation/rails/CHANGELOG.md @@ -28,7 +28,7 @@ ### v0.28.0 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names +* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) ### v0.27.1 / 2023-06-05 diff --git a/instrumentation/rdkafka/CHANGELOG.md b/instrumentation/rdkafka/CHANGELOG.md index 3fc78ff06..c6fff3102 100644 --- a/instrumentation/rdkafka/CHANGELOG.md +++ b/instrumentation/rdkafka/CHANGELOG.md @@ -26,7 +26,7 @@ ### v0.4.0 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names +* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) ### v0.3.2 / 2023-07-21 diff --git a/instrumentation/ruby_kafka/CHANGELOG.md b/instrumentation/ruby_kafka/CHANGELOG.md index e19742155..2dfcf87e0 100644 --- a/instrumentation/ruby_kafka/CHANGELOG.md +++ b/instrumentation/ruby_kafka/CHANGELOG.md @@ -6,7 +6,7 @@ ### v0.21.0 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names +* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) ### v0.20.2 / 2023-08-09 diff --git a/instrumentation/sidekiq/CHANGELOG.md b/instrumentation/sidekiq/CHANGELOG.md index f8a047837..8c360317f 100644 --- a/instrumentation/sidekiq/CHANGELOG.md +++ b/instrumentation/sidekiq/CHANGELOG.md @@ -22,8 +22,8 @@ ### v0.25.0 / 2023-09-07 -* FIXED: Align messaging instrumentation operation names - +* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) +* ### v0.24.4 / 2023-08-07 * FIXED: Allow traces inside jobs while avoiding Redis noise From e14d6b0e69a27fd22d9bacabef3a99c32ce1fde9 Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Mon, 24 Jun 2024 11:46:05 -0400 Subject: [PATCH 37/82] feat!: Custom ActiveSupport Span Names (#1014) * feat!: Custom ActiveSupport Span Names The current implementation of ActiveSupport instrumentation sets the span name to the reverse tokenized name, e.g. `render_template.action_view` is converted to `action_view render_template` This default behavior can sometimes seem counter intuitive for users who use ActiveSupport Notifications to instrument their own code or users who are familiar with Rails instrumentation names. This change does a few things to address the issues listed above: 1. Uses the notification name by default as oppossed to the legacy span name 2. Allows users to provide a custom span name formatter lambda 3. Provides a proc with backward compatible span name formatter `OpenTelemetry::Instrumentation::ActiveSupport::LEGACY_NAME_FORMATTER` See https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues/957 * squash: Bolt on a few things * squash: would be great if the tests passed * squash: Linter --- instrumentation/active_support/README.md | 10 +- .../active_support/span_subscriber.rb | 30 ++++-- ...try-instrumentation-active_support.gemspec | 1 + .../active_support/span_subscriber_test.rb | 94 ++++++++++++++----- .../active_support/test/test_helper.rb | 1 + 5 files changed, 107 insertions(+), 29 deletions(-) diff --git a/instrumentation/active_support/README.md b/instrumentation/active_support/README.md index 04235ba73..9cefa2f4f 100644 --- a/instrumentation/active_support/README.md +++ b/instrumentation/active_support/README.md @@ -1,12 +1,15 @@ # OpenTelemetry ActiveSupport Instrumentation + The Active Support instrumentation is a community-maintained instrumentation for the Active Support portion of the [Ruby on Rails][rails-home] web-application framework. ## How do I get started? Install the gem using: -``` +```console + gem install opentelemetry-instrumentation-active_support + ``` Or, if you use [bundler][bundler-home], include `opentelemetry-instrumentation-active_support` in your `Gemfile`. @@ -17,21 +20,24 @@ To use the instrumentation, call `use` with the name of the instrumentation and to desired ActiveSupport notification: ```ruby + OpenTelemetry::SDK.configure do |c| c.use 'OpenTelemetry::Instrumentation::ActiveSupport' end - tracer = OpenTelemetry.tracer_provider.tracer('my_app_or_gem', '0.1.0') ::OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, 'bar.foo') + ``` Alternatively, you can also call `use_all` to install all the available instrumentation. ```ruby + OpenTelemetry::SDK.configure do |c| c.use_all end + ``` ## Examples diff --git a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb index 8c9e879e8..66f1f96a2 100644 --- a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb +++ b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/span_subscriber.rb @@ -8,6 +8,9 @@ module OpenTelemetry module Instrumentation # rubocop:disable Style/Documentation module ActiveSupport + LEGACY_NAME_FORMATTER = ->(name) { name.split('.')[0..1].reverse.join(' ') } + + # rubocop:disable Metrics/ParameterLists # The SpanSubscriber is a special ActiveSupport::Notification subscription # handler which turns notifications into generic spans, taking care to handle # context appropriately. @@ -19,15 +22,17 @@ def self.subscribe( tracer, pattern, notification_payload_transform = nil, - disallowed_notification_payload_keys = [], - kind: nil + disallowed_notification_payload_keys = nil, + kind: nil, + span_name_formatter: nil ) subscriber = OpenTelemetry::Instrumentation::ActiveSupport::SpanSubscriber.new( name: pattern, tracer: tracer, notification_payload_transform: notification_payload_transform, disallowed_notification_payload_keys: disallowed_notification_payload_keys, - kind: kind + kind: kind, + span_name_formatter: span_name_formatter ) subscriber_object = ::ActiveSupport::Notifications.subscribe(pattern, subscriber) @@ -54,16 +59,19 @@ def self.subscribe( subscriber_object end + # rubocop:enable Metrics/ParameterLists class SpanSubscriber ALWAYS_VALID_PAYLOAD_TYPES = [TrueClass, FalseClass, String, Numeric, Symbol].freeze - def initialize(name:, tracer:, notification_payload_transform: nil, disallowed_notification_payload_keys: [], kind: nil) - @span_name = name.split('.')[0..1].reverse.join(' ').freeze + # rubocop:disable Metrics/ParameterLists + def initialize(name:, tracer:, notification_payload_transform: nil, disallowed_notification_payload_keys: nil, kind: nil, span_name_formatter: nil) + @span_name = safe_span_name_for(span_name_formatter, name).dup.freeze @tracer = tracer @notification_payload_transform = notification_payload_transform - @disallowed_notification_payload_keys = disallowed_notification_payload_keys + @disallowed_notification_payload_keys = Array(disallowed_notification_payload_keys) @kind = kind || :internal end + # rubocop:enable Metrics/ParameterLists def start(name, id, payload) span = @tracer.start_span(@span_name, kind: @kind) @@ -128,6 +136,16 @@ def sanitized_value(value) value end end + + # Helper method to try an shield the span name formatter from errors + # + # It wraps the user supplied formatter in a rescue block and returns the original name if a StandardError is raised by the formatter + def safe_span_name_for(span_name_formatter, name) + span_name_formatter&.call(name) || name + rescue StandardError => e + OpenTelemetry.handle_error(exception: e, message: 'Error calling span_name_formatter. Using default span name.') + name + end end end end diff --git a/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec b/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec index 8b6b68faf..30201b7d6 100644 --- a/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec +++ b/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec @@ -38,6 +38,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry-byebug' spec.add_development_dependency 'rails', '>= 6.1' spec.add_development_dependency 'rake', '~> 13.0' + spec.add_development_dependency 'rspec-mocks' spec.add_development_dependency 'rubocop', '~> 1.64.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' diff --git a/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb b/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb index 61afd26fa..f42141afb 100644 --- a/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb +++ b/instrumentation/active_support/test/opentelemetry/instrumentation/active_support/span_subscriber_test.rb @@ -12,9 +12,10 @@ let(:exporter) { EXPORTER } let(:last_span) { exporter.finished_spans.last } let(:span_kind) { nil } + let(:notification_name) { 'bar.foo' } let(:subscriber) do OpenTelemetry::Instrumentation::ActiveSupport::SpanSubscriber.new( - name: 'bar.foo', + name: notification_name, tracer: tracer, kind: span_kind ) @@ -36,7 +37,7 @@ def finish(name, id, payload) it 'memoizes the span name' do span, = subscriber.start('oh.hai', 'abc', {}) - _(span.name).must_equal('foo bar') + _(span.name).must_equal(notification_name) end it 'uses the provided tracer' do @@ -115,7 +116,7 @@ def finish(name, id, payload) describe 'instrumentation option - disallowed_notification_payload_keys' do let(:subscriber) do OpenTelemetry::Instrumentation::ActiveSupport::SpanSubscriber.new( - name: 'bar.foo', + name: notification_name, tracer: tracer, notification_payload_transform: nil, disallowed_notification_payload_keys: [:foo] @@ -153,7 +154,7 @@ def finish(name, id, payload) let(:transformer_proc) { ->(v) { v.transform_values { 'optimus prime' } } } let(:subscriber) do OpenTelemetry::Instrumentation::ActiveSupport::SpanSubscriber.new( - name: 'bar.foo', + name: notification_name, tracer: tracer, notification_payload_transform: transformer_proc, disallowed_notification_payload_keys: [:foo] @@ -205,58 +206,109 @@ def finish(name, id, payload) describe 'instrument' do before do - ActiveSupport::Notifications.unsubscribe('bar.foo') + ActiveSupport::Notifications.unsubscribe(notification_name) end it 'does not trace an event by default' do - ActiveSupport::Notifications.subscribe('bar.foo') do + ActiveSupport::Notifications.subscribe(notification_name) do # pass end - ActiveSupport::Notifications.instrument('bar.foo', extra: 'context') + ActiveSupport::Notifications.instrument(notification_name, extra: 'context') _(last_span).must_be_nil end it 'traces an event when a span subscriber is used' do - OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, 'bar.foo') - ActiveSupport::Notifications.instrument('bar.foo', extra: 'context') + OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, notification_name) + ActiveSupport::Notifications.instrument(notification_name, extra: 'context') _(last_span).wont_be_nil - _(last_span.name).must_equal('foo bar') + _(last_span.name).must_equal(notification_name) _(last_span.attributes['extra']).must_equal('context') _(last_span.kind).must_equal(:internal) end + describe 'when using a custom span name formatter' do + describe 'when using the LEGACY_NAME_FORMATTER' do + let(:span_name_formatter) { OpenTelemetry::Instrumentation::ActiveSupport::LEGACY_NAME_FORMATTER } + it 'uses the user supplied formatter' do + OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, notification_name, nil, nil, span_name_formatter: span_name_formatter) + ActiveSupport::Notifications.instrument(notification_name, extra: 'context') + + _(last_span).wont_be_nil + _(last_span.name).must_equal('foo bar') + _(last_span.attributes['extra']).must_equal('context') + end + end + + describe 'when using a custom formatter' do + let(:span_name_formatter) { ->(name) { "custom.#{name}" } } + + it 'uses the user supplied formatter' do + OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, notification_name, nil, nil, span_name_formatter: span_name_formatter) + ActiveSupport::Notifications.instrument(notification_name, extra: 'context') + + _(last_span).wont_be_nil + _(last_span.name).must_equal('custom.bar.foo') + _(last_span.attributes['extra']).must_equal('context') + end + end + + describe 'when using a invalid formatter' do + it 'defaults to the notification name' do + OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, notification_name, nil, nil, span_name_formatter: ->(_) {}) + ActiveSupport::Notifications.instrument(notification_name, extra: 'context') + + _(last_span).wont_be_nil + _(last_span.name).must_equal(notification_name) + _(last_span.attributes['extra']).must_equal('context') + end + end + + describe 'when using a unstable formatter' do + it 'defaults to the notification name' do + allow(OpenTelemetry).to receive(:handle_error).with(exception: RuntimeError, message: String) + + OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, notification_name, nil, nil, span_name_formatter: ->(_) { raise 'boom' }) + ActiveSupport::Notifications.instrument(notification_name, extra: 'context') + + _(last_span).wont_be_nil + _(last_span.name).must_equal(notification_name) + _(last_span.attributes['extra']).must_equal('context') + end + end + end + it 'finishes spans even when block subscribers blow up' do - ActiveSupport::Notifications.subscribe('bar.foo') { raise 'boom' } - OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, 'bar.foo') + ActiveSupport::Notifications.subscribe(notification_name) { raise 'boom' } + OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, notification_name) expect do - ActiveSupport::Notifications.instrument('bar.foo', extra: 'context') + ActiveSupport::Notifications.instrument(notification_name, extra: 'context') end.must_raise RuntimeError _(last_span).wont_be_nil - _(last_span.name).must_equal('foo bar') + _(last_span.name).must_equal(notification_name) _(last_span.attributes['extra']).must_equal('context') end it 'finishes spans even when complex subscribers blow up' do - ActiveSupport::Notifications.subscribe('bar.foo', CrashingEndSubscriber.new) - OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, 'bar.foo') + ActiveSupport::Notifications.subscribe(notification_name, CrashingEndSubscriber.new) + OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, notification_name) expect do - ActiveSupport::Notifications.instrument('bar.foo', extra: 'context') + ActiveSupport::Notifications.instrument(notification_name, extra: 'context') end.must_raise RuntimeError _(last_span).wont_be_nil - _(last_span.name).must_equal('foo bar') + _(last_span.name).must_equal(notification_name) _(last_span.attributes['extra']).must_equal('context') end it 'supports unsubscribe' do - obj = OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, 'bar.foo') + obj = OpenTelemetry::Instrumentation::ActiveSupport.subscribe(tracer, notification_name) ActiveSupport::Notifications.unsubscribe(obj) - ActiveSupport::Notifications.instrument('bar.foo', extra: 'context') + ActiveSupport::Notifications.instrument(notification_name, extra: 'context') _(obj.class).must_equal(ActiveSupport::Notifications::Fanout::Subscribers::Evented) _(last_span).must_be_nil @@ -267,7 +319,7 @@ def finish(name, id, payload) ActiveSupport::Notifications.instrument('bar.foo', extra: 'context') _(last_span).wont_be_nil - _(last_span.name).must_equal('foo bar') + _(last_span.name).must_equal('bar.foo') _(last_span.attributes['extra']).must_equal('context') _(last_span.kind).must_equal(:client) end diff --git a/instrumentation/active_support/test/test_helper.rb b/instrumentation/active_support/test/test_helper.rb index 011abee7b..2c5c5cce2 100644 --- a/instrumentation/active_support/test/test_helper.rb +++ b/instrumentation/active_support/test/test_helper.rb @@ -12,6 +12,7 @@ require 'opentelemetry-instrumentation-active_support' require 'minitest/autorun' +require 'rspec/mocks/minitest_integration' require 'webmock/minitest' # global opentelemetry-sdk setup: From 7dd1c5d3bd4c6e94268f46365343b58cb848fce1 Mon Sep 17 00:00:00 2001 From: Christopher Holmes Date: Tue, 2 Jul 2024 19:24:35 +0200 Subject: [PATCH 38/82] feat: make the install of rack instrumentation by grape instrumentation optional (#1043) * feat: optional rack instrumentation install by grape instrumentation In some circumstances we may want to defer the installation of the rack instrumentation that is orchestrated during the grape instrumentation installation. For example, we may want to customise the installation of the rack instrumentation or we can rely on the installation being orchestrated by another framework's instrumentation (such as when Grape is mounted with Rails). This change allows for Grape to skip the installation of the Rack instrumentation so that it can manually installed at a later time. * move the comments above the class name for RubyDocs --- .../instrumentation/grape/instrumentation.rb | 13 +++++ .../instrumentation/grape_test.rb | 51 +++++++++++++++++++ 2 files changed, 64 insertions(+) diff --git a/instrumentation/grape/lib/opentelemetry/instrumentation/grape/instrumentation.rb b/instrumentation/grape/lib/opentelemetry/instrumentation/grape/instrumentation.rb index d31def440..66c89c23a 100644 --- a/instrumentation/grape/lib/opentelemetry/instrumentation/grape/instrumentation.rb +++ b/instrumentation/grape/lib/opentelemetry/instrumentation/grape/instrumentation.rb @@ -8,6 +8,16 @@ module OpenTelemetry module Instrumentation module Grape # The Instrumentation class contains logic to detect and install the Grape instrumentation + # # Configuration keys and options + # ## `:ignored_events` + # + # Default is `[]`. Specifies which ActiveSupport::Notifications events published by Grape to ignore. + # Ignored events will not be published as Span events. + # + # ## `:install_rack` + # + # Default is `true`. Specifies whether or not to install the Rack instrumentation as part of installing the Grape instrumentation. + # This is useful in cases where you have multiple Rack applications but want to manually specify where to insert the tracing middleware. class Instrumentation < OpenTelemetry::Instrumentation::Base # Minimum Grape version needed for compatibility with this instrumentation MINIMUM_VERSION = Gem::Version.new('1.2.0') @@ -27,6 +37,7 @@ class Instrumentation < OpenTelemetry::Instrumentation::Base end option :ignored_events, default: [], validate: :array + option :install_rack, default: true, validate: :boolean private @@ -35,6 +46,8 @@ def gem_version end def install_rack_instrumentation + return unless config[:install_rack] + OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.install({}) end diff --git a/instrumentation/grape/test/opentelemetry/instrumentation/grape_test.rb b/instrumentation/grape/test/opentelemetry/instrumentation/grape_test.rb index f9d6744cd..782dcc8d5 100644 --- a/instrumentation/grape/test/opentelemetry/instrumentation/grape_test.rb +++ b/instrumentation/grape/test/opentelemetry/instrumentation/grape_test.rb @@ -418,5 +418,56 @@ class IgnoredEventAPI < Grape::API _(events_per_name('grape.endpoint_render').length).must_equal 0 end end + + describe 'when install_rack is set to false' do + class BasicAPI < Grape::API + format :json + get :hello do + { message: 'Hello, world!' } + end + end + + let(:config) { { install_rack: false } } + + let(:app) do + builder = Rack::Builder.app do + run BasicAPI + end + Rack::MockRequest.new(builder) + end + + let(:request_path) { '/hello' } + let(:expected_span_name) { 'HTTP GET /hello' } + + describe 'missing rack installation' do + it 'disables tracing' do + app.get request_path + _(exporter.finished_spans).must_be_empty + end + end + + describe 'when rack is manually installed' do + let(:app) do + build_rack_app(BasicAPI) + end + + before do + OpenTelemetry::Instrumentation::Rack::Instrumentation.instance.install + end + + it 'creates a span' do + app.get request_path + _(exporter.finished_spans.first.attributes).must_equal( + 'code.namespace' => 'BasicAPI', + 'http.method' => 'GET', + 'http.host' => 'unknown', + 'http.scheme' => 'http', + 'http.target' => '/hello', + 'http.route' => '/hello', + 'http.status_code' => 200 + ) + end + end + end end end From 2c1cf6fc9dcb39f1de53c41e675c666a66003ad1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 14:02:02 -0500 Subject: [PATCH 39/82] release: Release 9 gems (#1049) * release: Release 9 gems * opentelemetry-instrumentation-racecar 0.3.3 (was 0.3.2) * opentelemetry-instrumentation-rdkafka 0.4.7 (was 0.4.6) * opentelemetry-instrumentation-active_job 0.7.2 (was 0.7.1) * opentelemetry-instrumentation-bunny 0.21.4 (was 0.21.3) * opentelemetry-instrumentation-aws_sdk 0.5.3 (was 0.5.2) * opentelemetry-instrumentation-delayed_job 0.22.3 (was 0.22.2) * opentelemetry-instrumentation-que 0.8.2 (was 0.8.1) * opentelemetry-instrumentation-ruby_kafka 0.21.2 (was 0.21.1) * opentelemetry-instrumentation-sidekiq 0.25.6 (was 0.25.5) * ci: Force --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Ariel Valentin --- instrumentation/active_job/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/active_job/version.rb | 2 +- instrumentation/aws_sdk/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/aws_sdk/version.rb | 2 +- instrumentation/bunny/CHANGELOG.md | 4 ++++ .../bunny/lib/opentelemetry/instrumentation/bunny/version.rb | 2 +- instrumentation/delayed_job/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/delayed_job/version.rb | 2 +- instrumentation/que/CHANGELOG.md | 4 ++++ .../que/lib/opentelemetry/instrumentation/que/version.rb | 2 +- instrumentation/racecar/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/racecar/version.rb | 2 +- instrumentation/rdkafka/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/rdkafka/version.rb | 2 +- instrumentation/ruby_kafka/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/ruby_kafka/version.rb | 2 +- instrumentation/sidekiq/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/sidekiq/version.rb | 2 +- 18 files changed, 45 insertions(+), 9 deletions(-) diff --git a/instrumentation/active_job/CHANGELOG.md b/instrumentation/active_job/CHANGELOG.md index c282b9f46..49d92a237 100644 --- a/instrumentation/active_job/CHANGELOG.md +++ b/instrumentation/active_job/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-active_job +### v0.7.2 / 2024-07-02 + +* DOCS: Fix CHANGELOGs to reflect a past breaking change + ### v0.7.1 / 2023-11-23 * CHANGED: Applied Rubocop Performance Recommendations [#727](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/727) diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb index 2b7b6effe..ece2c148c 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveJob - VERSION = '0.7.1' + VERSION = '0.7.2' end end end diff --git a/instrumentation/aws_sdk/CHANGELOG.md b/instrumentation/aws_sdk/CHANGELOG.md index a68afd850..f2674ad57 100644 --- a/instrumentation/aws_sdk/CHANGELOG.md +++ b/instrumentation/aws_sdk/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-aws_sdk +### v0.5.3 / 2024-07-02 + +* DOCS: Fix CHANGELOGs to reflect a past breaking change + ### v0.5.2 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/version.rb b/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/version.rb index 11bc5af23..fa477aae1 100644 --- a/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/version.rb +++ b/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module AwsSdk - VERSION = '0.5.2' + VERSION = '0.5.3' end end end diff --git a/instrumentation/bunny/CHANGELOG.md b/instrumentation/bunny/CHANGELOG.md index 19b8a1589..3a66efd52 100644 --- a/instrumentation/bunny/CHANGELOG.md +++ b/instrumentation/bunny/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-bunny +### v0.21.4 / 2024-07-02 + +* DOCS: Fix CHANGELOGs to reflect a past breaking change + ### v0.21.3 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/bunny/lib/opentelemetry/instrumentation/bunny/version.rb b/instrumentation/bunny/lib/opentelemetry/instrumentation/bunny/version.rb index dc5eb7c73..453369d1c 100644 --- a/instrumentation/bunny/lib/opentelemetry/instrumentation/bunny/version.rb +++ b/instrumentation/bunny/lib/opentelemetry/instrumentation/bunny/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Bunny - VERSION = '0.21.3' + VERSION = '0.21.4' end end end diff --git a/instrumentation/delayed_job/CHANGELOG.md b/instrumentation/delayed_job/CHANGELOG.md index 521a2d9c4..74d258391 100644 --- a/instrumentation/delayed_job/CHANGELOG.md +++ b/instrumentation/delayed_job/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-delayed_job +### v0.22.3 / 2024-07-02 + +* DOCS: Fix CHANGELOGs to reflect a past breaking change + ### v0.22.2 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/delayed_job/lib/opentelemetry/instrumentation/delayed_job/version.rb b/instrumentation/delayed_job/lib/opentelemetry/instrumentation/delayed_job/version.rb index 4c24b08ca..ed2e12e04 100644 --- a/instrumentation/delayed_job/lib/opentelemetry/instrumentation/delayed_job/version.rb +++ b/instrumentation/delayed_job/lib/opentelemetry/instrumentation/delayed_job/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module DelayedJob - VERSION = '0.22.2' + VERSION = '0.22.3' end end end diff --git a/instrumentation/que/CHANGELOG.md b/instrumentation/que/CHANGELOG.md index cbafc4367..7debd66c3 100644 --- a/instrumentation/que/CHANGELOG.md +++ b/instrumentation/que/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-que +### v0.8.2 / 2024-07-02 + +* DOCS: Fix CHANGELOGs to reflect a past breaking change + ### v0.8.1 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/que/lib/opentelemetry/instrumentation/que/version.rb b/instrumentation/que/lib/opentelemetry/instrumentation/que/version.rb index be7152f54..b96f6aa0e 100644 --- a/instrumentation/que/lib/opentelemetry/instrumentation/que/version.rb +++ b/instrumentation/que/lib/opentelemetry/instrumentation/que/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Que - VERSION = '0.8.1' + VERSION = '0.8.2' end end end diff --git a/instrumentation/racecar/CHANGELOG.md b/instrumentation/racecar/CHANGELOG.md index 4ced68134..0247c1775 100644 --- a/instrumentation/racecar/CHANGELOG.md +++ b/instrumentation/racecar/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-racecar +### v0.3.3 / 2024-07-02 + +* DOCS: Fix CHANGELOGs to reflect a past breaking change + ### v0.3.2 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/version.rb b/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/version.rb index e429ed599..183b41592 100644 --- a/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/version.rb +++ b/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Racecar - VERSION = '0.3.2' + VERSION = '0.3.3' end end end diff --git a/instrumentation/rdkafka/CHANGELOG.md b/instrumentation/rdkafka/CHANGELOG.md index c6fff3102..58d8f5431 100644 --- a/instrumentation/rdkafka/CHANGELOG.md +++ b/instrumentation/rdkafka/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-rdkafka +### v0.4.7 / 2024-07-02 + +* DOCS: Fix CHANGELOGs to reflect a past breaking change + ### v0.4.6 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb b/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb index 481f05b9f..556700353 100644 --- a/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb +++ b/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Rdkafka - VERSION = '0.4.6' + VERSION = '0.4.7' end end end diff --git a/instrumentation/ruby_kafka/CHANGELOG.md b/instrumentation/ruby_kafka/CHANGELOG.md index 2dfcf87e0..f67fc3cf6 100644 --- a/instrumentation/ruby_kafka/CHANGELOG.md +++ b/instrumentation/ruby_kafka/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-ruby_kafka +### v0.21.2 / 2024-07-02 + +* DOCS: Fix CHANGELOGs to reflect a past breaking change + ### v0.21.1 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/ruby_kafka/lib/opentelemetry/instrumentation/ruby_kafka/version.rb b/instrumentation/ruby_kafka/lib/opentelemetry/instrumentation/ruby_kafka/version.rb index 3bc93c1e7..8939e202c 100644 --- a/instrumentation/ruby_kafka/lib/opentelemetry/instrumentation/ruby_kafka/version.rb +++ b/instrumentation/ruby_kafka/lib/opentelemetry/instrumentation/ruby_kafka/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module RubyKafka - VERSION = '0.21.1' + VERSION = '0.21.2' end end end diff --git a/instrumentation/sidekiq/CHANGELOG.md b/instrumentation/sidekiq/CHANGELOG.md index 8c360317f..007b05113 100644 --- a/instrumentation/sidekiq/CHANGELOG.md +++ b/instrumentation/sidekiq/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-sidekiq +### v0.25.6 / 2024-07-02 + +* DOCS: Fix CHANGELOGs to reflect a past breaking change + ### v0.25.5 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb b/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb index 954028728..553f0de90 100644 --- a/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb +++ b/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Sidekiq - VERSION = '0.25.5' + VERSION = '0.25.6' end end end From b26b765b91b789bce25d47743326d3cc16b6feb7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 15:43:50 -0500 Subject: [PATCH 40/82] release: Release 5 gems (#1050) * release: Release 5 gems * opentelemetry-instrumentation-grape 0.2.0 (was 0.1.8) * opentelemetry-instrumentation-sinatra 0.24.0 (was 0.23.5) * opentelemetry-instrumentation-active_support 0.6.0 (was 0.5.3) * opentelemetry-instrumentation-rails 0.31.0 (was 0.30.2) * opentelemetry-instrumentation-all 0.62.0 (was 0.61.0) * feat: Bump Versions --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Ariel Valentin --- instrumentation/active_support/CHANGELOG.md | 6 ++++++ .../instrumentation/active_support/version.rb | 2 +- instrumentation/all/CHANGELOG.md | 11 +++++++++-- .../lib/opentelemetry/instrumentation/all/version.rb | 2 +- .../all/opentelemetry-instrumentation-all.gemspec | 6 +++--- instrumentation/grape/CHANGELOG.md | 4 ++++ .../opentelemetry/instrumentation/grape/version.rb | 2 +- instrumentation/rails/CHANGELOG.md | 7 ++++++- .../opentelemetry/instrumentation/rails/version.rb | 2 +- .../rails/opentelemetry-instrumentation-rails.gemspec | 2 +- instrumentation/sinatra/CHANGELOG.md | 4 ++++ .../opentelemetry/instrumentation/sinatra/version.rb | 2 +- 12 files changed, 38 insertions(+), 12 deletions(-) diff --git a/instrumentation/active_support/CHANGELOG.md b/instrumentation/active_support/CHANGELOG.md index 9e9563b07..7c20d34c6 100644 --- a/instrumentation/active_support/CHANGELOG.md +++ b/instrumentation/active_support/CHANGELOG.md @@ -1,5 +1,11 @@ # Release History: opentelemetry-instrumentation-active_support +### v0.6.0 / 2024-07-02 + +* BREAKING CHANGE: Custom ActiveSupport Span Names + +* ADDED: Custom ActiveSupport Span Names + ### v0.5.3 / 2024-06-20 * FIXED: Include span kind in ActiveSupport Instrumentation helper diff --git a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb index f319c6409..4026a632f 100644 --- a/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb +++ b/instrumentation/active_support/lib/opentelemetry/instrumentation/active_support/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveSupport - VERSION = '0.5.3' + VERSION = '0.6.0' end end end diff --git a/instrumentation/all/CHANGELOG.md b/instrumentation/all/CHANGELOG.md index 8a0136ef2..540939338 100644 --- a/instrumentation/all/CHANGELOG.md +++ b/instrumentation/all/CHANGELOG.md @@ -1,5 +1,12 @@ # Release History: opentelemetry-instrumentation-all +### v0.62.0 / 2024-07-02 + +* DOCS: Fix CHANGELOGs to reflect a past breaking change +* CHANGED: Update Rails Instrumentation +* CHANGED: Update Grape Instrumentation +* CHANGED: Update Sinatra Instrumentation + ### v0.61.0 / 2024-06-04 * ADDED: Add aws lambda to instrumentation-all @@ -25,7 +32,7 @@ ### v0.56.0 / 2024-01-09 -* BREAKING CHANGE: Use ActiveSupport instead of patches #703 +* BREAKING CHANGE: Use ActiveSupport instead of patches #703 ### v0.55.0 / 2024-01-06 @@ -33,7 +40,7 @@ ### v0.54.0 / 2023-11-28 -* ADDED: Updated excon to include connect spans +* ADDED: Updated excon to include connect spans ### v0.53.0 / 2023-11-28 diff --git a/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb b/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb index 3174770a5..546bdf7e7 100644 --- a/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb +++ b/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module All - VERSION = '0.61.0' + VERSION = '0.62.0' end end end diff --git a/instrumentation/all/opentelemetry-instrumentation-all.gemspec b/instrumentation/all/opentelemetry-instrumentation-all.gemspec index d461f5e83..db7effd29 100644 --- a/instrumentation/all/opentelemetry-instrumentation-all.gemspec +++ b/instrumentation/all/opentelemetry-instrumentation-all.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-instrumentation-ethon', '~> 0.21.1' spec.add_dependency 'opentelemetry-instrumentation-excon', '~> 0.22.0' spec.add_dependency 'opentelemetry-instrumentation-faraday', '~> 0.24.0' - spec.add_dependency 'opentelemetry-instrumentation-grape', '~> 0.1.3' + spec.add_dependency 'opentelemetry-instrumentation-grape', '~> 0.2.0' spec.add_dependency 'opentelemetry-instrumentation-graphql', '~> 0.28.0' spec.add_dependency 'opentelemetry-instrumentation-gruf', '~> 0.2.0' spec.add_dependency 'opentelemetry-instrumentation-http', '~> 0.23.1' @@ -50,7 +50,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-instrumentation-que', '~> 0.8.0' spec.add_dependency 'opentelemetry-instrumentation-racecar', '~> 0.3.0' spec.add_dependency 'opentelemetry-instrumentation-rack', '~> 0.24.0' - spec.add_dependency 'opentelemetry-instrumentation-rails', '~> 0.30.0' + spec.add_dependency 'opentelemetry-instrumentation-rails', '~> 0.31.0' spec.add_dependency 'opentelemetry-instrumentation-rake', '~> 0.2.1' spec.add_dependency 'opentelemetry-instrumentation-rdkafka', '~> 0.4.0' spec.add_dependency 'opentelemetry-instrumentation-redis', '~> 0.25.1' @@ -58,7 +58,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-instrumentation-restclient', '~> 0.22.1' spec.add_dependency 'opentelemetry-instrumentation-ruby_kafka', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-sidekiq', '~> 0.25.0' - spec.add_dependency 'opentelemetry-instrumentation-sinatra', '~> 0.23.1' + spec.add_dependency 'opentelemetry-instrumentation-sinatra', '~> 0.24.0' spec.add_dependency 'opentelemetry-instrumentation-trilogy', '~> 0.59.0' spec.add_development_dependency 'active_model_serializers' diff --git a/instrumentation/grape/CHANGELOG.md b/instrumentation/grape/CHANGELOG.md index f86102925..324d29dbf 100644 --- a/instrumentation/grape/CHANGELOG.md +++ b/instrumentation/grape/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-grape +### v0.2.0 / 2024-07-02 + +* ADDED: Make the install of rack instrumentation by grape instrumentation optional + ### v0.1.8 / 2024-05-14 * DOCS: Instrumentation Authors Guide diff --git a/instrumentation/grape/lib/opentelemetry/instrumentation/grape/version.rb b/instrumentation/grape/lib/opentelemetry/instrumentation/grape/version.rb index fb4d117c4..c2a7ca5f4 100644 --- a/instrumentation/grape/lib/opentelemetry/instrumentation/grape/version.rb +++ b/instrumentation/grape/lib/opentelemetry/instrumentation/grape/version.rb @@ -8,7 +8,7 @@ module OpenTelemetry module Instrumentation module Grape # Current gem version - VERSION = '0.1.8' + VERSION = '0.2.0' end end end diff --git a/instrumentation/rails/CHANGELOG.md b/instrumentation/rails/CHANGELOG.md index 9a52abc95..b2dc96104 100644 --- a/instrumentation/rails/CHANGELOG.md +++ b/instrumentation/rails/CHANGELOG.md @@ -1,5 +1,10 @@ # Release History: opentelemetry-instrumentation-rails +### v0.31.0 / 2024-07-02 + +* DOCS: Fix CHANGELOGs to reflect a past breaking change +* CHANGED: Update ActiveSupport Instrumentation + ### v0.30.2 / 2024-06-04 * FIXED: Add action_mailer to rails and all @@ -10,7 +15,7 @@ ### v0.30.0 / 2024-01-09 -* BREAKING CHANGE: Use ActiveSupport instead of patches #703 +* BREAKING CHANGE: Use ActiveSupport instead of patches #703 ### v0.29.1 / 2023-11-23 diff --git a/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb b/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb index ace5badb9..334dc1f60 100644 --- a/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb +++ b/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Rails - VERSION = '0.30.2' + VERSION = '0.31.0' end end end diff --git a/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec b/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec index 039546872..045e45aae 100644 --- a/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec +++ b/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-instrumentation-action_view', '~> 0.7.0' spec.add_dependency 'opentelemetry-instrumentation-active_job', '~> 0.7.0' spec.add_dependency 'opentelemetry-instrumentation-active_record', '~> 0.7.0' - spec.add_dependency 'opentelemetry-instrumentation-active_support', '~> 0.5.0' + spec.add_dependency 'opentelemetry-instrumentation-active_support', '~> 0.6.0' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' diff --git a/instrumentation/sinatra/CHANGELOG.md b/instrumentation/sinatra/CHANGELOG.md index 4c72110a3..331835a9b 100644 --- a/instrumentation/sinatra/CHANGELOG.md +++ b/instrumentation/sinatra/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-sinatra +### v0.24.0 / 2024-07-02 + +* ADDED: Make Rack install optional for sinatra + ### v0.23.5 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb index e4b4b4895..1411df42f 100644 --- a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb +++ b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Sinatra - VERSION = '0.23.5' + VERSION = '0.24.0' end end end From 08f11aecd7e19bc50024f1979c3e6af4101b220a Mon Sep 17 00:00:00 2001 From: Ewan Whorton Date: Wed, 3 Jul 2024 16:32:14 +0100 Subject: [PATCH 41/82] fix: suppress header access with symbol key deprecation warning in Racecar Instrumentation (#1040) fix: suppress deprecation warning in Racecar Instrumentation Use the text_map_getter because accessing kafka message headers with a symbol key is now deprecated in rdkafka. Co-authored-by: Ariel Valentin --- .../racecar/process_message_subscriber.rb | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/process_message_subscriber.rb b/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/process_message_subscriber.rb index 31b5c8aa8..8b2f8392b 100644 --- a/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/process_message_subscriber.rb +++ b/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/process_message_subscriber.rb @@ -4,6 +4,13 @@ module OpenTelemetry module Instrumentation # This class contains the ASN subsciber that instruments message processing class ProcessMessageSubscriber + GETTER = if Gem::Version.new(::Rdkafka::VERSION) >= Gem::Version.new('0.13.0') + Context::Propagation.text_map_getter + else + OpenTelemetry::Common::Propagation.symbol_key_getter + end + private_constant :GETTER + def tracer Racecar::Instrumentation.instance.tracer end @@ -11,7 +18,7 @@ def tracer def start(_name, _id, payload) attrs = attributes(payload) - parent_context = OpenTelemetry.propagation.extract(payload[:headers], getter: OpenTelemetry::Common::Propagation.symbol_key_getter) + parent_context = OpenTelemetry.propagation.extract(payload[:headers], getter: GETTER) parent_token = OpenTelemetry::Context.attach(parent_context) span_context = OpenTelemetry::Trace.current_span(parent_context).context From 542fa91b796c4abb1b855b91c1af1d67894a2798 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 9 Jul 2024 11:15:25 -0700 Subject: [PATCH 42/82] release: Release opentelemetry-instrumentation-racecar 0.3.4 (was 0.3.3) (#1055) * release: Release opentelemetry-instrumentation-racecar 0.3.4 (was 0.3.3) * ci: force --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Kayla Reopelle --- instrumentation/racecar/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/racecar/version.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/instrumentation/racecar/CHANGELOG.md b/instrumentation/racecar/CHANGELOG.md index 0247c1775..814b45b81 100644 --- a/instrumentation/racecar/CHANGELOG.md +++ b/instrumentation/racecar/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-racecar +### v0.3.4 / 2024-07-09 + +* FIXED: Suppress header access with symbol key deprecation warning in Racecar Instrumentation + ### v0.3.3 / 2024-07-02 * DOCS: Fix CHANGELOGs to reflect a past breaking change diff --git a/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/version.rb b/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/version.rb index 183b41592..4e77f3498 100644 --- a/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/version.rb +++ b/instrumentation/racecar/lib/opentelemetry/instrumentation/racecar/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Racecar - VERSION = '0.3.3' + VERSION = '0.3.4' end end end From 84a0e03de49f36c83fcc6eb935ed2f4f69bc889a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 15 Jul 2024 09:54:01 -0700 Subject: [PATCH 43/82] chore: bump ruby/setup-ruby from 1.180.1 to 1.187.0 (#1057) * chore: bump ruby/setup-ruby from 1.180.1 to 1.187.0 Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.180.1 to 1.187.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](https://github.com/ruby/setup-ruby/compare/v1.180.1...v1.187.0) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * chore: Bump ruby/setup-ruby version in test_gem * ci: Update JRuby version to 9.4.8.0 --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Kayla Reopelle --- .github/actions/test_gem/action.yml | 4 ++-- .github/workflows/ci-contrib.yml | 8 ++++---- .github/workflows/ci-instrumentation-with-services.yml | 2 +- .github/workflows/ci-instrumentation.yml | 2 +- .github/workflows/installation-tests.yml | 2 +- .github/workflows/release-hook-on-closed.yml | 2 +- .github/workflows/release-hook-on-push.yml | 2 +- .github/workflows/release-perform.yml | 2 +- .github/workflows/release-please.yaml | 2 +- .github/workflows/release-request-weekly.yml | 2 +- .github/workflows/release-request.yml | 2 +- .github/workflows/release-retry.yml | 2 +- 12 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.github/actions/test_gem/action.yml b/.github/actions/test_gem/action.yml index 06999271c..401c30102 100644 --- a/.github/actions/test_gem/action.yml +++ b/.github/actions/test_gem/action.yml @@ -66,7 +66,7 @@ runs: # ...but not for appraisals, sadly. - name: Install Ruby ${{ inputs.ruby }} with dependencies if: "${{ steps.setup.outputs.appraisals == 'false' }}" - uses: ruby/setup-ruby@v1.180.1 + uses: ruby/setup-ruby@v1.187.0 with: ruby-version: "${{ inputs.ruby }}" working-directory: "${{ steps.setup.outputs.gem_dir }}" @@ -77,7 +77,7 @@ runs: # If we're using appraisals, do it all manually. - name: Install Ruby ${{ inputs.ruby }} without dependencies if: "${{ steps.setup.outputs.appraisals == 'true' }}" - uses: ruby/setup-ruby@v1.180.1 + uses: ruby/setup-ruby@v1.187.0 with: ruby-version: "${{ inputs.ruby }}" bundler: "latest" diff --git a/.github/workflows/ci-contrib.yml b/.github/workflows/ci-contrib.yml index 5f7490cfa..135073333 100644 --- a/.github/workflows/ci-contrib.yml +++ b/.github/workflows/ci-contrib.yml @@ -53,7 +53,7 @@ jobs: uses: ./.github/actions/test_gem with: gem: "opentelemetry-helpers-${{ matrix.gem }}" - ruby: "jruby-9.4.6.0" + ruby: "jruby-9.4.8.0" propagators: strategy: @@ -98,7 +98,7 @@ jobs: uses: ./.github/actions/test_gem with: gem: "opentelemetry-propagator-${{ matrix.gem }}" - ruby: "jruby-9.4.6.0" + ruby: "jruby-9.4.8.0" resource-detectors: strategy: @@ -143,7 +143,7 @@ jobs: uses: ./.github/actions/test_gem with: gem: "opentelemetry-${{ matrix.gem }}" - ruby: "jruby-9.4.6.0" + ruby: "jruby-9.4.8.0" processors: strategy: @@ -186,4 +186,4 @@ jobs: uses: ./.github/actions/test_gem with: gem: "opentelemetry-processor-${{ matrix.gem }}" - ruby: "jruby-9.4.6.0" + ruby: "jruby-9.4.8.0" diff --git a/.github/workflows/ci-instrumentation-with-services.yml b/.github/workflows/ci-instrumentation-with-services.yml index 0aeb807d2..4eb5a1215 100644 --- a/.github/workflows/ci-instrumentation-with-services.yml +++ b/.github/workflows/ci-instrumentation-with-services.yml @@ -56,7 +56,7 @@ jobs: uses: ./.github/actions/test_gem with: gem: "opentelemetry-instrumentation-${{ matrix.gem }}" - ruby: "jruby-9.4.6.0" + ruby: "jruby-9.4.8.0" services: memcached: image: memcached:alpine diff --git a/.github/workflows/ci-instrumentation.yml b/.github/workflows/ci-instrumentation.yml index 8b70f7ee6..b86f73555 100644 --- a/.github/workflows/ci-instrumentation.yml +++ b/.github/workflows/ci-instrumentation.yml @@ -110,4 +110,4 @@ jobs: uses: ./.github/actions/test_gem with: gem: "opentelemetry-instrumentation-${{ matrix.gem }}" - ruby: "jruby-9.4.6.0" + ruby: "jruby-9.4.8.0" diff --git a/.github/workflows/installation-tests.yml b/.github/workflows/installation-tests.yml index 3fcd407da..ad904e520 100644 --- a/.github/workflows/installation-tests.yml +++ b/.github/workflows/installation-tests.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@v4 # ATTENTION: Dependabot does not know how to update shared actions file. # If you see it update setup-ruby here also update it as part of actions/test_gem/action.yml - - uses: ruby/setup-ruby@v1.180.1 + - uses: ruby/setup-ruby@v1.187.0 with: ruby-version: ${{ matrix.ruby-version }} - name: "Install Latest Gem Versions on ${{ matrix.ruby-version }}" diff --git a/.github/workflows/release-hook-on-closed.yml b/.github/workflows/release-hook-on-closed.yml index bf1273ceb..9986cbde3 100644 --- a/.github/workflows/release-hook-on-closed.yml +++ b/.github/workflows/release-hook-on-closed.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.1 + uses: ruby/setup-ruby@v1.187.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-hook-on-push.yml b/.github/workflows/release-hook-on-push.yml index 76c2870c0..8ec044817 100644 --- a/.github/workflows/release-hook-on-push.yml +++ b/.github/workflows/release-hook-on-push.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.1 + uses: ruby/setup-ruby@v1.187.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-perform.yml b/.github/workflows/release-perform.yml index ebfef57a4..eae34b71b 100644 --- a/.github/workflows/release-perform.yml +++ b/.github/workflows/release-perform.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.1 + uses: ruby/setup-ruby@v1.187.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index fd2f79052..e8b37c831 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -50,7 +50,7 @@ jobs: chmod 0600 $HOME/.gem/credentials printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials - - uses: ruby/setup-ruby@v1.180.1 + - uses: ruby/setup-ruby@v1.187.0 with: ruby-version: "3.0" bundler: latest diff --git a/.github/workflows/release-request-weekly.yml b/.github/workflows/release-request-weekly.yml index 44831942d..eff163c83 100644 --- a/.github/workflows/release-request-weekly.yml +++ b/.github/workflows/release-request-weekly.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.1 + uses: ruby/setup-ruby@v1.187.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-request.yml b/.github/workflows/release-request.yml index d3f776130..7497818fe 100644 --- a/.github/workflows/release-request.yml +++ b/.github/workflows/release-request.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.1 + uses: ruby/setup-ruby@v1.187.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-retry.yml b/.github/workflows/release-retry.yml index a0a13e890..62235e070 100644 --- a/.github/workflows/release-retry.yml +++ b/.github/workflows/release-retry.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.180.1 + uses: ruby/setup-ruby@v1.187.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo From c662f1c427677342bded371634d43812d3753e7d Mon Sep 17 00:00:00 2001 From: Rob Sanheim Date: Mon, 15 Jul 2024 14:11:47 -0500 Subject: [PATCH 44/82] docs: link to rdkafka example (#1045) Fix: link to rdkafka example Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> --- instrumentation/rdkafka/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/rdkafka/README.md b/instrumentation/rdkafka/README.md index 1c19caf7a..9f0c9a0ca 100644 --- a/instrumentation/rdkafka/README.md +++ b/instrumentation/rdkafka/README.md @@ -32,7 +32,7 @@ end ## Examples -Example usage can be seen in the `./example/rdkafka_trace_demonstration.rb` file [here](https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/instrumentation/rdkafka/example/trace_demonstration.rb) +Example usage can be seen in the `./example/rdkafka_trace_demonstration.rb` file [here](https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/instrumentation/rdkafka/example/rdkafka_trace_demonstration.rb) ## How can I get involved? From 55aa6889f686ac27b25b6e92f5ff34b4ad28a62e Mon Sep 17 00:00:00 2001 From: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> Date: Mon, 15 Jul 2024 15:07:43 -0700 Subject: [PATCH 45/82] docs: Update review guidelines (#1052) Add some detail to the "Review and feedback" section including expectations from reviewers and for reviewers before a PR can be merged. --- CONTRIBUTING.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index b885db0ae..33929acc4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -208,11 +208,21 @@ merge. You'll probably get some feedback from these fine folks which helps to make the project that much better. Respond to the feedback and work with your reviewer(s) to resolve any issues. +The some of the things the code owners are looking for include: +* a signed [CNCF CLA][cncf-cla] +* a passing CI build +* adherence to the principles and features outlined in the + [instrumentation author's guide](.instrumentation/CONTRIBUTING.md) + Reviewers are responsible for ensuring that each merged PR's commit message conforms to [conventional commits](https://conventionalcommits.org). This may -mean editing the commit message when you merge the pull request. Alternately, -the reviewer may ask the pull request submitter to amend the commit message of -their initial commit. +mean editing the commit message or the pull request title when you merge the +pull request. Alternately, the reviewer may ask the pull request submitter +to amend the commit message of their initial commit. + +In addition, when a change is complex or a reviewer is unfamiliar with the code, +the reviewer may seek additional reviews from people more familiar with the +change before merging a PR. ## Releases From 58fda55b36d082222b800ee1d06e60324e77690e Mon Sep 17 00:00:00 2001 From: Hannah Ramadan <76922290+hannahramadan@users.noreply.github.com> Date: Tue, 16 Jul 2024 15:36:51 -0700 Subject: [PATCH 46/82] docs: add cspell to CI (#1061) * docs: add cspell to CI * docs: Update comment --------- Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> --- .cspell.yml | 83 +++++++++++++++++++ .github/workflows/check-spelling.yml | 17 ++++ README.md | 10 +-- instrumentation/CONTRIBUTING.md | 6 +- instrumentation/README.md | 6 +- instrumentation/action_view/CHANGELOG.md | 2 +- .../active_model_serializers/CHANGELOG.md | 2 +- instrumentation/all/CHANGELOG.md | 4 +- instrumentation/aws_sdk/CHANGELOG.md | 2 +- instrumentation/base/CHANGELOG.md | 10 +-- instrumentation/concurrent_ruby/CHANGELOG.md | 6 +- instrumentation/dalli/CHANGELOG.md | 4 +- instrumentation/delayed_job/CHANGELOG.md | 2 +- instrumentation/ethon/CHANGELOG.md | 4 +- instrumentation/excon/CHANGELOG.md | 4 +- instrumentation/faraday/CHANGELOG.md | 4 +- instrumentation/graphql/CHANGELOG.md | 2 +- instrumentation/http/CHANGELOG.md | 2 +- instrumentation/http_client/CHANGELOG.md | 2 +- instrumentation/lmdb/CHANGELOG.md | 2 +- instrumentation/mongo/CHANGELOG.md | 2 +- instrumentation/mysql2/CHANGELOG.md | 4 +- instrumentation/net_http/CHANGELOG.md | 4 +- instrumentation/pg/CHANGELOG.md | 2 +- instrumentation/que/README.md | 2 +- instrumentation/rack/CHANGELOG.md | 6 +- instrumentation/rails/CHANGELOG.md | 4 +- instrumentation/rdkafka/CHANGELOG.md | 2 +- instrumentation/redis/CHANGELOG.md | 4 +- instrumentation/restclient/CHANGELOG.md | 4 +- instrumentation/ruby_kafka/CHANGELOG.md | 2 +- instrumentation/sidekiq/CHANGELOG.md | 4 +- instrumentation/sinatra/CHANGELOG.md | 4 +- propagator/ottrace/CHANGELOG.md | 2 +- propagator/xray/CHANGELOG.md | 2 +- 35 files changed, 161 insertions(+), 61 deletions(-) create mode 100644 .cspell.yml create mode 100644 .github/workflows/check-spelling.yml diff --git a/.cspell.yml b/.cspell.yml new file mode 100644 index 000000000..c4217065c --- /dev/null +++ b/.cspell.yml @@ -0,0 +1,83 @@ +# cSpell:ignore textlintrc +# For settings, see +# https://www.streetsidesoftware.com/vscode-spell-checker/docs/configuration/ +version: '0.2' +caseSensitive: false +patterns: + - name: CodeBlock + pattern: | + / + ^(\s*[~`]{3,}) # code-block start + .* # all languages and options, e.g. shell {hl_lines=[12]} + [\s\S]*? # content + \1 # code-block end + /igmx +languageSettings: + - languageId: markdown + ignoreRegExpList: + - CodeBlock +words: + - AWSX + - Azuma + - backports + - behaviour + - Bogsanyi + - callables + - circleci + - Clientcontext + - codeowners + - dalli + - datadog + - enqueuers + - ethon + - excon + - faas + - fanout + - faraday + - gettime + - gemfile + - Gitter + - gruf + - HTTPX + - httpx + - instrumenter + - Laurin + - Lightstep + - linux + - lmdb + - microbenchmarks + - Mustin + - myapp + - namespacing + - opentelemetry + - otelcol + - ottrace + - postgres + - postgresql + - racecar + - rabbitmq + - Railtie + - Rakefile + - Reopelle + - rdkafka + - resque + - restclient + - Robb + - rubocop + - rubydocs + - ruboproof + - rubygems + - Šimánek + - semconv + - sidekiq + - sinatra + - Solarwinds + - spanid + - toolset + - traceid + - traceresponse + - Untrace + - vitess + - webmocks + - Xuan + - yardoc diff --git a/.github/workflows/check-spelling.yml b/.github/workflows/check-spelling.yml new file mode 100644 index 000000000..4d699bea9 --- /dev/null +++ b/.github/workflows/check-spelling.yml @@ -0,0 +1,17 @@ +name: Spelling + +on: + pull_request: + +jobs: + spelling-check: + name: SPELLING check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: streetsidesoftware/cspell-action@v6 + with: + # Files should be consistent with check:spelling files + files: | + **/*.md + config: .cspell.yml diff --git a/README.md b/README.md index 926def2f1..8be68642e 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ multiple instrumentation libraries. - [SQL Obfuscation](helpers/sql-obfuscation/) ## Additional Libraries -This repository also contains libraries to aid with interoperablity with vendor specific tracing solutions: +This repository also contains libraries to aid with interoperability with vendor specific tracing solutions: - [Context Propagation](propagator/): OTTrace and Amazon X-Ray - [Resource Detectors](resources/): @@ -74,18 +74,18 @@ This repository also contains libraries to aid with interoperablity with vendor OpenTelemetry Ruby follows the [versioning and stability document][otel-versioning] in the OpenTelemetry specification. Notably, we adhere to the outlined version numbering exception, which states that experimental signals may have a `0.x` version number. -### Library Compatability +### Library Compatibility -This project is managed on a volunteer basis and therefore we have limited capacity to support compatability with unmaintained or EOL libraries. +This project is managed on a volunteer basis and therefore we have limited capacity to support compatibility with unmaintained or EOL libraries. -We will regularly review the instrumentations to drop compatability for any versions of Ruby or gems that reach EOL or no longer receive regular maintenance. +We will regularly review the instrumentations to drop compatibility for any versions of Ruby or gems that reach EOL or no longer receive regular maintenance. Should you need instrumentation for _older_ versions of a library then you must pin to a specific version of the instrumentation that supports it, however, you will no longer receive any updates for the instrumentation from this repository. > When a release series is no longer supported, it's your own responsibility to deal with bugs and security issues. We may provide backports of the fixes and publish them to git, however there will be no new versions released. If you are not comfortable maintaining your own versions, you should upgrade to a supported version. -Consult instrumentation gem's README file and gemspec for details about library compatability. +Consult instrumentation gem's README file and gemspec for details about library compatibility. ### Releases diff --git a/instrumentation/CONTRIBUTING.md b/instrumentation/CONTRIBUTING.md index ff45dcbbb..f61b9f14c 100644 --- a/instrumentation/CONTRIBUTING.md +++ b/instrumentation/CONTRIBUTING.md @@ -173,7 +173,7 @@ For example, the `Werewolf` module generated in the example above is available v Whenever possible, use first-party extension points (hooks) to instrument libraries. This ensures that the instrumentation is compatible with the latest versions of the library and that the instrumentation is maintained by the library authors. [`ActiveSupport::Notifications`](https://guides.rubyonrails.org/active_support_instrumentation.html) and `Middleware` are good examples of first-party extension points used by our instrumentation libraries. -Monkey patching is discouraged in OpenTelemetry Ruby because it is the most common source of bugs and incompatability with the libraries we instrument. If you must monkey patch, please ensure that the monkey patch is as isolated as possible and that it is clearly documented. +Monkey patching is discouraged in OpenTelemetry Ruby because it is the most common source of bugs and incompatibility with the libraries we instrument. If you must monkey patch, please ensure that the monkey patch is as isolated as possible and that it is clearly documented. ### Use Semantic Conventions @@ -337,7 +337,7 @@ Add the service container to `jobs/instrumentation_with_services/services` and a > :information_source: Please refer to the official [GitHub Actions Documentation](https://docs.github.com/en/actions/using-containerized-services/about-service-containers) for more information on how to add a service container. -If we determine the service container slows down the test suite significantly, it may make sense to copy the marix and steps stanzas from an existing instrumentation and update it to use the new service container as a dependency: +If we determine the service container slows down the test suite significantly, it may make sense to copy the matrix and steps stanzas from an existing instrumentation and update it to use the new service container as a dependency: ```yaml @@ -407,7 +407,7 @@ In addition to that, there should also be redundant `yardoc` comments in the ent ### Examples -Executuable examples should be included in the `examples` directory that demonstrate how to use the instrumentation in a real-world scenario. +Executable examples should be included in the `examples` directory that demonstrate how to use the instrumentation in a real-world scenario. We recommend using [Bundler's inline gemfile](https://bundler.io/guides/bundler_in_a_single_file_ruby_script.html) to run the examples. Here is an example from the `grape` instrumentation: diff --git a/instrumentation/README.md b/instrumentation/README.md index 770e1a70d..3d0d8b1c1 100644 --- a/instrumentation/README.md +++ b/instrumentation/README.md @@ -40,14 +40,14 @@ Instrumentation-specific documentation can be found in each subdirectory's `READ You also have the option of installing all of the instrumentation libraries by installing `opentelemetry-instrumentation-all`. See that gem's [README](https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/all) for more. -### Maintenance and Version Compatability +### Maintenance and Version Compatibility We are a community of volunteers who do our best to provide our users with up to date support for instrumentations, -however we have limited capacity and are unable to support compatability with EOL or unmaintained libraries. +however we have limited capacity and are unable to support compatibility with EOL or unmaintained libraries. Should you need to instrument an _older_ version of a library you will have to ensure to pin to an instrumentation version that is compatible with that library. -Please review the individual instrumentation READMEs for more information about version compatability. +Please review the individual instrumentation READMEs for more information about version compatibility. ## How can I get involved? diff --git a/instrumentation/action_view/CHANGELOG.md b/instrumentation/action_view/CHANGELOG.md index 2758fae95..c648eace4 100644 --- a/instrumentation/action_view/CHANGELOG.md +++ b/instrumentation/action_view/CHANGELOG.md @@ -43,7 +43,7 @@ ### v0.2.0 / 2021-12-01 -* ADDED: Move activesupport notification subsciber out of action_view gem +* ADDED: Move activesupport notification subscriber out of action_view gem * FIXED: Instrumentation of Rails 7 ### v0.1.3 / 2021-10-06 diff --git a/instrumentation/active_model_serializers/CHANGELOG.md b/instrumentation/active_model_serializers/CHANGELOG.md index bfb5529c5..7cb9de021 100644 --- a/instrumentation/active_model_serializers/CHANGELOG.md +++ b/instrumentation/active_model_serializers/CHANGELOG.md @@ -43,7 +43,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 diff --git a/instrumentation/all/CHANGELOG.md b/instrumentation/all/CHANGELOG.md index 540939338..ba654bcde 100644 --- a/instrumentation/all/CHANGELOG.md +++ b/instrumentation/all/CHANGELOG.md @@ -179,7 +179,7 @@ ### v0.22.0 / 2021-12-01 -* ADDED: Move activesupport notification subsciber out of action_view gem +* ADDED: Move activesupport notification subscriber out of action_view gem ### v0.21.3 / 2021-10-07 @@ -270,7 +270,7 @@ ### v0.7.0 / 2020-10-07 -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/aws_sdk/CHANGELOG.md b/instrumentation/aws_sdk/CHANGELOG.md index f2674ad57..8d6430926 100644 --- a/instrumentation/aws_sdk/CHANGELOG.md +++ b/instrumentation/aws_sdk/CHANGELOG.md @@ -10,7 +10,7 @@ ### v0.5.1 / 2024-02-08 -* FIXED: Return nil for non-existant key in AwsSdk::MessageAttributeGetter +* FIXED: Return nil for non-existent key in AwsSdk::MessageAttributeGetter ### v0.5.0 / 2023-09-07 diff --git a/instrumentation/base/CHANGELOG.md b/instrumentation/base/CHANGELOG.md index b51a63149..fff58375d 100644 --- a/instrumentation/base/CHANGELOG.md +++ b/instrumentation/base/CHANGELOG.md @@ -1,9 +1,9 @@ # Release History: opentelemetry-instrumentation-base -### v0.22.4 / 2024-06-18 - -* FIXED: Relax otel common gem constraints -* DOCS: Add function doc for config_overrides_from_env +### v0.22.4 / 2024-06-18 + +* FIXED: Relax otel common gem constraints +* DOCS: Add function doc for config_overrides_from_env ### v0.22.3 / 2023-11-23 @@ -56,7 +56,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * FIXED: Missing instrumentation classes during configuration ### v0.17.0 / 2021-04-22 diff --git a/instrumentation/concurrent_ruby/CHANGELOG.md b/instrumentation/concurrent_ruby/CHANGELOG.md index 8182bda89..20cb139c0 100644 --- a/instrumentation/concurrent_ruby/CHANGELOG.md +++ b/instrumentation/concurrent_ruby/CHANGELOG.md @@ -42,7 +42,7 @@ ### v0.19.0 / 2021-09-29 -* ADDED: Add suport for `Concurrent::Promises::Future` +* ADDED: Add support for `Concurrent::Promises::Future` ### v0.18.2 / 2021-08-12 @@ -54,7 +54,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 @@ -104,7 +104,7 @@ ### v0.7.0 / 2020-10-07 * DOCS: Added README for concurrent ruby -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/dalli/CHANGELOG.md b/instrumentation/dalli/CHANGELOG.md index 92c503a09..58380c13a 100644 --- a/instrumentation/dalli/CHANGELOG.md +++ b/instrumentation/dalli/CHANGELOG.md @@ -74,7 +74,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 @@ -123,7 +123,7 @@ ### v0.7.0 / 2020-10-07 -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/delayed_job/CHANGELOG.md b/instrumentation/delayed_job/CHANGELOG.md index 74d258391..8cf7e84a3 100644 --- a/instrumentation/delayed_job/CHANGELOG.md +++ b/instrumentation/delayed_job/CHANGELOG.md @@ -65,7 +65,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * BREAKING CHANGE: Replace Time.now with Process.clock_gettime ### v0.17.0 / 2021-04-22 diff --git a/instrumentation/ethon/CHANGELOG.md b/instrumentation/ethon/CHANGELOG.md index 5c6418836..a187e1f49 100644 --- a/instrumentation/ethon/CHANGELOG.md +++ b/instrumentation/ethon/CHANGELOG.md @@ -72,7 +72,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 @@ -128,7 +128,7 @@ ### v0.7.0 / 2020-10-07 * DOCS: Add README for Ethon -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/excon/CHANGELOG.md b/instrumentation/excon/CHANGELOG.md index dbef84bab..509a71067 100644 --- a/instrumentation/excon/CHANGELOG.md +++ b/instrumentation/excon/CHANGELOG.md @@ -75,7 +75,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * FIXED: Removed http.status_text attribute #750 ### v0.17.0 / 2021-04-22 @@ -130,7 +130,7 @@ ### v0.7.0 / 2020-10-07 -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/faraday/CHANGELOG.md b/instrumentation/faraday/CHANGELOG.md index a3e04733d..b805e43ee 100644 --- a/instrumentation/faraday/CHANGELOG.md +++ b/instrumentation/faraday/CHANGELOG.md @@ -91,7 +91,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * FIXED: Removed http.status_text attribute #750 ### v0.17.0 / 2021-04-22 @@ -144,7 +144,7 @@ ### v0.7.0 / 2020-10-07 * DOCS: Faraday documentation -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/graphql/CHANGELOG.md b/instrumentation/graphql/CHANGELOG.md index 327842397..b35de4faf 100644 --- a/instrumentation/graphql/CHANGELOG.md +++ b/instrumentation/graphql/CHANGELOG.md @@ -116,7 +116,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 diff --git a/instrumentation/http/CHANGELOG.md b/instrumentation/http/CHANGELOG.md index 59ab58139..02683f2de 100644 --- a/instrumentation/http/CHANGELOG.md +++ b/instrumentation/http/CHANGELOG.md @@ -65,7 +65,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 diff --git a/instrumentation/http_client/CHANGELOG.md b/instrumentation/http_client/CHANGELOG.md index 419dfcfa4..df483006a 100644 --- a/instrumentation/http_client/CHANGELOG.md +++ b/instrumentation/http_client/CHANGELOG.md @@ -69,7 +69,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 diff --git a/instrumentation/lmdb/CHANGELOG.md b/instrumentation/lmdb/CHANGELOG.md index 83403f938..00a43990b 100644 --- a/instrumentation/lmdb/CHANGELOG.md +++ b/instrumentation/lmdb/CHANGELOG.md @@ -47,7 +47,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 diff --git a/instrumentation/mongo/CHANGELOG.md b/instrumentation/mongo/CHANGELOG.md index 6c8e51b2a..51bd62251 100644 --- a/instrumentation/mongo/CHANGELOG.md +++ b/instrumentation/mongo/CHANGELOG.md @@ -57,7 +57,7 @@ * BREAKING CHANGE: Replace Time.now with Process.clock_gettime -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * FIXED: Replace Time.now with Process.clock_gettime * FIXED: Mongodb test asserting error message diff --git a/instrumentation/mysql2/CHANGELOG.md b/instrumentation/mysql2/CHANGELOG.md index bf4abc390..f443f0721 100644 --- a/instrumentation/mysql2/CHANGELOG.md +++ b/instrumentation/mysql2/CHANGELOG.md @@ -90,7 +90,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * Fix: Nil value for db.name attribute #744 ### v0.17.0 / 2021-04-22 @@ -146,7 +146,7 @@ ### v0.7.0 / 2020-10-07 -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/net_http/CHANGELOG.md b/instrumentation/net_http/CHANGELOG.md index 50cb64973..7ed5aa510 100644 --- a/instrumentation/net_http/CHANGELOG.md +++ b/instrumentation/net_http/CHANGELOG.md @@ -76,7 +76,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 @@ -126,7 +126,7 @@ ### v0.7.0 / 2020-10-07 * DOCS: Added documentation for net_http gem in instrumentation -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/pg/CHANGELOG.md b/instrumentation/pg/CHANGELOG.md index fe3d3eb37..f22b565d2 100644 --- a/instrumentation/pg/CHANGELOG.md +++ b/instrumentation/pg/CHANGELOG.md @@ -104,7 +104,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * ADDED: Add option to postgres instrumentation to disable db.statement ### v0.17.1 / 2021-04-23 diff --git a/instrumentation/que/README.md b/instrumentation/que/README.md index 8cd22d6e1..940aa1794 100644 --- a/instrumentation/que/README.md +++ b/instrumentation/que/README.md @@ -49,7 +49,7 @@ OpenTelemetry::SDK.configure do |c| end ``` -If you wish the job will be executed in the same logicial trace as a direct +If you wish the job will be executed in the same logical trace as a direct child of the span that enqueued the job then set propagation_style to `child`. By default the jobs are just linked together. diff --git a/instrumentation/rack/CHANGELOG.md b/instrumentation/rack/CHANGELOG.md index 540499280..5cab71fac 100644 --- a/instrumentation/rack/CHANGELOG.md +++ b/instrumentation/rack/CHANGELOG.md @@ -80,7 +80,7 @@ ### v0.20.1 / 2021-12-01 -* FIXED: [Instruentation Rack] Log content type http header +* FIXED: [Instrumentation Rack] Log content type http header * FIXED: Use monotonic clock where possible * FIXED: Rack to stop using api env getter @@ -115,7 +115,7 @@ forwards the uri path. More details on this is available in the readme. ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * FIXED: Removed http.status_text attribute #750 ### v0.17.0 / 2021-04-22 @@ -181,7 +181,7 @@ forwards the uri path. More details on this is available in the readme. * FIXED: Remove superfluous file from Rack gem * DOCS: Added README for Rack Instrumentation -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/rails/CHANGELOG.md b/instrumentation/rails/CHANGELOG.md index b2dc96104..e89e820e1 100644 --- a/instrumentation/rails/CHANGELOG.md +++ b/instrumentation/rails/CHANGELOG.md @@ -87,7 +87,7 @@ ### v0.20.0 / 2021-12-01 -* ADDED: Move activesupport notification subsciber out of action_view gem +* ADDED: Move activesupport notification subscriber out of action_view gem * FIXED: Instrumentation of Rails 7 ### v0.19.4 / 2021-10-06 @@ -123,7 +123,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 diff --git a/instrumentation/rdkafka/CHANGELOG.md b/instrumentation/rdkafka/CHANGELOG.md index 58d8f5431..a8157a9a6 100644 --- a/instrumentation/rdkafka/CHANGELOG.md +++ b/instrumentation/rdkafka/CHANGELOG.md @@ -26,7 +26,7 @@ ### v0.4.1 / 2023-11-22 -* FIXED: Get Rdkafka version from VERSION contant +* FIXED: Get Rdkafka version from VERSION constant ### v0.4.0 / 2023-09-07 diff --git a/instrumentation/redis/CHANGELOG.md b/instrumentation/redis/CHANGELOG.md index 39cf15af2..30e952b71 100644 --- a/instrumentation/redis/CHANGELOG.md +++ b/instrumentation/redis/CHANGELOG.md @@ -82,7 +82,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 refactor: redis attribute utils [#760](https://github.com/open-telemetry/opentelemetry-ruby/pull/760) refactor: simplify redis attribute assignment [#758](https://github.com/open-telemetry/opentelemetry-ruby/pull/758) test: split redis instrumentation test [#754](https://github.com/open-telemetry/opentelemetry-ruby/pull/754) @@ -145,7 +145,7 @@ test: split redis instrumentation test [#754](https://github.com/open-telemetry/ ### v0.7.0 / 2020-10-07 * DOCS: Added redis documentation -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/restclient/CHANGELOG.md b/instrumentation/restclient/CHANGELOG.md index 101fa104d..1048ba87a 100644 --- a/instrumentation/restclient/CHANGELOG.md +++ b/instrumentation/restclient/CHANGELOG.md @@ -65,7 +65,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * FIXED: Removed http.status_text attribute #750 ### v0.17.0 / 2021-04-22 @@ -119,7 +119,7 @@ ### v0.7.0 / 2020-10-07 -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/ruby_kafka/CHANGELOG.md b/instrumentation/ruby_kafka/CHANGELOG.md index f67fc3cf6..1f6fbabcb 100644 --- a/instrumentation/ruby_kafka/CHANGELOG.md +++ b/instrumentation/ruby_kafka/CHANGELOG.md @@ -62,7 +62,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 diff --git a/instrumentation/sidekiq/CHANGELOG.md b/instrumentation/sidekiq/CHANGELOG.md index 007b05113..11c0d9755 100644 --- a/instrumentation/sidekiq/CHANGELOG.md +++ b/instrumentation/sidekiq/CHANGELOG.md @@ -103,7 +103,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * TEST: update test for redis instrumentation refactor [#760](https://github.com/open-telemetry/opentelemetry-ruby/pull/760) * BREAKING CHANGE: Remove optional parent_context from in_span @@ -161,7 +161,7 @@ * DOCS: Adding README for Sidekiq instrumentation * DOCS: Remove duplicate reference in Sidekiq README -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/instrumentation/sinatra/CHANGELOG.md b/instrumentation/sinatra/CHANGELOG.md index 331835a9b..a07c12ad1 100644 --- a/instrumentation/sinatra/CHANGELOG.md +++ b/instrumentation/sinatra/CHANGELOG.md @@ -90,7 +90,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * BREAKING CHANGE: Remove optional parent_context from in_span * FIXED: Remove optional parent_context from in_span @@ -150,7 +150,7 @@ ### v0.7.0 / 2020-10-07 * FIXED: Default to sinatra.route for span name -* DOCS: Standardize toplevel docs structure and readme +* DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 diff --git a/propagator/ottrace/CHANGELOG.md b/propagator/ottrace/CHANGELOG.md index 0b8547296..e108451a5 100644 --- a/propagator/ottrace/CHANGELOG.md +++ b/propagator/ottrace/CHANGELOG.md @@ -46,7 +46,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 ### v0.17.0 / 2021-04-22 diff --git a/propagator/xray/CHANGELOG.md b/propagator/xray/CHANGELOG.md index 5448ad7b9..1a91642c3 100644 --- a/propagator/xray/CHANGELOG.md +++ b/propagator/xray/CHANGELOG.md @@ -34,7 +34,7 @@ ### v0.18.0 / 2021-05-21 -* ADDED: Updated API depedency for 1.0.0.rc1 +* ADDED: Updated API dependency for 1.0.0.rc1 * FIXED: XRay trace_id parsing length ### v0.17.0 / 2021-04-22 From 246fc10b4e594d7b075aff5ed04cf05c6bd54620 Mon Sep 17 00:00:00 2001 From: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> Date: Tue, 16 Jul 2024 16:38:41 -0700 Subject: [PATCH 47/82] chore: Update Rubocop to 1.65.0 (#1070) --- .instrumentation_generator/templates/gemspec.tt | 2 +- helpers/mysql/opentelemetry-helpers-mysql.gemspec | 2 +- .../opentelemetry-helpers-sql-obfuscation.gemspec | 2 +- .../opentelemetry-instrumentation-action_mailer.gemspec | 2 +- .../opentelemetry-instrumentation-action_pack.gemspec | 2 +- .../opentelemetry-instrumentation-action_view.gemspec | 2 +- .../active_job/opentelemetry-instrumentation-active_job.gemspec | 2 +- ...entelemetry-instrumentation-active_model_serializers.gemspec | 2 +- .../opentelemetry-instrumentation-active_record.gemspec | 2 +- .../opentelemetry-instrumentation-active_support.gemspec | 2 +- instrumentation/all/opentelemetry-instrumentation-all.gemspec | 2 +- .../aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec | 2 +- .../aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec | 2 +- instrumentation/base/opentelemetry-instrumentation-base.gemspec | 2 +- .../bunny/opentelemetry-instrumentation-bunny.gemspec | 2 +- .../opentelemetry-instrumentation-concurrent_ruby.gemspec | 2 +- .../dalli/opentelemetry-instrumentation-dalli.gemspec | 2 +- .../opentelemetry-instrumentation-delayed_job.gemspec | 2 +- .../ethon/opentelemetry-instrumentation-ethon.gemspec | 2 +- .../excon/opentelemetry-instrumentation-excon.gemspec | 2 +- .../faraday/opentelemetry-instrumentation-faraday.gemspec | 2 +- .../grape/opentelemetry-instrumentation-grape.gemspec | 2 +- .../graphql/opentelemetry-instrumentation-graphql.gemspec | 2 +- instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec | 2 +- instrumentation/http/opentelemetry-instrumentation-http.gemspec | 2 +- .../opentelemetry-instrumentation-http_client.gemspec | 2 +- .../httpx/opentelemetry-instrumentation-httpx.gemspec | 2 +- .../koala/opentelemetry-instrumentation-koala.gemspec | 2 +- instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec | 2 +- .../mongo/opentelemetry-instrumentation-mongo.gemspec | 2 +- .../mysql2/opentelemetry-instrumentation-mysql2.gemspec | 2 +- .../net_http/opentelemetry-instrumentation-net_http.gemspec | 2 +- instrumentation/pg/opentelemetry-instrumentation-pg.gemspec | 2 +- instrumentation/que/opentelemetry-instrumentation-que.gemspec | 2 +- .../racecar/opentelemetry-instrumentation-racecar.gemspec | 2 +- instrumentation/rack/opentelemetry-instrumentation-rack.gemspec | 2 +- .../rails/opentelemetry-instrumentation-rails.gemspec | 2 +- instrumentation/rake/opentelemetry-instrumentation-rake.gemspec | 2 +- .../rdkafka/opentelemetry-instrumentation-rdkafka.gemspec | 2 +- .../redis/opentelemetry-instrumentation-redis.gemspec | 2 +- .../resque/opentelemetry-instrumentation-resque.gemspec | 2 +- .../restclient/opentelemetry-instrumentation-restclient.gemspec | 2 +- .../rspec/opentelemetry-instrumentation-rspec.gemspec | 2 +- .../ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec | 2 +- .../sidekiq/opentelemetry-instrumentation-sidekiq.gemspec | 2 +- .../sinatra/opentelemetry-instrumentation-sinatra.gemspec | 2 +- .../trilogy/opentelemetry-instrumentation-trilogy.gemspec | 2 +- processor/baggage/opentelemetry-processor-baggage.gemspec | 2 +- propagator/ottrace/opentelemetry-propagator-ottrace.gemspec | 2 +- propagator/vitess/opentelemetry-propagator-vitess.gemspec | 2 +- propagator/xray/opentelemetry-propagator-xray.gemspec | 2 +- resources/azure/opentelemetry-resource-detector-azure.gemspec | 2 +- .../container/opentelemetry-resource-detector-container.gemspec | 2 +- ...pentelemetry-resource-detector-google_cloud_platform.gemspec | 2 +- 54 files changed, 54 insertions(+), 54 deletions(-) diff --git a/.instrumentation_generator/templates/gemspec.tt b/.instrumentation_generator/templates/gemspec.tt index cadf4adc7..2692e7eac 100644 --- a/.instrumentation_generator/templates/gemspec.tt +++ b/.instrumentation_generator/templates/gemspec.tt @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.48.1' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.19.1' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.7.6' diff --git a/helpers/mysql/opentelemetry-helpers-mysql.gemspec b/helpers/mysql/opentelemetry-helpers-mysql.gemspec index 1c18e0fe8..38b977ea0 100644 --- a/helpers/mysql/opentelemetry-helpers-mysql.gemspec +++ b/helpers/mysql/opentelemetry-helpers-mysql.gemspec @@ -32,7 +32,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.21.0' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec b/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec index 5143fc7d6..65fc0902c 100644 --- a/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec +++ b/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.21.0' spec.add_development_dependency 'yard', '~> 0.9' spec.add_development_dependency 'yard-doctest', '~> 0.1.6' diff --git a/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec b/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec index 74308531b..4d0b58dfe 100644 --- a/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec +++ b/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec b/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec index e47b4aaaf..2340f6cf3 100644 --- a/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec +++ b/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rails', '>= 6.1' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec index 737fd963c..27bd8239f 100644 --- a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec +++ b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rails', '>= 6.1' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec b/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec index 44ab428fc..66ad5abf9 100644 --- a/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec +++ b/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec b/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec index e5c99a191..dd76de1fa 100644 --- a/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec +++ b/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec b/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec index 1e38841c2..7c383d4c3 100644 --- a/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec +++ b/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec b/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec index 30201b7d6..c19dcb32f 100644 --- a/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec +++ b/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec @@ -39,7 +39,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rails', '>= 6.1' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/all/opentelemetry-instrumentation-all.gemspec b/instrumentation/all/opentelemetry-instrumentation-all.gemspec index db7effd29..8873f4bb8 100644 --- a/instrumentation/all/opentelemetry-instrumentation-all.gemspec +++ b/instrumentation/all/opentelemetry-instrumentation-all.gemspec @@ -66,7 +66,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec b/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec index dedd36693..b9c927c34 100644 --- a/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec +++ b/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.19.1' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec b/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec index 609cfbe56..01415e31c 100644 --- a/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec +++ b/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/base/opentelemetry-instrumentation-base.gemspec b/instrumentation/base/opentelemetry-instrumentation-base.gemspec index 25e2a83c8..081b8414a 100644 --- a/instrumentation/base/opentelemetry-instrumentation-base.gemspec +++ b/instrumentation/base/opentelemetry-instrumentation-base.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec b/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec index 1bcb9c826..6651e5e47 100644 --- a/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec +++ b/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec b/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec index d4aec4ec1..5a6abf5fa 100644 --- a/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec +++ b/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec b/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec index 19317f687..cef6417d6 100644 --- a/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec +++ b/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec b/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec index 111cea40d..5a9f7c724 100644 --- a/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec +++ b/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'sqlite3' diff --git a/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec b/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec index 002bcef71..d1e5a80bb 100644 --- a/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec +++ b/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec b/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec index ce3de4604..8c6e67759 100644 --- a/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec +++ b/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec b/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec index ecea6f673..660fdfc6d 100644 --- a/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec +++ b/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec b/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec index 8d194aa6d..b3946273d 100644 --- a/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec +++ b/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec @@ -38,7 +38,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rack-test' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec b/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec index 061c34518..42a068d25 100644 --- a/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec +++ b/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec b/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec index f1c494593..d6a8d22d1 100644 --- a/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec +++ b/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.0' spec.add_development_dependency 'opentelemetry-test-helpers' spec.add_development_dependency 'rake', '~> 12.3.3' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/http/opentelemetry-instrumentation-http.gemspec b/instrumentation/http/opentelemetry-instrumentation-http.gemspec index 68f6bad7e..f7ceae25c 100644 --- a/instrumentation/http/opentelemetry-instrumentation-http.gemspec +++ b/instrumentation/http/opentelemetry-instrumentation-http.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec b/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec index d393f10e0..022070cde 100644 --- a/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec +++ b/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec b/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec index 9d7858466..5e1f1c04a 100644 --- a/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec +++ b/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec b/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec index 708f34484..3659cdd5a 100644 --- a/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec +++ b/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec b/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec index d91e80267..9b584530e 100644 --- a/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec +++ b/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec b/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec index 92e49d180..08f463bb1 100644 --- a/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec +++ b/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec b/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec index 50069b04f..148514d3c 100644 --- a/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec +++ b/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec @@ -37,7 +37,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec b/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec index 8352bcf70..0e4ebfaca 100644 --- a/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec +++ b/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0.1' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec b/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec index 1b6cd3389..e193ee246 100644 --- a/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec +++ b/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec @@ -37,7 +37,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/que/opentelemetry-instrumentation-que.gemspec b/instrumentation/que/opentelemetry-instrumentation-que.gemspec index d0e13a240..3b0a0d39d 100644 --- a/instrumentation/que/opentelemetry-instrumentation-que.gemspec +++ b/instrumentation/que/opentelemetry-instrumentation-que.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec b/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec index d238fe84f..b79e60360 100644 --- a/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec +++ b/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec b/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec index 6381e7f71..58484904d 100644 --- a/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec +++ b/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec b/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec index 045e45aae..ed3428b1b 100644 --- a/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec +++ b/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec @@ -41,7 +41,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rack-test', '~> 2.1.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec b/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec index b689c8fce..14a44994d 100644 --- a/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec +++ b/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec b/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec index afd16cdf0..59499e72d 100644 --- a/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec +++ b/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec b/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec index 811f3e09f..56c1a3a72 100644 --- a/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec +++ b/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec b/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec index 0978cb188..5726ac107 100644 --- a/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec +++ b/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec b/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec index 41d031184..6ae709b1f 100644 --- a/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec +++ b/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec b/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec index 375f55166..5bf297ee1 100644 --- a/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec +++ b/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec b/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec index 9d5e2502a..cbb1225f5 100644 --- a/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec +++ b/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec b/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec index 7c1c4c184..acce77d2e 100644 --- a/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec +++ b/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec b/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec index 20da3876f..aba1324d3 100644 --- a/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec +++ b/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rack-test', '~> 2.1' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec b/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec index 2e7bac304..0d380eac0 100644 --- a/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec +++ b/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec @@ -41,7 +41,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/processor/baggage/opentelemetry-processor-baggage.gemspec b/processor/baggage/opentelemetry-processor-baggage.gemspec index 0a1950fb3..dc34fd861 100644 --- a/processor/baggage/opentelemetry-processor-baggage.gemspec +++ b/processor/baggage/opentelemetry-processor-baggage.gemspec @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec b/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec index ca10be3e1..2ae6921c1 100644 --- a/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec +++ b/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec @@ -28,7 +28,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/vitess/opentelemetry-propagator-vitess.gemspec b/propagator/vitess/opentelemetry-propagator-vitess.gemspec index 8894b5816..3b22600a8 100644 --- a/propagator/vitess/opentelemetry-propagator-vitess.gemspec +++ b/propagator/vitess/opentelemetry-propagator-vitess.gemspec @@ -29,7 +29,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/xray/opentelemetry-propagator-xray.gemspec b/propagator/xray/opentelemetry-propagator-xray.gemspec index 6ad021a6e..2f5cf5009 100644 --- a/propagator/xray/opentelemetry-propagator-xray.gemspec +++ b/propagator/xray/opentelemetry-propagator-xray.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/resources/azure/opentelemetry-resource-detector-azure.gemspec b/resources/azure/opentelemetry-resource-detector-azure.gemspec index 823972833..2a5da4255 100644 --- a/resources/azure/opentelemetry-resource-detector-azure.gemspec +++ b/resources/azure/opentelemetry-resource-detector-azure.gemspec @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'webmock', '~> 3.23.0' diff --git a/resources/container/opentelemetry-resource-detector-container.gemspec b/resources/container/opentelemetry-resource-detector-container.gemspec index e7f0abcea..a5724c958 100644 --- a/resources/container/opentelemetry-resource-detector-container.gemspec +++ b/resources/container/opentelemetry-resource-detector-container.gemspec @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec b/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec index 51cebccc9..5ec3b7e83 100644 --- a/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec +++ b/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.64.0' + spec.add_development_dependency 'rubocop', '~> 1.65.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'webmock', '~> 3.23.0' From 8b9aba33e51f95255c9440f74664ca29ef08aed6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lavoie?= Date: Mon, 22 Jul 2024 12:40:12 -0400 Subject: [PATCH 48/82] fix: ActiveJob::Handlers.unsubscribe (#1078) Fix ActiveJob::Handlers.unsubscribe --- .../instrumentation/active_job/handlers.rb | 2 +- .../instrumentation/active_job/handlers_test.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers.rb index 7eafb9425..8b235f1da 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers.rb @@ -64,7 +64,7 @@ def subscribe # Removes Event Handler Subscriptions for ActiveJob notifications # @note this method is not thread-safe and should not be used in a multi-threaded context def unsubscribe - @subscriptions&.each { |subscriber| ActiveSupport::Notifications.unsubscribe(subscriber) } + @subscriptions&.each { |subscriber| ::ActiveSupport::Notifications.unsubscribe(subscriber) } @subscriptions = nil end end diff --git a/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers_test.rb b/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers_test.rb index 790ace52c..7be9194bf 100644 --- a/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers_test.rb +++ b/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers_test.rb @@ -50,4 +50,14 @@ _(MixedArgsJob.perform_now('arg1', 'arg2', keyword2: :keyword2)).must_be_nil # Make sure this runs without raising an error end end + + describe 'usage' do + it 'can unsubscribe' do + _(OpenTelemetry::Instrumentation::ActiveJob::Handlers.instance_variable_get(:@subscriptions)).wont_be_empty + + OpenTelemetry::Instrumentation::ActiveJob::Handlers.unsubscribe + + _(OpenTelemetry::Instrumentation::ActiveJob::Handlers.instance_variable_get(:@subscriptions)).must_be_nil + end + end end From bfe1e8cce50a6a4784fbdd7660b5664d7611bf8a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 22 Jul 2024 14:37:34 -0700 Subject: [PATCH 49/82] release: Release opentelemetry-instrumentation-active_job 0.7.3 (was 0.7.2) (#1081) * release: Release opentelemetry-instrumentation-active_job 0.7.3 (was 0.7.2) * ci: force --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Kayla Reopelle --- instrumentation/active_job/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/active_job/version.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/instrumentation/active_job/CHANGELOG.md b/instrumentation/active_job/CHANGELOG.md index 49d92a237..4bdc9a478 100644 --- a/instrumentation/active_job/CHANGELOG.md +++ b/instrumentation/active_job/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-active_job +### v0.7.3 / 2024-07-22 + +* FIXED: ActiveJob::Handlers.unsubscribe + ### v0.7.2 / 2024-07-02 * DOCS: Fix CHANGELOGs to reflect a past breaking change diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb index ece2c148c..4dfdeb2d6 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveJob - VERSION = '0.7.2' + VERSION = '0.7.3' end end end From e7377e0cb713adbacd721ea8dc0ab198f04b03cd Mon Sep 17 00:00:00 2001 From: Xuan <112967240+xuan-cao-swi@users.noreply.github.com> Date: Tue, 23 Jul 2024 17:30:08 -0400 Subject: [PATCH 50/82] fix: register lambda span (#1073) * fix: register lambda span * avoid use instance variable * revision --- instrumentation/aws_lambda/README.md | 1 + .../aws_lambda/example/trace_demonstration.rb | 2 +- .../instrumentation/aws_lambda/handler.rb | 40 ++++++++----------- .../opentelemetry/instrumentation_test.rb | 21 ++++++++++ 4 files changed, 39 insertions(+), 25 deletions(-) diff --git a/instrumentation/aws_lambda/README.md b/instrumentation/aws_lambda/README.md index 90dc918c9..eea0d446a 100644 --- a/instrumentation/aws_lambda/README.md +++ b/instrumentation/aws_lambda/README.md @@ -36,6 +36,7 @@ To run the example: * `bundle install` 2. Run the sample client script * `ruby trace_demonstration.rb` + * or `bundle exec ruby trace_demonstration.rb` This will run SNS publish command, printing OpenTelemetry traces to the console as it goes. diff --git a/instrumentation/aws_lambda/example/trace_demonstration.rb b/instrumentation/aws_lambda/example/trace_demonstration.rb index b135bad5b..7af664018 100755 --- a/instrumentation/aws_lambda/example/trace_demonstration.rb +++ b/instrumentation/aws_lambda/example/trace_demonstration.rb @@ -97,6 +97,6 @@ def otel_wrapper(event:, context:) "version" => "1.0" } -context = MockLambdaContext.new(aws_request_id: "aws_request_id",invoked_function_arn: "invoked_function_arn",function_name: "function") +context = MockLambdaContext.new(aws_request_id: "aws_request_id",invoked_function_arn: "arn:aws:lambda:us-west-2:123456789012:function:HelloWorld",function_name: "function") otel_wrapper(event: event, context: context) # you should see Success before the trace diff --git a/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/handler.rb b/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/handler.rb index 7c9a32c18..69c050be5 100644 --- a/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/handler.rb +++ b/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/handler.rb @@ -40,33 +40,25 @@ def call_wrapped(event:, context:) original_handler_error = nil original_response = nil OpenTelemetry::Context.with_current(parent_context) do - span_attributes = otel_attributes(event, context) - span = tracer.start_span( - @original_handler, - attributes: span_attributes, - kind: span_kind - ) - - begin - response = call_original_handler(event: event, context: context) - status_code = response['statusCode'] || response[:statusCode] if response.is_a?(Hash) - span.set_attribute(OpenTelemetry::SemanticConventions::Trace::HTTP_STATUS_CODE, status_code) if status_code - rescue StandardError => e - original_handler_error = e - ensure - original_response = response + tracer.in_span(@original_handler, attributes: otel_attributes(event, context), kind: span_kind) do |span| + begin + response = call_original_handler(event: event, context: context) + status_code = response['statusCode'] || response[:statusCode] if response.is_a?(Hash) + span.set_attribute(OpenTelemetry::SemanticConventions::Trace::HTTP_STATUS_CODE, status_code) if status_code + rescue StandardError => e + original_handler_error = e + ensure + original_response = response + end + if original_handler_error + span.record_exception(original_handler_error) + span.status = OpenTelemetry::Trace::Status.error(original_handler_error.message) + end end - rescue StandardError => e - OpenTelemetry.logger.error("aws-lambda instrumentation #{e.class}: #{e.message}") - ensure - if original_handler_error - span&.record_exception(original_handler_error) - span&.status = OpenTelemetry::Trace::Status.error(original_handler_error.message) - end - span&.finish - OpenTelemetry.tracer_provider.force_flush(timeout: @flush_timeout) end + OpenTelemetry.tracer_provider.force_flush(timeout: @flush_timeout) + raise original_handler_error if original_handler_error original_response diff --git a/instrumentation/aws_lambda/test/opentelemetry/instrumentation_test.rb b/instrumentation/aws_lambda/test/opentelemetry/instrumentation_test.rb index e737544f6..855b0bc6e 100644 --- a/instrumentation/aws_lambda/test/opentelemetry/instrumentation_test.rb +++ b/instrumentation/aws_lambda/test/opentelemetry/instrumentation_test.rb @@ -214,4 +214,25 @@ end end end + + describe 'validate_if_span_is_registered' do + it 'add_span_attributes_to_lambda_span' do + stub = proc do + span = OpenTelemetry::Trace.current_span + span.set_attribute('test.attribute', 320) + end + + otel_wrapper = OpenTelemetry::Instrumentation::AwsLambda::Handler.new + otel_wrapper.stub(:call_original_handler, stub) do + otel_wrapper.call_wrapped(event: sqs_record, context: context) + + _(last_span.name).must_equal 'sample.test' + _(last_span.kind).must_equal :consumer + _(last_span.status.code).must_equal 1 + _(last_span.hex_parent_span_id).must_equal '0000000000000000' + + _(last_span.attributes['test.attribute']).must_equal 320 + end + end + end end From df6e43f9a350afeca3066e2ceba0ed5112d9d47f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lavoie?= Date: Tue, 23 Jul 2024 18:10:17 -0400 Subject: [PATCH 51/82] fix(active-job): Honour dynamic changes in configuration (#1079) fix(active-job): honour dynamic changes in configuration --- .../active_job/handlers/enqueue.rb | 23 +++++++++++-------- .../active_job/handlers/perform.rb | 23 +++++++++++-------- .../active_job/handlers/perform_test.rb | 18 +++++++++++++++ 3 files changed, 44 insertions(+), 20 deletions(-) diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb index 4b4c55937..4b1291747 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb @@ -10,15 +10,6 @@ module ActiveJob module Handlers # Handles `enqueue.active_job` and `enqueue_at.active_job` to generate egress spans class Enqueue < Default - def initialize(...) - super - @span_name_formatter = if @config[:span_naming] == :job_class - ->(job) { "#{job.class.name} publish" } - else - ->(job) { "#{job.queue_name} publish" } - end - end - # Overrides the `Default#start_span` method to create an egress span # and registers it with the current context # @@ -28,10 +19,22 @@ def initialize(...) # @return [Hash] with the span and generated context tokens def start_span(name, _id, payload) job = payload.fetch(:job) - span = tracer.start_span(@span_name_formatter.call(job), kind: :producer, attributes: @mapper.call(payload)) + span = tracer.start_span(span_name(job), kind: :producer, attributes: @mapper.call(payload)) OpenTelemetry.propagation.inject(job.__otel_headers) # This must be transmitted over the wire { span: span, ctx_token: OpenTelemetry::Context.attach(OpenTelemetry::Trace.context_with_span(span)) } end + + private + + def span_name(job) + prefix = if @config[:span_naming] == :job_class + job.class.name + else + job.queue_name + end + + "#{prefix} publish" + end end end end diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb index bbfd2ed27..853281a5e 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb @@ -10,15 +10,6 @@ module ActiveJob module Handlers # Handles perform.active_job to generate ingress spans class Perform < Default - def initialize(...) - super - @span_name_formatter = if @config[:span_naming] == :job_class - ->(job) { "#{job.class.name} process" } - else - ->(job) { "#{job.queue_name} process" } - end - end - # Overrides the `Default#start_span` method to create an ingress span # and registers it with the current context # @@ -30,7 +21,7 @@ def start_span(name, _id, payload) job = payload.fetch(:job) parent_context = OpenTelemetry.propagation.extract(job.__otel_headers) - span_name = @span_name_formatter.call(job) + span_name = span_name(job) # TODO: Refactor into a propagation strategy propagation_style = @config[:propagation_style] @@ -57,6 +48,18 @@ def attach_consumer_context(span) OpenTelemetry::Context.attach(internal_context) end + + private + + def span_name(job) + prefix = if @config[:span_naming] == :job_class + job.class.name + else + job.queue_name + end + + "#{prefix} process" + end end end end diff --git a/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/perform_test.rb b/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/perform_test.rb index cf4c9b976..3227bf62f 100644 --- a/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/perform_test.rb +++ b/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/perform_test.rb @@ -261,4 +261,22 @@ _(CallbacksJob.context_after).must_be :valid? end end + + describe 'with a configuration modified after installation' do + let(:job_class) { TestJob } + let(:publish_span) { spans.find { |s| s.name == "#{job_class.name} publish" } } + let(:process_span) { spans.find { |s| s.name == "#{job_class.name} process" } } + + before do + instance_config = instrumentation.instance_variable_get(:@config) + instance_config[:span_naming] = :job_class + end + + it 'uses the updated configuration' do + TestJob.perform_later + + _(publish_span).wont_be_nil + _(process_span).wont_be_nil + end + end end From 35ddf66f9c42a228298ef1c9f333abb65d6ddc45 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 24 Jul 2024 09:28:59 -0700 Subject: [PATCH 52/82] release: Release 30 gems (#1083) * release: Release 30 gems * opentelemetry-instrumentation-rdkafka 0.4.8 (was 0.4.7) * opentelemetry-instrumentation-action_view 0.7.1 (was 0.7.0) * opentelemetry-instrumentation-base 0.22.5 (was 0.22.4) * opentelemetry-instrumentation-aws_sdk 0.5.4 (was 0.5.3) * opentelemetry-instrumentation-lmdb 0.22.3 (was 0.22.2) * opentelemetry-instrumentation-http 0.23.4 (was 0.23.3) * opentelemetry-instrumentation-graphql 0.28.3 (was 0.28.2) * opentelemetry-instrumentation-http_client 0.22.7 (was 0.22.6) * opentelemetry-instrumentation-active_model_serializers 0.20.2 (was 0.20.1) * opentelemetry-instrumentation-concurrent_ruby 0.21.4 (was 0.21.3) * opentelemetry-instrumentation-dalli 0.25.4 (was 0.25.3) * opentelemetry-instrumentation-delayed_job 0.22.4 (was 0.22.3) * opentelemetry-instrumentation-ethon 0.21.8 (was 0.21.7) * opentelemetry-instrumentation-excon 0.22.4 (was 0.22.3) * opentelemetry-instrumentation-faraday 0.24.6 (was 0.24.5) * opentelemetry-instrumentation-mongo 0.22.4 (was 0.22.3) * opentelemetry-instrumentation-mysql2 0.27.2 (was 0.27.1) * opentelemetry-instrumentation-net_http 0.22.7 (was 0.22.6) * opentelemetry-instrumentation-pg 0.27.4 (was 0.27.3) * opentelemetry-instrumentation-que 0.8.3 (was 0.8.2) * opentelemetry-instrumentation-rack 0.24.6 (was 0.24.5) * opentelemetry-instrumentation-rails 0.31.1 (was 0.31.0) * opentelemetry-instrumentation-redis 0.25.7 (was 0.25.6) * opentelemetry-instrumentation-restclient 0.22.7 (was 0.22.6) * opentelemetry-instrumentation-ruby_kafka 0.21.3 (was 0.21.2) * opentelemetry-instrumentation-sidekiq 0.25.7 (was 0.25.6) * opentelemetry-instrumentation-sinatra 0.24.1 (was 0.24.0) * opentelemetry-instrumentation-all 0.62.1 (was 0.62.0) * opentelemetry-propagator-ottrace 0.21.3 (was 0.21.2) * opentelemetry-propagator-xray 0.22.2 (was 0.22.1) * chore: Move CHANGELOG entry to top --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Kayla Reopelle Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> --- instrumentation/action_view/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/action_view/version.rb | 2 +- instrumentation/active_model_serializers/CHANGELOG.md | 4 ++++ .../instrumentation/active_model_serializers/version.rb | 2 +- instrumentation/all/CHANGELOG.md | 4 ++++ .../all/lib/opentelemetry/instrumentation/all/version.rb | 2 +- instrumentation/aws_sdk/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/aws_sdk/version.rb | 2 +- instrumentation/base/CHANGELOG.md | 4 ++++ .../base/lib/opentelemetry/instrumentation/version.rb | 2 +- instrumentation/concurrent_ruby/CHANGELOG.md | 4 ++++ .../opentelemetry/instrumentation/concurrent_ruby/version.rb | 2 +- instrumentation/dalli/CHANGELOG.md | 4 ++++ .../dalli/lib/opentelemetry/instrumentation/dalli/version.rb | 2 +- instrumentation/delayed_job/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/delayed_job/version.rb | 2 +- instrumentation/ethon/CHANGELOG.md | 4 ++++ .../ethon/lib/opentelemetry/instrumentation/ethon/version.rb | 2 +- instrumentation/excon/CHANGELOG.md | 4 ++++ .../excon/lib/opentelemetry/instrumentation/excon/version.rb | 2 +- instrumentation/faraday/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/faraday/version.rb | 2 +- instrumentation/graphql/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/graphql/version.rb | 2 +- instrumentation/http/CHANGELOG.md | 4 ++++ .../http/lib/opentelemetry/instrumentation/http/version.rb | 2 +- instrumentation/http_client/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/http_client/version.rb | 2 +- instrumentation/lmdb/CHANGELOG.md | 4 ++++ .../lmdb/lib/opentelemetry/instrumentation/lmdb/version.rb | 2 +- instrumentation/mongo/CHANGELOG.md | 4 ++++ .../mongo/lib/opentelemetry/instrumentation/mongo/version.rb | 2 +- instrumentation/mysql2/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/mysql2/version.rb | 2 +- instrumentation/net_http/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/net/http/version.rb | 2 +- instrumentation/pg/CHANGELOG.md | 4 ++++ .../pg/lib/opentelemetry/instrumentation/pg/version.rb | 2 +- instrumentation/que/CHANGELOG.md | 4 ++++ .../que/lib/opentelemetry/instrumentation/que/version.rb | 2 +- instrumentation/rack/CHANGELOG.md | 4 ++++ .../rack/lib/opentelemetry/instrumentation/rack/version.rb | 2 +- instrumentation/rails/CHANGELOG.md | 4 ++++ .../rails/lib/opentelemetry/instrumentation/rails/version.rb | 2 +- instrumentation/rdkafka/CHANGELOG.md | 5 +++++ .../lib/opentelemetry/instrumentation/rdkafka/version.rb | 2 +- instrumentation/redis/CHANGELOG.md | 4 ++++ .../redis/lib/opentelemetry/instrumentation/redis/version.rb | 2 +- instrumentation/restclient/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/restclient/version.rb | 2 +- instrumentation/ruby_kafka/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/ruby_kafka/version.rb | 2 +- instrumentation/sidekiq/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/sidekiq/version.rb | 2 +- instrumentation/sinatra/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/sinatra/version.rb | 2 +- propagator/ottrace/CHANGELOG.md | 4 ++++ .../ottrace/lib/opentelemetry/propagator/ottrace/version.rb | 2 +- propagator/xray/CHANGELOG.md | 4 ++++ propagator/xray/lib/opentelemetry/propagator/xray/version.rb | 2 +- 60 files changed, 151 insertions(+), 30 deletions(-) diff --git a/instrumentation/action_view/CHANGELOG.md b/instrumentation/action_view/CHANGELOG.md index c648eace4..0574ba216 100644 --- a/instrumentation/action_view/CHANGELOG.md +++ b/instrumentation/action_view/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-action_view +### v0.7.1 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.7.0 / 2023-11-22 * BREAKING CHANGE: Drop Rails 6.0 EOL diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb index 76b5b4867..2b41d3fbe 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActionView - VERSION = '0.7.0' + VERSION = '0.7.1' end end end diff --git a/instrumentation/active_model_serializers/CHANGELOG.md b/instrumentation/active_model_serializers/CHANGELOG.md index 7cb9de021..d6843c0f4 100644 --- a/instrumentation/active_model_serializers/CHANGELOG.md +++ b/instrumentation/active_model_serializers/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-active_model_serializers +### v0.20.2 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.20.1 / 2023-06-05 * FIXED: Base config options diff --git a/instrumentation/active_model_serializers/lib/opentelemetry/instrumentation/active_model_serializers/version.rb b/instrumentation/active_model_serializers/lib/opentelemetry/instrumentation/active_model_serializers/version.rb index 6fb50e39e..85f4d84de 100644 --- a/instrumentation/active_model_serializers/lib/opentelemetry/instrumentation/active_model_serializers/version.rb +++ b/instrumentation/active_model_serializers/lib/opentelemetry/instrumentation/active_model_serializers/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveModelSerializers - VERSION = '0.20.1' + VERSION = '0.20.2' end end end diff --git a/instrumentation/all/CHANGELOG.md b/instrumentation/all/CHANGELOG.md index ba654bcde..5e2406e19 100644 --- a/instrumentation/all/CHANGELOG.md +++ b/instrumentation/all/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-all +### v0.62.1 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.62.0 / 2024-07-02 * DOCS: Fix CHANGELOGs to reflect a past breaking change diff --git a/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb b/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb index 546bdf7e7..59e25a754 100644 --- a/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb +++ b/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module All - VERSION = '0.62.0' + VERSION = '0.62.1' end end end diff --git a/instrumentation/aws_sdk/CHANGELOG.md b/instrumentation/aws_sdk/CHANGELOG.md index 8d6430926..ae6f5e8a4 100644 --- a/instrumentation/aws_sdk/CHANGELOG.md +++ b/instrumentation/aws_sdk/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-aws_sdk +### v0.5.4 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.5.3 / 2024-07-02 * DOCS: Fix CHANGELOGs to reflect a past breaking change diff --git a/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/version.rb b/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/version.rb index fa477aae1..b14b16581 100644 --- a/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/version.rb +++ b/instrumentation/aws_sdk/lib/opentelemetry/instrumentation/aws_sdk/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module AwsSdk - VERSION = '0.5.3' + VERSION = '0.5.4' end end end diff --git a/instrumentation/base/CHANGELOG.md b/instrumentation/base/CHANGELOG.md index fff58375d..c689d8f9e 100644 --- a/instrumentation/base/CHANGELOG.md +++ b/instrumentation/base/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-base +### v0.22.5 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.22.4 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/base/lib/opentelemetry/instrumentation/version.rb b/instrumentation/base/lib/opentelemetry/instrumentation/version.rb index 297acbb24..ac1fdd520 100644 --- a/instrumentation/base/lib/opentelemetry/instrumentation/version.rb +++ b/instrumentation/base/lib/opentelemetry/instrumentation/version.rb @@ -6,6 +6,6 @@ module OpenTelemetry module Instrumentation - VERSION = '0.22.4' + VERSION = '0.22.5' end end diff --git a/instrumentation/concurrent_ruby/CHANGELOG.md b/instrumentation/concurrent_ruby/CHANGELOG.md index 20cb139c0..87f160453 100644 --- a/instrumentation/concurrent_ruby/CHANGELOG.md +++ b/instrumentation/concurrent_ruby/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-concurrent_ruby +### v0.21.4 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.21.3 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/concurrent_ruby/lib/opentelemetry/instrumentation/concurrent_ruby/version.rb b/instrumentation/concurrent_ruby/lib/opentelemetry/instrumentation/concurrent_ruby/version.rb index d92667088..be7cb8cf1 100644 --- a/instrumentation/concurrent_ruby/lib/opentelemetry/instrumentation/concurrent_ruby/version.rb +++ b/instrumentation/concurrent_ruby/lib/opentelemetry/instrumentation/concurrent_ruby/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ConcurrentRuby - VERSION = '0.21.3' + VERSION = '0.21.4' end end end diff --git a/instrumentation/dalli/CHANGELOG.md b/instrumentation/dalli/CHANGELOG.md index 58380c13a..f558533e3 100644 --- a/instrumentation/dalli/CHANGELOG.md +++ b/instrumentation/dalli/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-dalli +### v0.25.4 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.25.3 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/dalli/lib/opentelemetry/instrumentation/dalli/version.rb b/instrumentation/dalli/lib/opentelemetry/instrumentation/dalli/version.rb index 19a3ba981..7dbaf36eb 100644 --- a/instrumentation/dalli/lib/opentelemetry/instrumentation/dalli/version.rb +++ b/instrumentation/dalli/lib/opentelemetry/instrumentation/dalli/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Dalli - VERSION = '0.25.3' + VERSION = '0.25.4' end end end diff --git a/instrumentation/delayed_job/CHANGELOG.md b/instrumentation/delayed_job/CHANGELOG.md index 8cf7e84a3..e70bac97a 100644 --- a/instrumentation/delayed_job/CHANGELOG.md +++ b/instrumentation/delayed_job/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-delayed_job +### v0.22.4 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.22.3 / 2024-07-02 * DOCS: Fix CHANGELOGs to reflect a past breaking change diff --git a/instrumentation/delayed_job/lib/opentelemetry/instrumentation/delayed_job/version.rb b/instrumentation/delayed_job/lib/opentelemetry/instrumentation/delayed_job/version.rb index ed2e12e04..923ac4fad 100644 --- a/instrumentation/delayed_job/lib/opentelemetry/instrumentation/delayed_job/version.rb +++ b/instrumentation/delayed_job/lib/opentelemetry/instrumentation/delayed_job/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module DelayedJob - VERSION = '0.22.3' + VERSION = '0.22.4' end end end diff --git a/instrumentation/ethon/CHANGELOG.md b/instrumentation/ethon/CHANGELOG.md index a187e1f49..09450c220 100644 --- a/instrumentation/ethon/CHANGELOG.md +++ b/instrumentation/ethon/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-ethon +### v0.21.8 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.21.7 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb b/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb index 32be6eb25..e55bab802 100644 --- a/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb +++ b/instrumentation/ethon/lib/opentelemetry/instrumentation/ethon/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Ethon - VERSION = '0.21.7' + VERSION = '0.21.8' end end end diff --git a/instrumentation/excon/CHANGELOG.md b/instrumentation/excon/CHANGELOG.md index 509a71067..a05f7b074 100644 --- a/instrumentation/excon/CHANGELOG.md +++ b/instrumentation/excon/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-excon +### v0.22.4 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.22.3 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/excon/lib/opentelemetry/instrumentation/excon/version.rb b/instrumentation/excon/lib/opentelemetry/instrumentation/excon/version.rb index 486b0200a..d34f4307a 100644 --- a/instrumentation/excon/lib/opentelemetry/instrumentation/excon/version.rb +++ b/instrumentation/excon/lib/opentelemetry/instrumentation/excon/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Excon - VERSION = '0.22.3' + VERSION = '0.22.4' end end end diff --git a/instrumentation/faraday/CHANGELOG.md b/instrumentation/faraday/CHANGELOG.md index b805e43ee..03ad7653d 100644 --- a/instrumentation/faraday/CHANGELOG.md +++ b/instrumentation/faraday/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-faraday +### v0.24.6 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.24.5 / 2024-06-20 * FIXED: Compatibility with Faraday v1 diff --git a/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb b/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb index f049c317f..c26f83106 100644 --- a/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb +++ b/instrumentation/faraday/lib/opentelemetry/instrumentation/faraday/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Faraday - VERSION = '0.24.5' + VERSION = '0.24.6' end end end diff --git a/instrumentation/graphql/CHANGELOG.md b/instrumentation/graphql/CHANGELOG.md index b35de4faf..f18b62e02 100644 --- a/instrumentation/graphql/CHANGELOG.md +++ b/instrumentation/graphql/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-graphql +### v0.28.3 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.28.2 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/version.rb b/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/version.rb index 03976e332..3792724a8 100644 --- a/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/version.rb +++ b/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module GraphQL - VERSION = '0.28.2' + VERSION = '0.28.3' end end end diff --git a/instrumentation/http/CHANGELOG.md b/instrumentation/http/CHANGELOG.md index 02683f2de..045e2760c 100644 --- a/instrumentation/http/CHANGELOG.md +++ b/instrumentation/http/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-http +### v0.23.4 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.23.3 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/http/lib/opentelemetry/instrumentation/http/version.rb b/instrumentation/http/lib/opentelemetry/instrumentation/http/version.rb index 9e392212c..78903f342 100644 --- a/instrumentation/http/lib/opentelemetry/instrumentation/http/version.rb +++ b/instrumentation/http/lib/opentelemetry/instrumentation/http/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module HTTP - VERSION = '0.23.3' + VERSION = '0.23.4' end end end diff --git a/instrumentation/http_client/CHANGELOG.md b/instrumentation/http_client/CHANGELOG.md index df483006a..b6cb9a312 100644 --- a/instrumentation/http_client/CHANGELOG.md +++ b/instrumentation/http_client/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-http_client +### v0.22.7 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.22.6 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/http_client/lib/opentelemetry/instrumentation/http_client/version.rb b/instrumentation/http_client/lib/opentelemetry/instrumentation/http_client/version.rb index 5f263a756..ad0c41ed9 100644 --- a/instrumentation/http_client/lib/opentelemetry/instrumentation/http_client/version.rb +++ b/instrumentation/http_client/lib/opentelemetry/instrumentation/http_client/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module HttpClient - VERSION = '0.22.6' + VERSION = '0.22.7' end end end diff --git a/instrumentation/lmdb/CHANGELOG.md b/instrumentation/lmdb/CHANGELOG.md index 00a43990b..ba6a53e1e 100644 --- a/instrumentation/lmdb/CHANGELOG.md +++ b/instrumentation/lmdb/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-lmdb +### v0.22.3 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.22.2 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/lmdb/lib/opentelemetry/instrumentation/lmdb/version.rb b/instrumentation/lmdb/lib/opentelemetry/instrumentation/lmdb/version.rb index 998d9a01e..d4a5cbc0b 100644 --- a/instrumentation/lmdb/lib/opentelemetry/instrumentation/lmdb/version.rb +++ b/instrumentation/lmdb/lib/opentelemetry/instrumentation/lmdb/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module LMDB - VERSION = '0.22.2' + VERSION = '0.22.3' end end end diff --git a/instrumentation/mongo/CHANGELOG.md b/instrumentation/mongo/CHANGELOG.md index 51bd62251..53736caaa 100644 --- a/instrumentation/mongo/CHANGELOG.md +++ b/instrumentation/mongo/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-mongo +### v0.22.4 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.22.3 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/mongo/lib/opentelemetry/instrumentation/mongo/version.rb b/instrumentation/mongo/lib/opentelemetry/instrumentation/mongo/version.rb index 57c5f676f..edf3408af 100644 --- a/instrumentation/mongo/lib/opentelemetry/instrumentation/mongo/version.rb +++ b/instrumentation/mongo/lib/opentelemetry/instrumentation/mongo/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Mongo - VERSION = '0.22.3' + VERSION = '0.22.4' end end end diff --git a/instrumentation/mysql2/CHANGELOG.md b/instrumentation/mysql2/CHANGELOG.md index f443f0721..4d78d7856 100644 --- a/instrumentation/mysql2/CHANGELOG.md +++ b/instrumentation/mysql2/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-mysql2 +### v0.27.2 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.27.1 / 2024-04-30 * FIXED: Bundler conflict warnings diff --git a/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/version.rb b/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/version.rb index 13538dc20..ea71550ea 100644 --- a/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/version.rb +++ b/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Mysql2 - VERSION = '0.27.1' + VERSION = '0.27.2' end end end diff --git a/instrumentation/net_http/CHANGELOG.md b/instrumentation/net_http/CHANGELOG.md index 7ed5aa510..19d87fbf7 100644 --- a/instrumentation/net_http/CHANGELOG.md +++ b/instrumentation/net_http/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-net_http +### v0.22.7 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.22.6 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/version.rb b/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/version.rb index f8b0c8666..95d014f8e 100644 --- a/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/version.rb +++ b/instrumentation/net_http/lib/opentelemetry/instrumentation/net/http/version.rb @@ -8,7 +8,7 @@ module OpenTelemetry module Instrumentation module Net module HTTP - VERSION = '0.22.6' + VERSION = '0.22.7' end end end diff --git a/instrumentation/pg/CHANGELOG.md b/instrumentation/pg/CHANGELOG.md index f22b565d2..af01546b4 100644 --- a/instrumentation/pg/CHANGELOG.md +++ b/instrumentation/pg/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-pg +### v0.27.4 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.27.3 / 2024-05-11 * ADDED: Support prepend SQL comment for PG instrumentation diff --git a/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb b/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb index 105f4152e..5039c662a 100644 --- a/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb +++ b/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module PG - VERSION = '0.27.3' + VERSION = '0.27.4' end end end diff --git a/instrumentation/que/CHANGELOG.md b/instrumentation/que/CHANGELOG.md index 7debd66c3..d77e66d0f 100644 --- a/instrumentation/que/CHANGELOG.md +++ b/instrumentation/que/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-que +### v0.8.3 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.8.2 / 2024-07-02 * DOCS: Fix CHANGELOGs to reflect a past breaking change diff --git a/instrumentation/que/lib/opentelemetry/instrumentation/que/version.rb b/instrumentation/que/lib/opentelemetry/instrumentation/que/version.rb index b96f6aa0e..eaa4552b6 100644 --- a/instrumentation/que/lib/opentelemetry/instrumentation/que/version.rb +++ b/instrumentation/que/lib/opentelemetry/instrumentation/que/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Que - VERSION = '0.8.2' + VERSION = '0.8.3' end end end diff --git a/instrumentation/rack/CHANGELOG.md b/instrumentation/rack/CHANGELOG.md index 5cab71fac..2f82b82fa 100644 --- a/instrumentation/rack/CHANGELOG.md +++ b/instrumentation/rack/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-rack +### v0.24.6 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.24.5 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/rack/lib/opentelemetry/instrumentation/rack/version.rb b/instrumentation/rack/lib/opentelemetry/instrumentation/rack/version.rb index 082779a2e..f958c372f 100644 --- a/instrumentation/rack/lib/opentelemetry/instrumentation/rack/version.rb +++ b/instrumentation/rack/lib/opentelemetry/instrumentation/rack/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Rack - VERSION = '0.24.5' + VERSION = '0.24.6' end end end diff --git a/instrumentation/rails/CHANGELOG.md b/instrumentation/rails/CHANGELOG.md index e89e820e1..64e6a286a 100644 --- a/instrumentation/rails/CHANGELOG.md +++ b/instrumentation/rails/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-rails +### v0.31.1 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.31.0 / 2024-07-02 * DOCS: Fix CHANGELOGs to reflect a past breaking change diff --git a/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb b/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb index 334dc1f60..9a76e9151 100644 --- a/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb +++ b/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Rails - VERSION = '0.31.0' + VERSION = '0.31.1' end end end diff --git a/instrumentation/rdkafka/CHANGELOG.md b/instrumentation/rdkafka/CHANGELOG.md index a8157a9a6..dc412f73f 100644 --- a/instrumentation/rdkafka/CHANGELOG.md +++ b/instrumentation/rdkafka/CHANGELOG.md @@ -1,5 +1,10 @@ # Release History: opentelemetry-instrumentation-rdkafka +### v0.4.8 / 2024-07-23 + +* DOCS: Link to rdkafka example +* DOCS: Add cspell to CI + ### v0.4.7 / 2024-07-02 * DOCS: Fix CHANGELOGs to reflect a past breaking change diff --git a/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb b/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb index 556700353..bee9d26a5 100644 --- a/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb +++ b/instrumentation/rdkafka/lib/opentelemetry/instrumentation/rdkafka/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Rdkafka - VERSION = '0.4.7' + VERSION = '0.4.8' end end end diff --git a/instrumentation/redis/CHANGELOG.md b/instrumentation/redis/CHANGELOG.md index 30e952b71..ea1e9f1dc 100644 --- a/instrumentation/redis/CHANGELOG.md +++ b/instrumentation/redis/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-redis +### v0.25.7 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.25.6 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/redis/lib/opentelemetry/instrumentation/redis/version.rb b/instrumentation/redis/lib/opentelemetry/instrumentation/redis/version.rb index f386662f2..05d7ad595 100644 --- a/instrumentation/redis/lib/opentelemetry/instrumentation/redis/version.rb +++ b/instrumentation/redis/lib/opentelemetry/instrumentation/redis/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Redis - VERSION = '0.25.6' + VERSION = '0.25.7' end end end diff --git a/instrumentation/restclient/CHANGELOG.md b/instrumentation/restclient/CHANGELOG.md index 1048ba87a..b7200df1c 100644 --- a/instrumentation/restclient/CHANGELOG.md +++ b/instrumentation/restclient/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-restclient +### v0.22.7 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.22.6 / 2024-06-18 * FIXED: Relax otel common gem constraints diff --git a/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/version.rb b/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/version.rb index 00ddf501a..93baf3aa9 100644 --- a/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/version.rb +++ b/instrumentation/restclient/lib/opentelemetry/instrumentation/restclient/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module RestClient - VERSION = '0.22.6' + VERSION = '0.22.7' end end end diff --git a/instrumentation/ruby_kafka/CHANGELOG.md b/instrumentation/ruby_kafka/CHANGELOG.md index 1f6fbabcb..b2203a0fc 100644 --- a/instrumentation/ruby_kafka/CHANGELOG.md +++ b/instrumentation/ruby_kafka/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-ruby_kafka +### v0.21.3 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.21.2 / 2024-07-02 * DOCS: Fix CHANGELOGs to reflect a past breaking change diff --git a/instrumentation/ruby_kafka/lib/opentelemetry/instrumentation/ruby_kafka/version.rb b/instrumentation/ruby_kafka/lib/opentelemetry/instrumentation/ruby_kafka/version.rb index 8939e202c..a3c2b91fb 100644 --- a/instrumentation/ruby_kafka/lib/opentelemetry/instrumentation/ruby_kafka/version.rb +++ b/instrumentation/ruby_kafka/lib/opentelemetry/instrumentation/ruby_kafka/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module RubyKafka - VERSION = '0.21.2' + VERSION = '0.21.3' end end end diff --git a/instrumentation/sidekiq/CHANGELOG.md b/instrumentation/sidekiq/CHANGELOG.md index 11c0d9755..6fc3e1134 100644 --- a/instrumentation/sidekiq/CHANGELOG.md +++ b/instrumentation/sidekiq/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-sidekiq +### v0.25.7 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.25.6 / 2024-07-02 * DOCS: Fix CHANGELOGs to reflect a past breaking change diff --git a/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb b/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb index 553f0de90..1688d3ccd 100644 --- a/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb +++ b/instrumentation/sidekiq/lib/opentelemetry/instrumentation/sidekiq/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Sidekiq - VERSION = '0.25.6' + VERSION = '0.25.7' end end end diff --git a/instrumentation/sinatra/CHANGELOG.md b/instrumentation/sinatra/CHANGELOG.md index a07c12ad1..a6651848a 100644 --- a/instrumentation/sinatra/CHANGELOG.md +++ b/instrumentation/sinatra/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-sinatra +### v0.24.1 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.24.0 / 2024-07-02 * ADDED: Make Rack install optional for sinatra diff --git a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb index 1411df42f..b9b853545 100644 --- a/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb +++ b/instrumentation/sinatra/lib/opentelemetry/instrumentation/sinatra/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Sinatra - VERSION = '0.24.0' + VERSION = '0.24.1' end end end diff --git a/propagator/ottrace/CHANGELOG.md b/propagator/ottrace/CHANGELOG.md index e108451a5..14a9b28bf 100644 --- a/propagator/ottrace/CHANGELOG.md +++ b/propagator/ottrace/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-propagator-ottrace +### v0.21.3 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.21.2 / 2023-11-23 * CHANGED: Applied Rubocop Performance Recommendations [#727](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/727) diff --git a/propagator/ottrace/lib/opentelemetry/propagator/ottrace/version.rb b/propagator/ottrace/lib/opentelemetry/propagator/ottrace/version.rb index 83215e678..dc334fb3a 100644 --- a/propagator/ottrace/lib/opentelemetry/propagator/ottrace/version.rb +++ b/propagator/ottrace/lib/opentelemetry/propagator/ottrace/version.rb @@ -15,7 +15,7 @@ module OpenTelemetry module Propagator # Namespace for OpenTelemetry OTTrace propagation module OTTrace - VERSION = '0.21.2' + VERSION = '0.21.3' end end end diff --git a/propagator/xray/CHANGELOG.md b/propagator/xray/CHANGELOG.md index 1a91642c3..a326b17b8 100644 --- a/propagator/xray/CHANGELOG.md +++ b/propagator/xray/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-propagator-xray +### v0.22.2 / 2024-07-23 + +* DOCS: Add cspell to CI + ### v0.22.1 / 2023-11-23 * CHANGED: Applied Rubocop Performance Recommendations [#727](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/727) diff --git a/propagator/xray/lib/opentelemetry/propagator/xray/version.rb b/propagator/xray/lib/opentelemetry/propagator/xray/version.rb index 0984efef4..32440b086 100644 --- a/propagator/xray/lib/opentelemetry/propagator/xray/version.rb +++ b/propagator/xray/lib/opentelemetry/propagator/xray/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Propagator module XRay - VERSION = '0.22.1' + VERSION = '0.22.2' end end end From 117733a1f42b14631be3e92d4aadd092e3178da2 Mon Sep 17 00:00:00 2001 From: Robert Mosolgo Date: Tue, 30 Jul 2024 13:49:09 -0400 Subject: [PATCH 53/82] fix: Add super calls to GraphqlTrace (#1090) fix(graphql): Add super calls to GraphqlTrace --- .../graphql/tracers/graphql_trace.rb | 24 +++++++------ .../graphql/tracers/graphql_trace_test.rb | 35 +++++++++++++++++++ 2 files changed, 48 insertions(+), 11 deletions(-) diff --git a/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/tracers/graphql_trace.rb b/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/tracers/graphql_trace.rb index 70c966623..cb82bf2c7 100644 --- a/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/tracers/graphql_trace.rb +++ b/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/tracers/graphql_trace.rb @@ -60,15 +60,15 @@ def initialize(trace_scalars: false, **_options) end def execute_multiplex(multiplex:, &block) - tracer.in_span('graphql.execute_multiplex', &block) + tracer.in_span('graphql.execute_multiplex') { super } end def lex(query_string:, &block) - tracer.in_span('graphql.lex', &block) + tracer.in_span('graphql.lex') { super } end def parse(query_string:, &block) - tracer.in_span('graphql.parse', &block) + tracer.in_span('graphql.parse') { super } end def validate(query:, validate:, &block) @@ -89,11 +89,11 @@ def validate(query:, validate:, &block) end def analyze_multiplex(multiplex:, &block) - tracer.in_span('graphql.analyze_multiplex', &block) + tracer.in_span('graphql.analyze_multiplex') { super } end def analyze_query(query:, &block) - tracer.in_span('graphql.analyze_query', &block) + tracer.in_span('graphql.analyze_query') { super } end def execute_query(query:, &block) @@ -102,11 +102,13 @@ def execute_query(query:, &block) attributes['graphql.operation.type'] = query.selected_operation.operation_type attributes['graphql.document'] = query.query_string - tracer.in_span('graphql.execute_query', attributes: attributes, &block) + tracer.in_span('graphql.execute_query', attributes: attributes) do + super + end end def execute_query_lazy(query:, multiplex:, &block) - tracer.in_span('graphql.execute_query_lazy', &block) + tracer.in_span('graphql.execute_query_lazy') { super } end def execute_field(field:, query:, ast_node:, arguments:, object:, &block) @@ -133,7 +135,7 @@ def authorized(query:, type:, object:, &block) attributes = @_otel_type_attrs_cache[type] - tracer.in_span(platform_key, attributes: attributes, &block) + tracer.in_span(platform_key, attributes: attributes) { super } end def authorized_lazy(query:, type:, object:, &block) @@ -141,19 +143,19 @@ def authorized_lazy(query:, type:, object:, &block) return super unless platform_key attributes = @_otel_lazy_type_attrs_cache[type] - tracer.in_span(platform_key, attributes: attributes, &block) + tracer.in_span(platform_key, attributes: attributes) { super } end def resolve_type(query:, type:, object:, &block) platform_key = @_otel_resolve_type_key_cache[type] attributes = @_otel_type_attrs_cache[type] - tracer.in_span(platform_key, attributes: attributes, &block) + tracer.in_span(platform_key, attributes: attributes) { super } end def resolve_type_lazy(query:, type:, object:, &block) platform_key = @_otel_resolve_type_key_cache[type] attributes = @_otel_lazy_type_attrs_cache[type] - tracer.in_span(platform_key, attributes: attributes, &block) + tracer.in_span(platform_key, attributes: attributes) { super } end private diff --git a/instrumentation/graphql/test/instrumentation/graphql/tracers/graphql_trace_test.rb b/instrumentation/graphql/test/instrumentation/graphql/tracers/graphql_trace_test.rb index 22e194036..4fb0e9d85 100644 --- a/instrumentation/graphql/test/instrumentation/graphql/tracers/graphql_trace_test.rb +++ b/instrumentation/graphql/test/instrumentation/graphql/tracers/graphql_trace_test.rb @@ -361,6 +361,41 @@ def platform_field_key(field) _(custom_events).must_equal(true) end end + + module CustomTrace + def execute_multiplex(multiplex:) + multiplex.context[:custom_trace_execute_multiplex_ran] = true + super + end + + def execute_query(query:) + query.context[:custom_trace_execute_query_ran] = true + super + end + end + + it 'works with other trace modules' do + [GraphQL::Schema, SomeOtherGraphQLAppSchema, SomeGraphQLAppSchema].each(&:_reset_tracer_for_testing) + instrumentation.instance_variable_set(:@installed, false) + + custom_trace_schema = Class.new(GraphQL::Schema) do + query(Class.new(GraphQL::Schema::Object) do + graphql_name 'Query' + field :int, Integer, fallback_value: 5 + end) + + trace_with(CustomTrace) + end + + instrumentation.install({ schemas: [custom_trace_schema] }) + res = custom_trace_schema.execute('{ int }') + assert_equal 5, res['data']['int'], 'The query ran successfully' + + assert res.context[:custom_trace_execute_query_ran], 'The custom execute_query hook ran' + assert res.query.multiplex.context[:custom_trace_execute_multiplex_ran], 'The custom execute_multiplex hook ran' + + assert spans.find { |s| s.name == 'graphql.execute_query' }, 'OpenTelementry ran' + end end end end From 5f3f0a8deaf1a26b004be0ab1919e96efa82ca0b Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 30 Jul 2024 14:23:50 -0500 Subject: [PATCH 54/82] release: Release 3 gems (#1091) * release: Release 3 gems * opentelemetry-instrumentation-active_job 0.7.4 (was 0.7.3) * opentelemetry-instrumentation-aws_lambda 0.1.1 (was 0.1.0) * opentelemetry-instrumentation-graphql 0.28.4 (was 0.28.3) * ci: Force * squash: fix broken test --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Ariel Valentin --- instrumentation/active_job/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/active_job/version.rb | 2 +- instrumentation/aws_lambda/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/aws_lambda/version.rb | 2 +- .../aws_lambda/test/opentelemetry/instrumentation_test.rb | 2 +- instrumentation/graphql/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/graphql/version.rb | 2 +- 7 files changed, 16 insertions(+), 4 deletions(-) diff --git a/instrumentation/active_job/CHANGELOG.md b/instrumentation/active_job/CHANGELOG.md index 4bdc9a478..24527ef69 100644 --- a/instrumentation/active_job/CHANGELOG.md +++ b/instrumentation/active_job/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-active_job +### v0.7.4 / 2024-07-30 + +* FIXED: Honour dynamic changes in configuration + ### v0.7.3 / 2024-07-22 * FIXED: ActiveJob::Handlers.unsubscribe diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb index 4dfdeb2d6..6e4bf337f 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveJob - VERSION = '0.7.3' + VERSION = '0.7.4' end end end diff --git a/instrumentation/aws_lambda/CHANGELOG.md b/instrumentation/aws_lambda/CHANGELOG.md index 9e8d73ce0..3166104d3 100644 --- a/instrumentation/aws_lambda/CHANGELOG.md +++ b/instrumentation/aws_lambda/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-aws_lambda +### v0.1.1 / 2024-07-30 + +* FIXED: Register lambda span + ### v0.1.0 / 2024-05-11 Initial release. diff --git a/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/version.rb b/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/version.rb index 6723022fd..2269f5455 100644 --- a/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/version.rb +++ b/instrumentation/aws_lambda/lib/opentelemetry/instrumentation/aws_lambda/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module AwsLambda - VERSION = '0.1.0' + VERSION = '0.1.1' end end end diff --git a/instrumentation/aws_lambda/test/opentelemetry/instrumentation_test.rb b/instrumentation/aws_lambda/test/opentelemetry/instrumentation_test.rb index 855b0bc6e..92ae0fc8a 100644 --- a/instrumentation/aws_lambda/test/opentelemetry/instrumentation_test.rb +++ b/instrumentation/aws_lambda/test/opentelemetry/instrumentation_test.rb @@ -71,7 +71,7 @@ _(last_span.instrumentation_scope).must_be_kind_of OpenTelemetry::SDK::InstrumentationScope _(last_span.instrumentation_scope.name).must_equal 'OpenTelemetry::Instrumentation::AwsLambda' - _(last_span.instrumentation_scope.version).must_equal '0.1.0' + _(last_span.instrumentation_scope.version).must_equal OpenTelemetry::Instrumentation::AwsLambda::VERSION _(last_span.hex_span_id.size).must_equal 16 _(last_span.hex_trace_id.size).must_equal 32 diff --git a/instrumentation/graphql/CHANGELOG.md b/instrumentation/graphql/CHANGELOG.md index f18b62e02..4aae6d42d 100644 --- a/instrumentation/graphql/CHANGELOG.md +++ b/instrumentation/graphql/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-graphql +### v0.28.4 / 2024-07-30 + +* FIXED: Add super calls to GraphqlTrace + ### v0.28.3 / 2024-07-23 * DOCS: Add cspell to CI diff --git a/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/version.rb b/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/version.rb index 3792724a8..da398eb73 100644 --- a/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/version.rb +++ b/instrumentation/graphql/lib/opentelemetry/instrumentation/graphql/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module GraphQL - VERSION = '0.28.3' + VERSION = '0.28.4' end end end From 39056a3190561e87bfa4c5103508cffb0e133713 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lavoie?= Date: Tue, 30 Jul 2024 17:44:40 -0400 Subject: [PATCH 55/82] feat!(active-job): Normalize event messages (#1080) --- .../instrumentation/active_job/handlers.rb | 4 +++- .../active_job/handlers/default.rb | 17 ++++++++++++++++- .../active_job/handlers/enqueue.rb | 17 ++++------------- .../active_job/handlers/perform.rb | 17 +++-------------- .../active_job/handlers/discard_test.rb | 2 +- .../active_job/handlers/retry_stopped_test.rb | 2 +- 6 files changed, 28 insertions(+), 31 deletions(-) diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers.rb index 8b235f1da..70bebf061 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers.rb @@ -14,6 +14,8 @@ module Instrumentation module ActiveJob # Module that contains custom event handlers, which are used to generate spans per event module Handlers + EVENT_NAMESPACE = 'active_job' + module_function # Subscribes Event Handlers to relevant ActiveJob notifications @@ -57,7 +59,7 @@ def subscribe } @subscriptions = handlers_by_pattern.map do |key, handler| - ::ActiveSupport::Notifications.subscribe("#{key}.active_job", handler) + ::ActiveSupport::Notifications.subscribe("#{key}.#{EVENT_NAMESPACE}", handler) end end diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/default.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/default.rb index 692346aeb..bd05a81ba 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/default.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/default.rb @@ -40,7 +40,10 @@ def start(name, id, payload) # @param payload [Hash] containing job run information # @return [Hash] with the span and generated context tokens def start_span(name, _id, payload) - span = tracer.start_span(name, attributes: @mapper.call(payload)) + job = payload.fetch(:job) + event_name = name.delete_suffix(".#{EVENT_NAMESPACE}") + span_name = span_name(job, event_name) + span = tracer.start_span(span_name, attributes: @mapper.call(payload)) token = OpenTelemetry::Context.attach(OpenTelemetry::Trace.context_with_span(span)) { span: span, ctx_token: token } @@ -106,6 +109,18 @@ def on_exception(exception, span) def tracer OpenTelemetry::Instrumentation::ActiveJob::Instrumentation.instance.tracer end + + private + + def span_name(job, event_name) + prefix = if @config[:span_naming] == :job_class + job.class.name + else + job.queue_name + end + + "#{prefix} #{event_name}" + end end end end diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb index 4b1291747..23dab795e 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb @@ -10,6 +10,8 @@ module ActiveJob module Handlers # Handles `enqueue.active_job` and `enqueue_at.active_job` to generate egress spans class Enqueue < Default + EVENT_NAME = 'publish' + # Overrides the `Default#start_span` method to create an egress span # and registers it with the current context # @@ -19,22 +21,11 @@ class Enqueue < Default # @return [Hash] with the span and generated context tokens def start_span(name, _id, payload) job = payload.fetch(:job) - span = tracer.start_span(span_name(job), kind: :producer, attributes: @mapper.call(payload)) + span_name = span_name(job, EVENT_NAME) + span = tracer.start_span(span_name, kind: :producer, attributes: @mapper.call(payload)) OpenTelemetry.propagation.inject(job.__otel_headers) # This must be transmitted over the wire { span: span, ctx_token: OpenTelemetry::Context.attach(OpenTelemetry::Trace.context_with_span(span)) } end - - private - - def span_name(job) - prefix = if @config[:span_naming] == :job_class - job.class.name - else - job.queue_name - end - - "#{prefix} publish" - end end end end diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb index 853281a5e..b617b8ee2 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb @@ -10,6 +10,8 @@ module ActiveJob module Handlers # Handles perform.active_job to generate ingress spans class Perform < Default + EVENT_NAME = 'process' + # Overrides the `Default#start_span` method to create an ingress span # and registers it with the current context # @@ -19,10 +21,9 @@ class Perform < Default # @return [Hash] with the span and generated context tokens def start_span(name, _id, payload) job = payload.fetch(:job) + span_name = span_name(job, EVENT_NAME) parent_context = OpenTelemetry.propagation.extract(job.__otel_headers) - span_name = span_name(job) - # TODO: Refactor into a propagation strategy propagation_style = @config[:propagation_style] if propagation_style == :child @@ -48,18 +49,6 @@ def attach_consumer_context(span) OpenTelemetry::Context.attach(internal_context) end - - private - - def span_name(job) - prefix = if @config[:span_naming] == :job_class - job.class.name - else - job.queue_name - end - - "#{prefix} process" - end end end end diff --git a/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/discard_test.rb b/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/discard_test.rb index 89a32b6c6..76c0c82c5 100644 --- a/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/discard_test.rb +++ b/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/discard_test.rb @@ -15,7 +15,7 @@ let(:spans) { exporter.finished_spans } let(:publish_span) { spans.find { |s| s.name == 'default publish' } } let(:process_span) { spans.find { |s| s.name == 'default process' } } - let(:discard_span) { spans.find { |s| s.name == 'discard.active_job' } } + let(:discard_span) { spans.find { |s| s.name == 'default discard' } } before do OpenTelemetry::Instrumentation::ActiveJob::Handlers.unsubscribe diff --git a/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/retry_stopped_test.rb b/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/retry_stopped_test.rb index 5b4eb774c..a1d931755 100644 --- a/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/retry_stopped_test.rb +++ b/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/retry_stopped_test.rb @@ -15,7 +15,7 @@ let(:spans) { exporter.finished_spans } let(:publish_span) { spans.find { |s| s.name == 'default publish' } } let(:process_span) { spans.find { |s| s.name == 'default process' } } - let(:retry_span) { spans.find { |s| s.name == 'retry_stopped.active_job' } } + let(:retry_span) { spans.find { |s| s.name == 'default retry_stopped' } } before do OpenTelemetry::Instrumentation::ActiveJob::Handlers.unsubscribe From f999e702430a55bc9f0fdf7b4748dc2f9b6341b8 Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Sat, 3 Aug 2024 05:09:50 -0500 Subject: [PATCH 56/82] feat: Use Default Span Name Format (#1039) --- .../instrumentation/action_view.rb | 2 +- .../action_view/instrumentation.rb | 38 ++++++++++++++++++- .../instrumentation/action_view/railtie.rb | 11 ++++-- ...emetry-instrumentation-action_view.gemspec | 2 +- 4 files changed, 46 insertions(+), 7 deletions(-) diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb index ef341c0cd..ad42d0dec 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb @@ -9,7 +9,7 @@ module OpenTelemetry module Instrumentation - # Contains the OpenTelemetry instrumentation for the ActionView gem + # (see OpenTelemetry::Instrumentation::ActionView::Instrumentation) module ActionView end end diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb index 9087d4475..bb9b60056 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb @@ -7,7 +7,42 @@ module OpenTelemetry module Instrumentation module ActionView - # The Instrumentation class contains logic to detect and install the ActionView instrumentation + # The {OpenTelemetry::Instrumentation::ActionView::Instrumentation} class contains logic to detect and install the ActionView instrumentation + # + # Installation and configuration of this instrumentation is done within the + # {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry/SDK#configure-instance_method OpenTelemetry::SDK#configure} + # block, calling {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry%2FSDK%2FConfigurator:use use()} + # or {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry%2FSDK%2FConfigurator:use_all use_all()}. + # + # ## Configuration keys and options + # + # ### `:disallowed_notification_payload_keys` + # + # Specifies an array of keys that should be excluded from the notification payload as span attributes. + # + # ### `:notification_payload_transform` + # + # - `proc` **default** `nil` + # + # Specifies custom proc used to extract span attributes form the notification payload. + # Use this to rename keys, extract nested values, or perform any other custom logic. + # + # ### `:legacy_span_names` + # + # - `boolean` **default** `false` + # + # Specifies whether spans names should use the legacy format where the subscription was reverse ordered and white space separated. (Ex. `action_view render_template`) + # If set to `true`, the span name will match the name of the notification itself. (Ex. `render_template.action_view`) + # + # @example An explicit default configuration + # OpenTelemetry::SDK.configure do |c| + # c.use_all({ + # 'OpenTelemetry::Instrumentation::ActionView' => { + # disallowed_notification_payload_keys: [], + # legacy_span_names: true, + # }, + # }) + # end class Instrumentation < OpenTelemetry::Instrumentation::Base MINIMUM_VERSION = Gem::Version.new('6.1.0') install do |_config| @@ -24,6 +59,7 @@ class Instrumentation < OpenTelemetry::Instrumentation::Base option :disallowed_notification_payload_keys, default: [], validate: :array option :notification_payload_transform, default: nil, validate: :callable + option :legacy_span_names, default: false, validate: :boolean private diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb index 276af1106..2c2bf381a 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb @@ -19,13 +19,16 @@ class Railtie < ::Rails::Railtie config.after_initialize do ::OpenTelemetry::Instrumentation::ActiveSupport::Instrumentation.instance.install({}) + instance = ::OpenTelemetry::Instrumentation::ActionView::Instrumentation.instance + span_name_formatter = instance.config[:legacy_span_names] ? ::OpenTelemetry::Instrumentation::ActiveSupport::LEGACY_NAME_FORMATTER : nil + SUBSCRIPTIONS.each do |subscription_name| - config = ActionView::Instrumentation.instance.config ::OpenTelemetry::Instrumentation::ActiveSupport.subscribe( - ActionView::Instrumentation.instance.tracer, + instance.tracer, subscription_name, - config[:notification_payload_transform], - config[:disallowed_notification_payload_keys] + instance.config[:notification_payload_transform], + instance.config[:disallowed_notification_payload_keys], + span_name_formatter: span_name_formatter ) end end diff --git a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec index 27bd8239f..825106243 100644 --- a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec +++ b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec @@ -26,7 +26,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-instrumentation-active_support', '~> 0.1' + spec.add_dependency 'opentelemetry-instrumentation-active_support', '~> 0.6' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' From 6dab627424e88238d162dd21af8bf35e8a6174e3 Mon Sep 17 00:00:00 2001 From: Xuan <112967240+xuan-cao-swi@users.noreply.github.com> Date: Thu, 8 Aug 2024 08:35:01 -0400 Subject: [PATCH 57/82] fix: fix the issue of wrong log msg (#1105) --- instrumentation/base/lib/opentelemetry/instrumentation/base.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/base/lib/opentelemetry/instrumentation/base.rb b/instrumentation/base/lib/opentelemetry/instrumentation/base.rb index 8c9ac0e3f..ddf828955 100644 --- a/instrumentation/base/lib/opentelemetry/instrumentation/base.rb +++ b/instrumentation/base/lib/opentelemetry/instrumentation/base.rb @@ -304,7 +304,7 @@ def config_options(user_config) h[option_name] = option[:default] end - dropped_config_keys = user_config.keys - validated_config.keys + dropped_config_keys = user_config.keys - validated_config.keys - [:enabled] OpenTelemetry.logger.warn("Instrumentation #{name} ignored the following unknown configuration options #{dropped_config_keys}") unless dropped_config_keys.empty? validated_config From db0ad4ddbdd4accefdb931d617da211659494483 Mon Sep 17 00:00:00 2001 From: Xuan <112967240+xuan-cao-swi@users.noreply.github.com> Date: Thu, 8 Aug 2024 08:54:07 -0400 Subject: [PATCH 58/82] chore: add markdownlint, markdown link check workflow and with updated markdown file (#1096) * doc: add markdownlint and link workflow and update the md file * separate the name for workflow * Update .github/workflows/ci-markdownlint.yml Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> * Update .github/workflows/ci-markdown-link.yml Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> * revision * fix broken links --------- Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> Co-authored-by: Ariel Valentin --- .github/workflows/ci-markdown-link.yml | 17 ++++++++++++++++ .github/workflows/ci-markdownlint.yml | 20 +++++++++++++++++++ .../templates/Readme.md.tt | 5 +++-- .markdown-link-check.json | 10 ++++++++++ .markdownlint.json | 13 ++++++++++++ CONTRIBUTING.md | 9 +++++---- README.md | 10 ++++------ helpers/mysql/README.md | 6 ++++-- helpers/sql-obfuscation/README.md | 6 ++++-- instrumentation/CONTRIBUTING.md | 4 ++-- instrumentation/README.md | 9 +++------ instrumentation/action_mailer/README.md | 7 +++++-- instrumentation/action_pack/README.md | 7 ++++--- instrumentation/action_view/README.md | 5 +++-- instrumentation/active_job/README.md | 5 +++-- .../active_model_serializers/README.md | 5 +++-- instrumentation/active_record/README.md | 6 ++++-- instrumentation/active_support/README.md | 3 ++- instrumentation/all/README.md | 9 +++------ instrumentation/aws_lambda/README.md | 12 +++++------ instrumentation/aws_sdk/README.md | 5 +++-- instrumentation/base/README.md | 5 +++-- instrumentation/bunny/README.md | 7 ++++--- instrumentation/concurrent_ruby/README.md | 5 +++-- instrumentation/dalli/README.md | 5 +++-- instrumentation/datadog-porting-guide.md | 7 ++++--- instrumentation/delayed_job/README.md | 5 +++-- instrumentation/ethon/README.md | 6 +++--- instrumentation/excon/README.md | 6 +++--- instrumentation/faraday/README.md | 5 +++-- instrumentation/grape/README.md | 8 ++++---- instrumentation/graphql/README.md | 5 +++-- instrumentation/gruf/README.md | 5 +++-- instrumentation/http/README.md | 5 +++-- instrumentation/http_client/README.md | 5 +++-- instrumentation/httpx/README.md | 7 ++++--- instrumentation/koala/README.md | 5 +++-- instrumentation/lmdb/README.md | 5 +++-- instrumentation/mongo/README.md | 5 +++-- instrumentation/mysql2/README.md | 7 ++++--- instrumentation/net_http/README.md | 5 +++-- instrumentation/pg/README.md | 8 +++++--- instrumentation/que/README.md | 11 +++++----- instrumentation/racecar/README.md | 6 +++--- instrumentation/rack/README.md | 7 ++++--- instrumentation/rails/README.md | 4 +++- instrumentation/rake/README.md | 7 ++++--- instrumentation/rdkafka/README.md | 5 +++-- instrumentation/redis/README.md | 7 ++++--- instrumentation/resque/README.md | 5 +++-- instrumentation/restclient/README.md | 5 +++-- instrumentation/rspec/README.md | 5 +++-- instrumentation/ruby_kafka/README.md | 5 +++-- instrumentation/sidekiq/README.md | 8 +++++--- instrumentation/sinatra/README.md | 6 +++--- instrumentation/trilogy/README.md | 6 ++++-- processor/baggage/README.md | 5 +++-- propagator/ottrace/README.md | 9 +++++---- propagator/vitess/README.md | 9 +++++---- propagator/xray/README.md | 12 +++++++---- resources/azure/README.md | 10 ++++++---- resources/container/README.md | 11 ++++++---- resources/google_cloud_platform/README.md | 11 +++++----- 63 files changed, 282 insertions(+), 166 deletions(-) create mode 100644 .github/workflows/ci-markdown-link.yml create mode 100644 .github/workflows/ci-markdownlint.yml create mode 100644 .markdown-link-check.json create mode 100644 .markdownlint.json diff --git a/.github/workflows/ci-markdown-link.yml b/.github/workflows/ci-markdown-link.yml new file mode 100644 index 000000000..7b42be0c1 --- /dev/null +++ b/.github/workflows/ci-markdown-link.yml @@ -0,0 +1,17 @@ +name: Markdown Link Check + +on: + pull_request: + +jobs: + markdown-link-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: "Markdown Link Check" + uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + config-file: '.markdown-link-check.json' + use-quiet-mode: 'yes' + use-verbose-mode: 'yes' diff --git a/.github/workflows/ci-markdownlint.yml b/.github/workflows/ci-markdownlint.yml new file mode 100644 index 000000000..f91609fdb --- /dev/null +++ b/.github/workflows/ci-markdownlint.yml @@ -0,0 +1,20 @@ +name: Markdown Lint Check + +on: + pull_request: + +jobs: + markdownlint-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + # equivalent cli: markdownlint-cli2 "**/*.md" "#**/CHANGELOG.md" --config .markdownlint.json + - name: "Markdown Lint Check" + uses: DavidAnson/markdownlint-cli2-action@v16 + with: + fix: false + globs: | + **/*.md + !**/CHANGELOG.md + continue-on-error: true diff --git a/.instrumentation_generator/templates/Readme.md.tt b/.instrumentation_generator/templates/Readme.md.tt index fc1f485d0..68b639977 100644 --- a/.instrumentation_generator/templates/Readme.md.tt +++ b/.instrumentation_generator/templates/Readme.md.tt @@ -6,7 +6,7 @@ Todo: Add a description. Install the gem using: -``` +```console gem install opentelemetry-instrumentation-<%= instrumentation_name %> ``` @@ -38,7 +38,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-<%= instrumentation_name %>` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -49,4 +49,5 @@ The `opentelemetry-instrumentation-<%= instrumentation_name %>` gem is distribut [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/.markdown-link-check.json b/.markdown-link-check.json new file mode 100644 index 000000000..12284d673 --- /dev/null +++ b/.markdown-link-check.json @@ -0,0 +1,10 @@ +{ + "ignorePatterns": [ + { + "pattern": "^http://localhost" + } + ], + "timeout": "5s", + "retryOn429": true, + "aliveStatusCodes": [200, 206, 429] +} diff --git a/.markdownlint.json b/.markdownlint.json new file mode 100644 index 000000000..10b3203b8 --- /dev/null +++ b/.markdownlint.json @@ -0,0 +1,13 @@ +{ + "emphasis-style": false, + "line-length": false, + "link-fragments": false, + "list-marker-space": false, + "no-emphasis-as-heading": false, + "no-hard-tabs": false, + "no-inline-html": false, + "no-trailing-punctuation": false, + "no-trailing-spaces": true, + "custom-rules-below-this-point": false, + "trim-code-block-and-unindent": true +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 33929acc4..58466f717 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -168,7 +168,7 @@ bundle exec rake yard ## Instrumentation author's guide -Please make sure that you review the [Instrumentation author's guide](.instrumentation/CONTRIBUTING.md) before submitting a new instrumentation. +Please make sure that you review the [Instrumentation author's guide](instrumentation/CONTRIBUTING.md) before submitting a new instrumentation. ## Create a pull request @@ -209,10 +209,11 @@ make the project that much better. Respond to the feedback and work with your reviewer(s) to resolve any issues. The some of the things the code owners are looking for include: + * a signed [CNCF CLA][cncf-cla] * a passing CI build * adherence to the principles and features outlined in the - [instrumentation author's guide](.instrumentation/CONTRIBUTING.md) + [instrumentation author's guide](instrumentation/CONTRIBUTING.md) Reviewers are responsible for ensuring that each merged PR's commit message conforms to [conventional commits](https://conventionalcommits.org). This may @@ -414,7 +415,7 @@ index e29acbfc..85622d25 100644 [cncf-cla]: https://identity.linuxfoundation.org/projects/cncf [github-draft]: https://github.blog/2019-02-14-introducing-draft-pull-requests/ [kube-github-workflow-pr]: https://github.com/kubernetes/community/blob/master/contributors/guide/github-workflow.md#7-create-a-pull-request -[otel-contributor-guide]: https://github.com/open-telemetry/community/blob/master/CONTRIBUTING.md -[otel-github-workflow]: https://github.com/open-telemetry/community/blob/master/CONTRIBUTING.md#github-workflow +[otel-contributor-guide]: https://github.com/open-telemetry/community/blob/main/guides/contributor/README.md +[otel-github-workflow]: https://github.com/open-telemetry/community/blob/main/guides/contributor/processes.md#workflows [otel-lib-guidelines]: https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/library-guidelines.md [otel-specification]: https://github.com/open-telemetry/opentelemetry-specification diff --git a/README.md b/README.md index 8be68642e..cf704fe82 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ Approvers ([@open-telemetry/ruby-contrib-approvers](https://github.com/orgs/open - [Josef Šimánek](https://github.com/simi) - [Xuan Cao](https://github.com/xuan-cao-swi), Solarwinds -*Find more about the approver role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#approver).* +*Find more about the approver role in [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#approver).* Maintainers ([@open-telemetry/ruby-contrib-maintainers](https://github.com/orgs/open-telemetry/teams/ruby-contrib-maintainers)): @@ -44,7 +44,7 @@ Maintainers ([@open-telemetry/ruby-contrib-maintainers](https://github.com/orgs/ - [Robert Laurin](https://github.com/robertlaurin), Shopify - [Sam Handler](https://github.com/plantfansam), Shopify -*Find more about the maintainer role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#maintainer).* +*Find more about the maintainer role in [community repository](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md#maintainer).* ## Instrumentation Libraries @@ -60,6 +60,7 @@ multiple instrumentation libraries. - [MySQL](helpers/mysql/) - [SQL Obfuscation](helpers/sql-obfuscation/) + ## Additional Libraries This repository also contains libraries to aid with interoperability with vendor specific tracing solutions: @@ -103,17 +104,14 @@ Apache 2.0 - See [LICENSE][license-url] for more information. [otel-ruby]: https://github.com/open-telemetry/opentelemetry-ruby [otel-ruby-releases]: https://github.com/open-telemetry/opentelemetry-ruby/releases [otel-ruby-contrib-releases]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/releases -[ci-image]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/workflows/CI/badge.svg?event=push -[examples-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/examples +[ci-image]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/workflows/CI%20Contrib/badge.svg?event=push [getting-started]: https://opentelemetry.io/docs/languages/ruby/getting-started/ [issues-good-first-issue]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 [issues-help-wanted]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22 [license-image]: https://img.shields.io/badge/license-Apache_2.0-green.svg?style=flat [license-url]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig -[opentelemetry-instrumentation-all-publishing]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/all#publishing [slack-image]: https://img.shields.io/badge/slack-@cncf/otel/ruby-brightgreen.svg?logo=slack [slack-url]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions [otel-versioning]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/versioning-and-stability.md -[otel-specification]: https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification diff --git a/helpers/mysql/README.md b/helpers/mysql/README.md index dcfaab979..71c43df4e 100644 --- a/helpers/mysql/README.md +++ b/helpers/mysql/README.md @@ -22,6 +22,7 @@ end ``` Make sure the `Instrumentation` class for your gem contains configuration options for: + - `:span_name`: The type of span name desired for the trace. Example: `option :span_name, default: :statement_type, validate: %I[statement_type db_name db_operation_and_name]` @@ -43,7 +44,7 @@ end The `opentelemetry-helpers-mysql` gem source is [on github][repo-github], along with related gems including `opentelemetry-instrumentation-mysql2` and `opentelemetry-instrumentation-trilogy`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us on our [gitter channel][ruby-gitter] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -53,4 +54,5 @@ The `opentelemetry-helpers-mysql` gem is distributed under the Apache 2.0 licens [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings -[ruby-gitter]: https://gitter.im/open-telemetry/opentelemetry-ruby +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY +[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/helpers/sql-obfuscation/README.md b/helpers/sql-obfuscation/README.md index 7165c1aa6..1e86bacdf 100644 --- a/helpers/sql-obfuscation/README.md +++ b/helpers/sql-obfuscation/README.md @@ -24,6 +24,7 @@ end ``` Make sure the `Instrumentation` class for your gem contains configuration options for: + - `:obfuscation_limit`: the length at which the obfuscated SQL string will be truncated. Example: `option :obfuscation_limit, default: 2000, validate: :integer` @@ -48,7 +49,7 @@ OpenTelemetry::Helpers::SqlObfuscation.obfuscate_sql(sql, obfuscation_limit: con The `opentelemetry-helpers-sql-obfuscation` gem source is [on github][repo-github], along with related gems including `opentelemetry-instrumentation-pg` and `opentelemetry-instrumentation-trilogy`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us on our [gitter channel][ruby-gitter] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -59,4 +60,5 @@ The `opentelemetry-helpers-sql-obfuscation` gem is distributed under the Apache [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings -[ruby-gitter]: https://gitter.im/open-telemetry/opentelemetry-ruby +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY +[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/CONTRIBUTING.md b/instrumentation/CONTRIBUTING.md index f61b9f14c..1d680665e 100644 --- a/instrumentation/CONTRIBUTING.md +++ b/instrumentation/CONTRIBUTING.md @@ -12,7 +12,7 @@ We welcome contributions from everyone. We want to make sure that you have a gre We have limited capacity to maintain instrumentation libraries, so we ask that you commit to maintaining the instrumentation library you contribute. -In addition to the requirements to maintain at least [community member status](https://github.com/open-telemetry/community/blob/main/community-membership.md), contributing an instrumentation to this project requires the following: +In addition to the requirements to maintain at least [community member status](https://github.com/open-telemetry/community/blob/main/guides/contributor/membership.md), contributing an instrumentation to this project requires the following: 1. Responding to issues and pull requests 2. Performing timely code reviews and responding to issues @@ -403,7 +403,7 @@ The `instrumentation_generator` creates a `README.md` file for your instrumentat In addition to that, there should also be redundant `yardoc` comments in the entrypoint of your gem, i.e. the subclass `OpenTelemetry::Instrumentation::Base`. -> :information_source: See the `Sidekiq::Instrumentation` [class description](./sidekiq/lib/opentelemetry/instrumentation/sidekiq/instrumentation.rb) for a comprehensive example. +> :information_source: See the `Sidekiq::Instrumentation` [class description](./sidekiq/lib/opentelemetry/instrumentation/sidekiq/instrumentation.rb) for a comprehensive example. ### Examples diff --git a/instrumentation/README.md b/instrumentation/README.md index 3d0d8b1c1..dec813917 100644 --- a/instrumentation/README.md +++ b/instrumentation/README.md @@ -19,19 +19,15 @@ To get started with a single instrumentation library, for example `opentelemetry ### 1. Install the gem ```console - gem install opentelemetry-instrumentation-rack - ``` ### 2. Configure OpenTelemetry to use the instrumentation -```console - +```ruby OpenTelemetry::SDK.configure do |c| c.use 'OpenTelemetry::Instrumentation::Rack' end - ``` Instrumentation-specific documentation can be found in each subdirectory's `README.md`. @@ -55,7 +51,7 @@ The source for all OpenTelemetry Ruby instrumentation gems is [on github](https: If you are interested in helping out with an instrumentation, you can see instrumentations that have been requested but are not currently in-progress [here](https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues?q=is%3Aopen+label%3Ainstrumentation+label%3A%22help+wanted%22). -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -64,4 +60,5 @@ All OpenTelemetry Ruby instrumentation gems are distributed under the Apache 2.0 [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/action_mailer/README.md b/instrumentation/action_mailer/README.md index 7744fc202..63c13d810 100644 --- a/instrumentation/action_mailer/README.md +++ b/instrumentation/action_mailer/README.md @@ -50,6 +50,7 @@ See the table below for details of what [Rails Framework Hook Events](https://gu ### Options ActionMailer instrumentation doesn't expose email addresses by default, but if email addresses are needed, simply use `:email_address` option: + ```ruby OpenTelemetry::SDK.configure do |c| c.use 'OpenTelemetry::Instrumentation::ActionMailer', { email_address: :include } @@ -57,6 +58,7 @@ end ``` If only want to hide certain attributes from the notifications payload for email address: + ```ruby OpenTelemetry::SDK.configure do |c| c.use 'OpenTelemetry::Instrumentation::ActionMailer', { email_address: :include, disallowed_notification_payload_keys: ['email.to.address'] } @@ -78,16 +80,16 @@ The following attributes from the notification payload for the `deliver.action_m | `email.from.address` | Array | Sender for mail (omit by default, include when `email_address` set to `:include`) | | `email.cc.address` | Array | mail CC (omit by default, include when `email_address` set to `:include`) | | `email.bcc.address` | Array | mail BCC (omit by default, include when `email_address` set to `:include`) | + ## Examples Example usage can be seen in the `./example/trace_request_demonstration.ru` file [here](https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/instrumentation/action_mailer/example/trace_request_demonstration.ru) - ## How can I get involved? The `opentelemetry-instrumentation-action_mailer` gem source is [on GitHub][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -99,4 +101,5 @@ The `opentelemetry-instrumentation-action_mailer` gem is distributed under the A [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/action_pack/README.md b/instrumentation/action_pack/README.md index 8bbcd69bf..4eb0b6c97 100644 --- a/instrumentation/action_pack/README.md +++ b/instrumentation/action_pack/README.md @@ -6,7 +6,7 @@ The Action Pack instrumentation is a community-maintained instrumentation for th Install the gem using: -``` +```console gem install opentelemetry-instrumentation-action_pack ``` @@ -42,7 +42,6 @@ See the table below for details of what [Rails Framework Hook Events](https://gu | - | - | - | - | | `process_action.action_controller` | :white_check_mark: | :x: | It modifies the existing Rack span | - ### Error Handling for Action Controller If an error is triggered by Action Controller (such as a 500 internal server error), Action Pack will typically employ the default `ActionDispatch::PublicExceptions.new(Rails.public_path)` as the `exceptions_app`, as detailed in the [documentation](https://guides.rubyonrails.org/configuring.html#config-exceptions-app). @@ -57,7 +56,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-action_pack` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -68,4 +67,6 @@ The `opentelemetry-instrumentation-action_pack` gem is distributed under the Apa [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions +[rails-home]: https://rubyonrails.org/ diff --git a/instrumentation/action_view/README.md b/instrumentation/action_view/README.md index c302ba368..340a285c9 100644 --- a/instrumentation/action_view/README.md +++ b/instrumentation/action_view/README.md @@ -6,7 +6,7 @@ The ActionView instrumentation is a community-maintained instrumentation for the Install the gem using: -``` +```console gem install opentelemetry-instrumentation-action_view gem install opentelemetry-instrumentation-rails ``` @@ -56,7 +56,7 @@ end The `opentelemetry-instrumentation-action_view` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -68,4 +68,5 @@ The `opentelemetry-instrumentation-action_view` gem is distributed under the Apa [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/active_job/README.md b/instrumentation/active_job/README.md index 686247ab9..ee8a01432 100644 --- a/instrumentation/active_job/README.md +++ b/instrumentation/active_job/README.md @@ -6,7 +6,7 @@ The OpenTelemetry Active Job gem is a community maintained instrumentation for [ Install the gem using: -``` +```console gem install opentelemetry-instrumentation-active_job ``` @@ -96,7 +96,7 @@ Example usage can be seen in the `./example/active_job.rb` file [here](https://g The `opentelemetry-instrumentation-active_job` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -108,4 +108,5 @@ The `opentelemetry-instrumentation-active_job` gem is distributed under the Apac [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/active_model_serializers/README.md b/instrumentation/active_model_serializers/README.md index 135aace33..728cdf74b 100644 --- a/instrumentation/active_model_serializers/README.md +++ b/instrumentation/active_model_serializers/README.md @@ -6,7 +6,7 @@ The OpenTelemetry Active Model Serializers gem is a community maintained instrum Install the gem using: -``` +```console gem install opentelemetry-instrumentation-active_model_serializers ``` @@ -38,7 +38,7 @@ Example usage of active_model_serializers can be seen in the `./example/active_m The `opentelemetry-instrumentation-active_model_serializers` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -50,4 +50,5 @@ Apache 2.0 license. See [LICENSE][license-github] for more information. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/active_record/README.md b/instrumentation/active_record/README.md index 6c6b727a9..c64e2da1f 100644 --- a/instrumentation/active_record/README.md +++ b/instrumentation/active_record/README.md @@ -6,7 +6,7 @@ The Active Record instrumentation is a community-maintained instrumentation for Install the gem using: -``` +```console gem install opentelemetry-instrumentation-active_record ``` @@ -38,7 +38,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-active_record` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -49,4 +49,6 @@ The `opentelemetry-instrumentation-active_record` gem is distributed under the A [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions +[rails-home]: https://rubyonrails.org/ diff --git a/instrumentation/active_support/README.md b/instrumentation/active_support/README.md index 9cefa2f4f..2a305e163 100644 --- a/instrumentation/active_support/README.md +++ b/instrumentation/active_support/README.md @@ -48,7 +48,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-active_support` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -60,4 +60,5 @@ The `opentelemetry-instrumentation-active_support` gem is distributed under the [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/all/README.md b/instrumentation/all/README.md index 76b815bc0..382d8f50b 100644 --- a/instrumentation/all/README.md +++ b/instrumentation/all/README.md @@ -16,21 +16,18 @@ This gem can be used with any OpenTelemetry SDK implementation. This can be the Install the gem using: -``` +```console gem install opentelemetry-instrumentation-all ``` Or, if you use [bundler][bundler-home], include `opentelemetry-instrumentation-all` in your `Gemfile`. - The `opentelemetry-api` has functionality to discover the instrumentation that an application depends on. It maintains a registry of discovered instrumentation which can be automatically installed by the SDK. These instructions pertain to the official `opentelemetry-sdk` implementation. Consult the documentation for your SDK if you are using an alternative implementation. - ### Use All The `use_all` method will install all instrumentation present for an application, where the underlying, instrumented library is also present. Per library configuration can be passed in using an optional hash argument that has the instrumentation names as keys and configuration hashes as values. - ```ruby require 'opentelemetry/sdk' @@ -71,17 +68,17 @@ Releasing opentelemetry-instrumentation-all requires that all gems it depends on The `opentelemetry-instrumentation-all` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License The `opentelemetry-instrumentation-all` gem is distributed under the Apache 2.0 license. See [LICENSE][license-github] for more information. - [opentelemetry-home]: https://opentelemetry.io [bundler-home]: https://bundler.io [repo-github]: https://github.com/open-telemetry/opentelemetry-ruby [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/aws_lambda/README.md b/instrumentation/aws_lambda/README.md index eea0d446a..3dc9bff1b 100644 --- a/instrumentation/aws_lambda/README.md +++ b/instrumentation/aws_lambda/README.md @@ -2,17 +2,18 @@ The OpenTelemetry `aws-lambda` gem is a community-maintained instrumentation for [AWS Lambda functions](https://docs.aws.amazon.com/lambda/latest/dg/ruby-handler.html). -## How do I get started? +## How do I get started? -Installation of the `opentelemetry-instrumentation-aws_lambda` gem is handled by the [OpenTelemetry Lambda Layer for Ruby](https://github.com/open-telemetry/opentelemetry-lambda/tree/main/ruby). +Installation of the `opentelemetry-instrumentation-aws_lambda` gem is handled by the [OpenTelemetry Lambda Layer for Ruby](https://github.com/open-telemetry/opentelemetry-lambda/tree/main/ruby). We do not advise installing the `opentelemetry-instrumentation-aws_lambda` gem directly into your Ruby lambda. Instead, clone the [OpenTelemetry Lambda Layer for Ruby](https://github.com/open-telemetry/opentelemetry-lambda/tree/main/ruby) and build the layer locally. Then, save it in your AWS account. ## Usage -From the Lambda Layer side, create the wrapper. More information can be found at https://github.com/open-telemetry/opentelemetry-lambda/tree/main/ruby +From the Lambda Layer side, create the wrapper. More information can be found at Below is an example of `ruby/src/layer/wrapper.rb`, where you can configure the layer to suit your needs before building it: + ```ruby require 'opentelemetry/sdk' require 'opentelemetry/instrumentation/aws_lambda' @@ -44,16 +45,15 @@ This will run SNS publish command, printing OpenTelemetry traces to the console The `opentelemetry-instrumentation-aws_lambda` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License Apache 2.0 license. See [LICENSE][license-github] for more information. -[aws-sdk-home]: https://github.com/aws/aws-sdk-ruby -[bundler-home]: https://bundler.io [repo-github]: https://github.com/open-telemetry/opentelemetry-ruby [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/aws_sdk/README.md b/instrumentation/aws_sdk/README.md index cc728d574..e1885d7a9 100644 --- a/instrumentation/aws_sdk/README.md +++ b/instrumentation/aws_sdk/README.md @@ -6,7 +6,7 @@ The OpenTelemetry `aws-sdk` gem is a community maintained instrumentation for [a Install the gem using: -``` +```console gem install opentelemetry-instrumentation-aws_sdk ``` @@ -49,7 +49,7 @@ This will run SNS publish command, printing OpenTelemetry traces to the console The `opentelemetry-instrumentation-aws_sdk` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -61,4 +61,5 @@ Apache 2.0 license. See [LICENSE][license-github] for more information. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/base/README.md b/instrumentation/base/README.md index 86ab3f73f..f6dfb99d2 100644 --- a/instrumentation/base/README.md +++ b/instrumentation/base/README.md @@ -6,7 +6,7 @@ The `opentelemetry-instrumentation-base` gem contains the instrumentation base c Install the gem using: -``` +```console gem install opentelemetry-instrumentation-base ``` @@ -140,7 +140,7 @@ end The `opentelemetry-instrumentation-base` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -151,4 +151,5 @@ The `opentelemetry-instrumentation-base` gem is distributed under the Apache 2.0 [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/bunny/README.md b/instrumentation/bunny/README.md index ea3870836..d3c0d936a 100644 --- a/instrumentation/bunny/README.md +++ b/instrumentation/bunny/README.md @@ -6,7 +6,7 @@ The bunny instrumentation is a community-maintained instrumentation for [bunny][ Install the gem using: -``` +```console gem install opentelemetry-instrumentation-bunny ``` @@ -38,7 +38,7 @@ Example usage can be seen in the `./example/bunny.rb` file [here](https://github The `opentelemetry-instrumentation-bunny` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us on our [gitter channel][ruby-gitter] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -50,4 +50,5 @@ The `opentelemetry-instrumentation-bunny` gem is distributed under the Apache 2. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings -[ruby-gitter]: https://gitter.im/open-telemetry/opentelemetry-ruby +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY +[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/concurrent_ruby/README.md b/instrumentation/concurrent_ruby/README.md index aceb4703f..c8cfc9f72 100644 --- a/instrumentation/concurrent_ruby/README.md +++ b/instrumentation/concurrent_ruby/README.md @@ -6,7 +6,7 @@ The OpenTelemetry Concurrent Ruby gem is a community maintained instrumentation Install the gem using: -``` +```console gem install opentelemetry-instrumentation-concurrent_ruby ``` @@ -34,7 +34,7 @@ end The `opentelemetry-instrumentation-concurrent_ruby` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -46,4 +46,5 @@ Apache 2.0 license. See [LICENSE][license-github] for more information. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/dalli/README.md b/instrumentation/dalli/README.md index bf4f988fa..e8ef0f618 100644 --- a/instrumentation/dalli/README.md +++ b/instrumentation/dalli/README.md @@ -6,7 +6,7 @@ The OpenTelemetry Dalli gem is a community maintained instrumentation for the [D Install the gem using: -``` +```console gem install opentelemetry-instrumentation-dalli ``` @@ -50,7 +50,7 @@ end The `opentelemetry-instrumentation-dalli` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -62,4 +62,5 @@ Apache 2.0 license. See [LICENSE][license-github] for more information. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/datadog-porting-guide.md b/instrumentation/datadog-porting-guide.md index 1ccadefd5..ae7868fc8 100644 --- a/instrumentation/datadog-porting-guide.md +++ b/instrumentation/datadog-porting-guide.md @@ -27,7 +27,7 @@ bash-5.0$ ruby trace_demonstration.rb * Rakefile * `tests/test_helper.rb` -* Integrate rubocop (see https://github.com/open-telemetry/opentelemetry-ruby/pull/172#pullrequestreview-349183775) +* Integrate rubocop (see ) ## Examples and template instrumentation @@ -52,14 +52,14 @@ bash-5.0$ ruby trace_demonstration.rb ### otel: span.name (dd-trace-rb: 'resource') -* Prefer "low-cardinality" names (see https://github.com/open-telemetry/opentelemetry-specification/pull/416) +* Prefer "low-cardinality" names (see ) ### otel: span.attributes (dd-trace-rb: 'tags') * `Span` attribute keys should be strings, *not* symbols * `Span` attribute values should be strings, *not* symbols * Prefer to populate span attributes via method arguments (e.g., `tracer.in_span(attributes: ...`) instead of `span.set_attribute` -* Some `Span` attribute naming is based on [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/data-semantic-conventions.md), for example [HTTP semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/data-http.md) +* Some `Span` attribute naming is based on [semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/0.3/specification/data-semantic-conventions.md), for example [HTTP semantic conventions](https://github.com/open-telemetry/opentelemetry-specification/blob/0.3/specification/data-http.md) * When opening a PR, it would be useful to note which attributes come from which semantic conventions, and which ones could not be found * `Span` `:kind` defaults to `:internal` (other available options include `:client` or `:server`) @@ -70,6 +70,7 @@ bash-5.0$ ruby trace_demonstration.rb ### Runtime performance considerations Watch for "low hanging fruit" performance improvements including: + * reduce object allocations - move to a constant, or cache values that would be generated repeatedly * look for "easy wins" vs. "complete redesigns" diff --git a/instrumentation/delayed_job/README.md b/instrumentation/delayed_job/README.md index f5b313361..0a72d2cb0 100644 --- a/instrumentation/delayed_job/README.md +++ b/instrumentation/delayed_job/README.md @@ -6,7 +6,7 @@ The OpenTelemetry Delayed Job Ruby gem is a community maintained instrumentation Install the gem using: -``` +```console gem install opentelemetry-instrumentation-delayed_job ``` @@ -38,7 +38,7 @@ Example usage of delayed_job can be seen in the `./example/delayed_job.rb` file The `opentelemetry-instrumentation-delayed_job` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -50,4 +50,5 @@ Apache 2.0 license. See [LICENSE][license-github] for more information. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/ethon/README.md b/instrumentation/ethon/README.md index ce47c81bc..fcf92dca7 100644 --- a/instrumentation/ethon/README.md +++ b/instrumentation/ethon/README.md @@ -6,7 +6,7 @@ The ethon instrumentation is a community-maintained instrumentation for the [eth Install the gem using: -``` +```console gem install opentelemetry-instrumentation-ethon ``` @@ -38,17 +38,17 @@ Example usage of faraday can be seen in the `./example/ethon.rb` file [here](htt The `opentelemetry-instrumentation-ethon` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License The `opentelemetry-instrumentation-all` gem is distributed under the Apache 2.0 license. See [LICENSE][license-github] for more information. -[ethon]:https://github.com/typhoeus/ethon [ethon-home]:https://github.com/typhoeus/ethon [bundler-home]: https://bundler.io [repo-github]: https://github.com/open-telemetry/opentelemetry-ruby [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/excon/README.md b/instrumentation/excon/README.md index 6a7f0a1ca..10851d800 100644 --- a/instrumentation/excon/README.md +++ b/instrumentation/excon/README.md @@ -6,7 +6,7 @@ The excon instrumentation is a community-maintained instrumentation for the [exc Install the gem using: -``` +```console gem install opentelemetry-instrumentation-excon ``` @@ -16,7 +16,6 @@ Or, if you use [bundler][bundler-home], include `opentelemetry-instrumentation-e To install the instrumentation, call `use` with the name of the instrumentation. - ```ruby OpenTelemetry::SDK.configure do |c| c.use 'OpenTelemetry::Instrumentation::Excon' @@ -35,7 +34,7 @@ end The `opentelemetry-instrumentation-excon` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -47,4 +46,5 @@ The `opentelemetry-instrumentation-all` gem is distributed under the Apache 2.0 [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/faraday/README.md b/instrumentation/faraday/README.md index 6e1b7bcfb..f8e23bc45 100644 --- a/instrumentation/faraday/README.md +++ b/instrumentation/faraday/README.md @@ -6,7 +6,7 @@ The OpenTelemetry Faraday Ruby gem is a community maintained instrumentation for Install the gem using: -``` +```console gem install opentelemetry-instrumentation-faraday ``` @@ -38,7 +38,7 @@ Example usage of faraday can be seen in the `./example/faraday.rb` file [here](h The `opentelemetry-instrumentation-faraday` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -50,4 +50,5 @@ Apache 2.0 license. See [LICENSE][license-github] for more information. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/grape/README.md b/instrumentation/grape/README.md index e1d091f15..ca046a235 100644 --- a/instrumentation/grape/README.md +++ b/instrumentation/grape/README.md @@ -2,7 +2,7 @@ The Grape instrumentation is a community-maintained instrumentation for [Grape][grape], a REST-like API framework for Ruby. -It relies on the Grape built-in support for `ActiveSupport::Notifications` (more info [here](https://github.com/ruby-grape/grape#active-support-instrumentation)) and the [OpenTelemetry Rack instrumentation](opentelemetry-rack-instrumentation). +It relies on the Grape built-in support for `ActiveSupport::Notifications` (more info [here](https://github.com/ruby-grape/grape#active-support-instrumentation)) and the [OpenTelemetry Rack instrumentation](https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/opentelemetry-instrumentation-rack/v0.24.6/instrumentation/rack). It currently supports the following events: @@ -15,7 +15,7 @@ It currently supports the following events: Install the gem using: -``` +```console gem install opentelemetry-instrumentation-grape ``` @@ -75,7 +75,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-grape` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -86,6 +86,6 @@ The `opentelemetry-instrumentation-grape` gem is distributed under the Apache 2. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions [grape]: https://github.com/ruby-grape/grape -[opentelemetry-rack-instrumentation]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/rack diff --git a/instrumentation/graphql/README.md b/instrumentation/graphql/README.md index f2fa7aab3..e0aff335e 100644 --- a/instrumentation/graphql/README.md +++ b/instrumentation/graphql/README.md @@ -6,7 +6,7 @@ The OpenTelemetry GraphQL Ruby gem is a community maintained instrumentation for Install the gem using: -``` +```console gem install opentelemetry-instrumentation-graphql ``` @@ -66,7 +66,7 @@ An example of usage can be seen in [`example/graphql.rb`](https://github.com/ope The `opentelemetry-instrumentation-graphql` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -78,4 +78,5 @@ The `opentelemetry-instrumentation-graphql` gem is distributed under the Apache [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/gruf/README.md b/instrumentation/gruf/README.md index 829317afa..fae675ebc 100644 --- a/instrumentation/gruf/README.md +++ b/instrumentation/gruf/README.md @@ -6,7 +6,7 @@ Todo: Add a description. Install the gem using: -``` +```console gem install opentelemetry-instrumentation-gruf ``` @@ -43,7 +43,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-gruf` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -54,4 +54,5 @@ The `opentelemetry-instrumentation-gruf` gem is distributed under the Apache 2.0 [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/http/README.md b/instrumentation/http/README.md index d8d533900..91d7fe8d9 100644 --- a/instrumentation/http/README.md +++ b/instrumentation/http/README.md @@ -6,7 +6,7 @@ The HTTP instrumentation is a community-maintained instrumentation for the [HTTP Install the gem using: -``` +```console gem install opentelemetry-instrumentation-http ``` @@ -50,7 +50,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-http` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -62,4 +62,5 @@ The `opentelemetry-instrumentation-http` gem is distributed under the Apache 2.0 [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/http_client/README.md b/instrumentation/http_client/README.md index a9568e360..3f5719d97 100644 --- a/instrumentation/http_client/README.md +++ b/instrumentation/http_client/README.md @@ -6,7 +6,7 @@ The HttpClient instrumentation is a community-maintained instrumentation for the Install the gem using: -``` +```console gem install opentelemetry-instrumentation-http_client ``` @@ -38,7 +38,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-http_client` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -50,4 +50,5 @@ The `opentelemetry-instrumentation-http_client` gem is distributed under the Apa [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/httpx/README.md b/instrumentation/httpx/README.md index 2053e8ab1..c84891617 100644 --- a/instrumentation/httpx/README.md +++ b/instrumentation/httpx/README.md @@ -6,7 +6,7 @@ The HTTPX instrumentation is a community-maintained instrumentation for the [HTT Install the gem using: -``` +```console gem install opentelemetry-instrumentation-httpx ``` @@ -34,16 +34,17 @@ end The `opentelemetry-instrumentation-httpx` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License The `opentelemetry-instrumentation-httpx` gem is distributed under the Apache 2.0 license. See [LICENSE][license-github] for more information. -[http-home]: https://gitlab.com/os85/httpx [bundler-home]: https://bundler.io [repo-github]: https://github.com/open-telemetry/opentelemetry-ruby [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions +[httpx-home]: https://github.com/HoneyryderChuck/httpx diff --git a/instrumentation/koala/README.md b/instrumentation/koala/README.md index 9d9e25ab1..b304d01b5 100644 --- a/instrumentation/koala/README.md +++ b/instrumentation/koala/README.md @@ -6,7 +6,7 @@ The Koala instrumentation is a community-maintained instrumentation for the [Koa Install the gem using: -``` +```console gem install opentelemetry-instrumentation-koala ``` @@ -39,7 +39,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-koala` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -51,4 +51,5 @@ The `opentelemetry-instrumentation-koala` gem is distributed under the Apache 2. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/lmdb/README.md b/instrumentation/lmdb/README.md index d1f9d653c..46be394d0 100644 --- a/instrumentation/lmdb/README.md +++ b/instrumentation/lmdb/README.md @@ -6,7 +6,7 @@ The LMDB instrumentation is a community-maintained instrumentation for the [LMDB Install the gem using: -``` +```console gem install opentelemetry-instrumentation-lmdb ``` @@ -34,7 +34,7 @@ end The `opentelemetry-instrumentation-lmdb` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -46,4 +46,5 @@ The `opentelemetry-instrumentation-lmdb` gem is distributed under the Apache 2.0 [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/mongo/README.md b/instrumentation/mongo/README.md index 008ba7102..bc76a6ccb 100644 --- a/instrumentation/mongo/README.md +++ b/instrumentation/mongo/README.md @@ -6,7 +6,7 @@ The OpenTelemetry Mongo Ruby gem is a community maintained instrumentation for [ Install the gem using: -``` +```console gem install opentelemetry-instrumentation-mongo ``` @@ -62,7 +62,7 @@ This will run a few MongoDB commands, printing OpenTelemetry traces to the conso The `opentelemetry-instrumentation-mongo` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -74,4 +74,5 @@ Apache 2.0 license. See [LICENSE][license-github] for more information. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/mysql2/README.md b/instrumentation/mysql2/README.md index 7ba249e74..9c25a103c 100644 --- a/instrumentation/mysql2/README.md +++ b/instrumentation/mysql2/README.md @@ -6,7 +6,7 @@ The OpenTelemetry Mysql2 Ruby gem is a community maintained instrumentation for Install the gem using: -``` +```console gem install opentelemetry-instrumentation-mysql2 ``` @@ -61,7 +61,7 @@ An example of usage can be seen in [`example/mysql2.rb`](https://github.com/open The `opentelemetry-instrumentation-mysql2` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us on our [gitter channel][ruby-gitter] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -73,4 +73,5 @@ The `opentelemetry-instrumentation-mysql2` gem is distributed under the Apache 2 [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings -[ruby-gitter]: https://gitter.im/open-telemetry/opentelemetry-ruby +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY +[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/net_http/README.md b/instrumentation/net_http/README.md index fed31f157..bc6eacded 100644 --- a/instrumentation/net_http/README.md +++ b/instrumentation/net_http/README.md @@ -6,7 +6,7 @@ The OpenTelemetry Net::HTTP Ruby gem is a community maintained instrumentation f Install the gem using: -``` +```console gem install opentelemetry-instrumentation-net_http ``` @@ -38,7 +38,7 @@ An example of usage can be seen in [`example/net_http.rb`](https://github.com/op The `opentelemetry-instrumentation-net_http` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -50,4 +50,5 @@ Apache 2.0 license. See [LICENSE][license-github] for more information. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/pg/README.md b/instrumentation/pg/README.md index 12c4c167d..fee4b650c 100644 --- a/instrumentation/pg/README.md +++ b/instrumentation/pg/README.md @@ -6,7 +6,7 @@ The OpenTelemetry PG Ruby gem is a community maintained instrumentation for [PG] Install the gem using: -``` +```console gem install opentelemetry-instrumentation-pg ``` @@ -66,7 +66,7 @@ An example of usage can be seen in [`example/pg.rb`](https://github.com/open-tel The `opentelemetry-instrumentation-pg` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us on our [gitter channel][ruby-gitter] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -78,4 +78,6 @@ The `opentelemetry-instrumentation-pg` gem is distributed under the Apache 2.0 l [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings -[ruby-gitter]: https://gitter.im/open-telemetry/opentelemetry-ruby +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY +[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions + diff --git a/instrumentation/que/README.md b/instrumentation/que/README.md index 940aa1794..7534a9cb2 100644 --- a/instrumentation/que/README.md +++ b/instrumentation/que/README.md @@ -6,7 +6,7 @@ The Que instrumentation is a community-maintained instrumentation for the [Que][ Install the gem using: -``` +```console gem install opentelemetry-instrumentation-que ``` @@ -63,25 +63,25 @@ end The `opentelemetry-instrumentation-que` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## Testing the gem locally To install test dependencies run: -``` +```console bundle exec appraisal ``` To run tests on all appraised Que versions, run: -``` +```console bundle exec appraisal rake test ``` To run tests with a specific Que version, run: -``` +```console bundle exec appraisal [que-version] rake test ``` @@ -97,5 +97,6 @@ The `opentelemetry-instrumentation-que` gem is distributed under the Apache 2.0 [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions [appraisal-file]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/instrumentation/que/Appraisals diff --git a/instrumentation/racecar/README.md b/instrumentation/racecar/README.md index 393f32069..a7f93d5f1 100644 --- a/instrumentation/racecar/README.md +++ b/instrumentation/racecar/README.md @@ -2,12 +2,11 @@ The Racecar instrumentation is a community-maintained instrumentation for [Racecar](https://github.com/zendesk/racecar), a client library for Apache Kafka. - ## How do I get started? Install the gem using: -``` +```console gem install opentelemetry-instrumentation-racecar ``` @@ -43,7 +42,7 @@ Example usage can be seen in the `./example` directory [here](https://github.com The `opentelemetry-instrumentation-racecar` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -54,4 +53,5 @@ The `opentelemetry-instrumentation-racecar` gem is distributed under the Apache [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/rack/README.md b/instrumentation/rack/README.md index 290ad59bc..79c935c08 100644 --- a/instrumentation/rack/README.md +++ b/instrumentation/rack/README.md @@ -6,7 +6,7 @@ The Rack instrumentation is a community-maintained instrumentation for the [Rack Install the gem using: -``` +```console gem install opentelemetry-instrumentation-rack ``` @@ -67,7 +67,7 @@ By default we will set the rack span name to match the format "HTTP #{method}" ( We surface a hook to easily retrieve the rack span within the context of a request so that you can add information to or rename your server span. -This is how the rails controller instrumentation is able to rename the span names to match the controller and action that process the request. See https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/instrumentation/action_pack/lib/opentelemetry/instrumentation/action_pack/patches/action_controller/metal.rb#L15-L16 for an example. +This is how the rails controller instrumentation is able to rename the span names to match the controller and action that process the request. See for an example. ### High cardinality example @@ -87,7 +87,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-rack` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -99,4 +99,5 @@ The `opentelemetry-instrumentation-rack` gem is distributed under the Apache 2.0 [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/rails/README.md b/instrumentation/rails/README.md index 330db609f..47ada008c 100644 --- a/instrumentation/rails/README.md +++ b/instrumentation/rails/README.md @@ -55,6 +55,7 @@ gem "opentelemetry-instrumentation-rails", require: "opentelemetry/instrumentati The Rails instrumentation attempts to mirror the structure of the Ruby on Rails. It is a collection of instrumentation gems for components of Rails such as Action View, Active Record, Action Pack, etc... You may want to include all of the Rails instrumentation but disable a single instrumentation gem that it includes. Here is an example of how you can disable Active Record when using this instrumentation gem. + ```ruby OpenTelemetry::SDK.configure do |c| c.use_all({ 'OpenTelemetry::Instrumentation::ActiveRecord' => { enabled: false } }) @@ -69,7 +70,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-rails` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -81,4 +82,5 @@ The `opentelemetry-instrumentation-rails` gem is distributed under the Apache 2. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/rake/README.md b/instrumentation/rake/README.md index 1b07ccf5e..bcdccaa03 100644 --- a/instrumentation/rake/README.md +++ b/instrumentation/rake/README.md @@ -6,7 +6,7 @@ The Rake instrumentation is a community-maintained instrumentation for the [Rake Install the gem using: -``` +```console gem install opentelemetry-instrumentation-rake ``` @@ -32,13 +32,13 @@ end ## Examples -Example usage can be seen in the `./example/trace_demonstration.rb` file [here](https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/instrumentation/rake/example/rake.rb) +Example usage can be seen in the `./example/trace_demonstration.rb` file [here](https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/opentelemetry-instrumentation-rake/v0.2.2/instrumentation/rake/example/trace_demonstration.rb) ## How can I get involved? The `opentelemetry-instrumentation-rake` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -49,4 +49,5 @@ The `opentelemetry-instrumentation-rake` gem is distributed under the Apache 2.0 [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/rdkafka/README.md b/instrumentation/rdkafka/README.md index 9f0c9a0ca..21c57c3d7 100644 --- a/instrumentation/rdkafka/README.md +++ b/instrumentation/rdkafka/README.md @@ -6,7 +6,7 @@ The Rdkafka instrumentation is a community-maintained instrumentation for [Rdkaf Install the gem using: -``` +```console gem install opentelemetry-instrumentation-rdkafka ``` @@ -38,7 +38,7 @@ Example usage can be seen in the `./example/rdkafka_trace_demonstration.rb` file The `opentelemetry-instrumentation-rdkafka` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -49,4 +49,5 @@ The `opentelemetry-instrumentation-rdkafka` gem is distributed under the Apache [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/redis/README.md b/instrumentation/redis/README.md index 6cc44aa5d..d86afacc6 100644 --- a/instrumentation/redis/README.md +++ b/instrumentation/redis/README.md @@ -6,7 +6,7 @@ The OpenTelemetry Redis Ruby gem is a community maintained instrumentation for [ Install the gem using: -``` +```console gem install opentelemetry-instrumentation-redis ``` @@ -41,7 +41,7 @@ OpenTelemetry::Instrumentation::Redis.with_attributes('peer.service' => 'cache') end ``` -### Configuration options +###  Configuration options ```ruby OpenTelemetry::SDK.configure do |c| @@ -68,7 +68,7 @@ installed it, it will start and stop automatically when you run `rake`. The `opentelemetry-instrumentation-redis` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -80,4 +80,5 @@ Apache 2.0 license. See [LICENSE][license-github] for more information. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/resque/README.md b/instrumentation/resque/README.md index fda87d084..fc46ca1ad 100644 --- a/instrumentation/resque/README.md +++ b/instrumentation/resque/README.md @@ -6,7 +6,7 @@ The Resque instrumentation is a community-maintained instrumentation for the [Re Install the gem using: -``` +```console gem install opentelemetry-instrumentation-resque ``` @@ -38,7 +38,7 @@ Example usage can be seen in the `./example/trace_demonstration.rb` file [here]( The `opentelemetry-instrumentation-resque` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -50,4 +50,5 @@ The `opentelemetry-instrumentation-resque` gem is distributed under the Apache 2 [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/restclient/README.md b/instrumentation/restclient/README.md index 159c8b295..398aae438 100644 --- a/instrumentation/restclient/README.md +++ b/instrumentation/restclient/README.md @@ -6,7 +6,7 @@ The OpenTelemetry RestClient gem is a community maintained instrumentation for t Install the gem using: -``` +```console gem install opentelemetry-instrumentation-restclient ``` @@ -34,7 +34,7 @@ end The `opentelemetry-instrumentation-restclient` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -46,4 +46,5 @@ Apache 2.0 license. See [LICENSE][license-github] for more information. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/rspec/README.md b/instrumentation/rspec/README.md index 64156459b..c14f7674f 100644 --- a/instrumentation/rspec/README.md +++ b/instrumentation/rspec/README.md @@ -6,7 +6,7 @@ The RSpec instrumentation is a community-maintained instrumentation for the [RSp Install the gem using: -``` +```console gem install opentelemetry-instrumentation-rspec ``` @@ -61,7 +61,7 @@ Example usage can be seen in the `/example` directory [here](https://github.com/ The `opentelemetry-instrumentation-rspec` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -72,5 +72,6 @@ The `opentelemetry-instrumentation-rspec` gem is distributed under the Apache 2. [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions [rspec-home]: https://rspec.info diff --git a/instrumentation/ruby_kafka/README.md b/instrumentation/ruby_kafka/README.md index 92c7dd50c..65c38b8ea 100644 --- a/instrumentation/ruby_kafka/README.md +++ b/instrumentation/ruby_kafka/README.md @@ -6,7 +6,7 @@ The RubyKafka instrumentation is a community-maintained instrumentation for [Rub Install the gem using: -``` +```console gem install opentelemetry-instrumentation-ruby_kafka ``` @@ -38,7 +38,7 @@ Example usage can be seen in the `./example/ruby_kafka.rb` file [here](https://g The `opentelemetry-instrumentation-ruby_kafka` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ### Running Tests @@ -73,4 +73,5 @@ The `opentelemetry-instrumentation-ruby_kafka` gem is distributed under the Apac [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/sidekiq/README.md b/instrumentation/sidekiq/README.md index 461f9e717..5e435acfc 100644 --- a/instrumentation/sidekiq/README.md +++ b/instrumentation/sidekiq/README.md @@ -6,7 +6,7 @@ The Sidekiq instrumentation is a community-maintained instrumentation for the [S Install the gem using: -``` +```console gem install opentelemetry-instrumentation-sidekiq ``` @@ -29,6 +29,7 @@ OpenTelemetry::SDK.configure do |c| c.use_all end ``` + ## Examples Example usage can be seen in the `./example/sidekiq.rb` file [here](https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/instrumentation/sidekiq/example/sidekiq.rb) @@ -38,7 +39,7 @@ Example usage can be seen in the `./example/sidekiq.rb` file [here](https://gith You'll need Redis installed locally to run the test suite. Once you've installed it, it will start and stop automatically when you run `rake`. -``` +```console redis-server test/redis.conf ``` @@ -46,7 +47,7 @@ redis-server test/redis.conf The `opentelemetry-instrumentation-sidekiq` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -58,4 +59,5 @@ The `opentelemetry-instrumentation-sidekiq` gem is distributed under the Apache [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/sinatra/README.md b/instrumentation/sinatra/README.md index ddbad1f95..063efad0a 100644 --- a/instrumentation/sinatra/README.md +++ b/instrumentation/sinatra/README.md @@ -6,11 +6,10 @@ The Sinatra instrumentation is a community-maintained instrumentation for the [S Install the gem using: -``` +```console gem install opentelemetry-instrumentation-sinatra ``` - Or, if you use [bundler][bundler-home], include `opentelemetry-instrumentation-sinatra` to your `Gemfile`. ### Version Compatibility @@ -59,7 +58,7 @@ end The `opentelemetry-instrumentation-sinatra` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -71,4 +70,5 @@ The `opentelemetry-instrumentation-sinatra` gem is distributed under the Apache [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/instrumentation/trilogy/README.md b/instrumentation/trilogy/README.md index 4bbd0be7a..b931e78b7 100644 --- a/instrumentation/trilogy/README.md +++ b/instrumentation/trilogy/README.md @@ -12,7 +12,7 @@ Some key differences in this instrumentation are: Install the gem using: -``` +```console gem install opentelemetry-instrumentation-trilogy ``` @@ -68,7 +68,7 @@ This instrumentation generally uses [Database semantic conventions](https://open The `opentelemetry-instrumentation-trilogy` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -80,4 +80,6 @@ The `opentelemetry-instrumentation-trilogy` gem is distributed under the Apache [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions +[opentelemetry-mysql]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/mysql2 diff --git a/processor/baggage/README.md b/processor/baggage/README.md index 0c5bc8b93..d88b04a3c 100644 --- a/processor/baggage/README.md +++ b/processor/baggage/README.md @@ -13,7 +13,7 @@ Do not put sensitive information in Baggage. Install the gem using: -```shell +```console gem install opentelemetry-processor-baggage ``` @@ -85,7 +85,7 @@ OpenTelemetry::Processor::Baggage::BaggageSpanProcessor.new( The `opentelemetry-processor-baggage` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -96,4 +96,5 @@ The `opentelemetry-instrumentation-sinatra` gem is distributed under the Apache [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/propagator/ottrace/README.md b/propagator/ottrace/README.md index e6a5dde1e..37e7e69e4 100644 --- a/propagator/ottrace/README.md +++ b/propagator/ottrace/README.md @@ -60,7 +60,7 @@ This gem can be used with any OpenTelemetry SDK implementation. This can be the Install the gem using: -``` +```console gem install opentelemetry-propagator-ottrace ``` @@ -68,7 +68,7 @@ Or, if you use [bundler][bundler-home], include `opentelemetry-propagator-ottrac Configure your application to use this propagator by setting the following [environment variable][envars]: -``` +```console OTEL_PROPAGATORS=ottrace ``` @@ -76,7 +76,7 @@ OTEL_PROPAGATORS=ottrace The `opentelemetry-propagator-ottrace` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -88,8 +88,9 @@ The `opentelemetry-propagator-ottrace` gem is distributed under the Apache 2.0 l [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions [ottrace-spec]: https://github.com/opentracing/specification/blob/master/rfc/trace_identifiers.md [rfc7230-url]: https://tools.ietf.org/html/rfc7230#section-3.2 [fields-spec-url]: https://github.com/open-telemetry/opentelemetry-specification/blob/master/specification/context/api-propagators.md#fields -[envars]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/sdk-environment-variables.md#general-sdk-configuration +[envars]: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.20.0/specification/sdk-environment-variables.md#general-sdk-configuration diff --git a/propagator/vitess/README.md b/propagator/vitess/README.md index d95561637..47b88eda3 100644 --- a/propagator/vitess/README.md +++ b/propagator/vitess/README.md @@ -31,7 +31,7 @@ This gem can be used with any OpenTelemetry SDK implementation. This can be the Install the gem using: -``` +```console gem install opentelemetry-propagator-vitess ``` @@ -39,7 +39,7 @@ Or, if you use [bundler][bundler-home], include `opentelemetry-propagator-vitess Configure your application to use this propagator with the Trilogy client instrumentation by setting the following [environment variable][envars]: -``` +```console OTEL_RUBY_INSTRUMENTATION_TRILOGY_PROPAGATOR=vitess ``` @@ -47,7 +47,7 @@ OTEL_RUBY_INSTRUMENTATION_TRILOGY_PROPAGATOR=vitess The `opentelemetry-propagator-vitess` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -61,4 +61,5 @@ The `opentelemetry-propagator-vitess` gem is distributed under the Apache 2.0 li [community-meetings]: https://github.com/open-telemetry/community#community-meetings [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions [vitess-spec]: https://vitess.io/docs/16.0/user-guides/configuration-advanced/tracing/#instrumenting-queries -[envars]: https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/sdk-environment-variables.md#general-sdk-configuration +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY +[envars]: https://github.com/open-telemetry/opentelemetry-specification/blob/v1.20.0/specification/sdk-environment-variables.md#general-sdk-configuration diff --git a/propagator/xray/README.md b/propagator/xray/README.md index a94b5c1aa..8b2f6ec6d 100644 --- a/propagator/xray/README.md +++ b/propagator/xray/README.md @@ -17,34 +17,37 @@ This gem can be used with any OpenTelemetry SDK implementation. This can be the Install the gem using: -``` +```console gem install opentelemetry-propagator-xray ``` Or, if you use [bundler][bundler-home], include `opentelemetry-propagator-xray` in your `Gemfile`. In your application: -``` + +```ruby require 'opentelemetry/propagator/xray' # Optional ENV['OTEL_PROPAGATORS'] ||= 'xray' # Or you can set this as an environment variable outside of the application ``` ## To generate AWS XRay compliant IDs use the 'OpenTelemetry::AWSXRayTrace' module: -``` + +```ruby require 'opentelemetry/propagator/xray' OpenTelemetry::SDK.configure do |c| c.id_generator = OpenTelemetry::Propagator::XRay::IDGenerator end ``` + The propagator and ID generation are independent and do not need to be used in conjunction but can be. ## How can I get involved? The `opentelemetry-propagator-xray` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License @@ -56,5 +59,6 @@ The `opentelemetry-propagator-xray` gem is distributed under the Apache 2.0 lice [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig [community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions [aws-xray]: https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html diff --git a/resources/azure/README.md b/resources/azure/README.md index 1784ff070..43e37c818 100644 --- a/resources/azure/README.md +++ b/resources/azure/README.md @@ -16,7 +16,7 @@ The `opentelemetry-resource-detector-azure` gem provides a means of retrieving a Install the gem using: -``` +```console gem install opentelemetry-sdk gem install opentelemetry-resource-detector-azure ``` @@ -48,11 +48,13 @@ This will populate the following resource attributes for compute running on Azur The `opentelemetry-resource-detector-azure` gem source is on GitHub, along with related gems. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the meeting calendar for dates and times. For more information on this and other language SIGs, see the OpenTelemetry community page. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License The `opentelemetry-resource-detector-azure` gem is distributed under the Apache 2.0 license. See LICENSE for more information. -[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/discussions -[k8sattributesprocessor-url]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/k8sattributesprocessor/README.md \ No newline at end of file +[ruby-sig]: https://github.com/open-telemetry/community#ruby-sig +[community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY +[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions diff --git a/resources/container/README.md b/resources/container/README.md index 2b013d17e..4a10ffec4 100644 --- a/resources/container/README.md +++ b/resources/container/README.md @@ -16,7 +16,7 @@ The `opentelemetry-resource-detector-container` gem provides a means of retrievi Install the gem using: -``` +```console gem install opentelemetry-sdk gem install opentelemetry-resource-detector-container ``` @@ -38,11 +38,14 @@ This will populate the `container.id` resource attribute for processes running o The `opentelemetry-resource-detector-container` gem source is on GitHub, along with related gems. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the meeting calendar for dates and times. For more information on this and other language SIGs, see the OpenTelemetry community page. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License The `opentelemetry-resource-detector-container` gem is distributed under the Apache 2.0 license. See LICENSE for more information. -[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/discussions -[k8sattributesprocessor-url]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/k8sattributesprocessor/README.md \ No newline at end of file +[ruby-sig]: https://github.com/open-telemetry/community#ruby-sig +[community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY +[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions +[k8sattributesprocessor-url]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/k8sattributesprocessor/README.md diff --git a/resources/google_cloud_platform/README.md b/resources/google_cloud_platform/README.md index fb928269b..a34301807 100644 --- a/resources/google_cloud_platform/README.md +++ b/resources/google_cloud_platform/README.md @@ -16,7 +16,7 @@ The `opentelemetry-resource-detector-google_cloud_platform` gem provides a means Install the gem using: -``` +```console gem install opentelemetry-sdk gem install opentelemetry-resource-detector-google_cloud_platform ``` @@ -32,7 +32,6 @@ OpenTelemetry::SDK.configure do |c| end ``` - This will populate the following resource attributes for compute running on Google Cloud Platform: * Compute Engine: @@ -62,11 +61,13 @@ This will populate the following resource attributes for compute running on Goog The `opentelemetry-resource-detector-google_cloud_platform` gem source is on GitHub, along with related gems. -The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the meeting calendar for dates and times. For more information on this and other language SIGs, see the OpenTelemetry community page. +The OpenTelemetry Ruby gems are maintained by the OpenTelemetry Ruby special interest group (SIG). You can get involved by joining us on our [GitHub Discussions][discussions-url], [Slack Channel][slack-channel] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig]. ## License The `opentelemetry-resource-detector-google_cloud_platform` gem is distributed under the Apache 2.0 license. See LICENSE for more information. -[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/discussions -[k8sattributesprocessor-url]: https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/processor/k8sattributesprocessor/README.md \ No newline at end of file +[ruby-sig]: https://github.com/open-telemetry/community#ruby-sig +[community-meetings]: https://github.com/open-telemetry/community#community-meetings +[slack-channel]: https://cloud-native.slack.com/archives/C01NWKKMKMY +[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions From d87f1f8d1e3c7a68bf88e30b95a26fd1793a7332 Mon Sep 17 00:00:00 2001 From: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> Date: Thu, 8 Aug 2024 06:14:48 -0700 Subject: [PATCH 59/82] ci: Add Ruby 3.3 tests for helpers-* gems (#1058) Co-authored-by: Xuan <112967240+xuan-cao-swi@users.noreply.github.com> Co-authored-by: Ariel Valentin --- .github/workflows/ci-contrib.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/ci-contrib.yml b/.github/workflows/ci-contrib.yml index 135073333..b74aa6f57 100644 --- a/.github/workflows/ci-contrib.yml +++ b/.github/workflows/ci-contrib.yml @@ -29,6 +29,11 @@ jobs: runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 + - name: "Test Ruby 3.3" + uses: ./.github/actions/test_gem + with: + gem: "opentelemetry-helpers-${{ matrix.gem }}" + ruby: "3.3" - name: "Test Ruby 3.2" uses: ./.github/actions/test_gem with: From e8536cf77f14f2a336033165248facaafdde9b9c Mon Sep 17 00:00:00 2001 From: Alex Burgel Date: Thu, 8 Aug 2024 09:35:17 -0400 Subject: [PATCH 60/82] fix(rails): Rails instrumentation should load ActiveJob instrumentation (#1099) * Rails instrumention should load active job and active support * Update rails.rb --------- Co-authored-by: Ariel Valentin --- instrumentation/rails/lib/opentelemetry/instrumentation/rails.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/instrumentation/rails/lib/opentelemetry/instrumentation/rails.rb b/instrumentation/rails/lib/opentelemetry/instrumentation/rails.rb index f421f3a29..267cae1dd 100644 --- a/instrumentation/rails/lib/opentelemetry/instrumentation/rails.rb +++ b/instrumentation/rails/lib/opentelemetry/instrumentation/rails.rb @@ -20,5 +20,6 @@ module Rails require 'opentelemetry-instrumentation-action_view' require 'opentelemetry-instrumentation-action_mailer' require 'opentelemetry-instrumentation-active_record' +require 'opentelemetry-instrumentation-active_job' require_relative 'rails/instrumentation' require_relative 'rails/version' From 7e5c376cf8e3cfee28416b7854606a9ac3a6f964 Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Thu, 8 Aug 2024 10:46:37 -0500 Subject: [PATCH 61/82] revert: "feat: Use Default Span Name Format (#1039)" (#1107) This reverts commit f999e702430a55bc9f0fdf7b4748dc2f9b6341b8. --- .../instrumentation/action_view.rb | 2 +- .../action_view/instrumentation.rb | 38 +------------------ .../instrumentation/action_view/railtie.rb | 11 ++---- ...emetry-instrumentation-action_view.gemspec | 2 +- 4 files changed, 7 insertions(+), 46 deletions(-) diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb index ad42d0dec..ef341c0cd 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb @@ -9,7 +9,7 @@ module OpenTelemetry module Instrumentation - # (see OpenTelemetry::Instrumentation::ActionView::Instrumentation) + # Contains the OpenTelemetry instrumentation for the ActionView gem module ActionView end end diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb index bb9b60056..9087d4475 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb @@ -7,42 +7,7 @@ module OpenTelemetry module Instrumentation module ActionView - # The {OpenTelemetry::Instrumentation::ActionView::Instrumentation} class contains logic to detect and install the ActionView instrumentation - # - # Installation and configuration of this instrumentation is done within the - # {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry/SDK#configure-instance_method OpenTelemetry::SDK#configure} - # block, calling {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry%2FSDK%2FConfigurator:use use()} - # or {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry%2FSDK%2FConfigurator:use_all use_all()}. - # - # ## Configuration keys and options - # - # ### `:disallowed_notification_payload_keys` - # - # Specifies an array of keys that should be excluded from the notification payload as span attributes. - # - # ### `:notification_payload_transform` - # - # - `proc` **default** `nil` - # - # Specifies custom proc used to extract span attributes form the notification payload. - # Use this to rename keys, extract nested values, or perform any other custom logic. - # - # ### `:legacy_span_names` - # - # - `boolean` **default** `false` - # - # Specifies whether spans names should use the legacy format where the subscription was reverse ordered and white space separated. (Ex. `action_view render_template`) - # If set to `true`, the span name will match the name of the notification itself. (Ex. `render_template.action_view`) - # - # @example An explicit default configuration - # OpenTelemetry::SDK.configure do |c| - # c.use_all({ - # 'OpenTelemetry::Instrumentation::ActionView' => { - # disallowed_notification_payload_keys: [], - # legacy_span_names: true, - # }, - # }) - # end + # The Instrumentation class contains logic to detect and install the ActionView instrumentation class Instrumentation < OpenTelemetry::Instrumentation::Base MINIMUM_VERSION = Gem::Version.new('6.1.0') install do |_config| @@ -59,7 +24,6 @@ class Instrumentation < OpenTelemetry::Instrumentation::Base option :disallowed_notification_payload_keys, default: [], validate: :array option :notification_payload_transform, default: nil, validate: :callable - option :legacy_span_names, default: false, validate: :boolean private diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb index 2c2bf381a..276af1106 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb @@ -19,16 +19,13 @@ class Railtie < ::Rails::Railtie config.after_initialize do ::OpenTelemetry::Instrumentation::ActiveSupport::Instrumentation.instance.install({}) - instance = ::OpenTelemetry::Instrumentation::ActionView::Instrumentation.instance - span_name_formatter = instance.config[:legacy_span_names] ? ::OpenTelemetry::Instrumentation::ActiveSupport::LEGACY_NAME_FORMATTER : nil - SUBSCRIPTIONS.each do |subscription_name| + config = ActionView::Instrumentation.instance.config ::OpenTelemetry::Instrumentation::ActiveSupport.subscribe( - instance.tracer, + ActionView::Instrumentation.instance.tracer, subscription_name, - instance.config[:notification_payload_transform], - instance.config[:disallowed_notification_payload_keys], - span_name_formatter: span_name_formatter + config[:notification_payload_transform], + config[:disallowed_notification_payload_keys] ) end end diff --git a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec index 825106243..27bd8239f 100644 --- a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec +++ b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec @@ -26,7 +26,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-instrumentation-active_support', '~> 0.6' + spec.add_dependency 'opentelemetry-instrumentation-active_support', '~> 0.1' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' From 19c86ca72ae338fab29311c8a6fdcdac4410e636 Mon Sep 17 00:00:00 2001 From: Robb Kidd Date: Thu, 8 Aug 2024 14:35:47 -0400 Subject: [PATCH 62/82] fix(pg): update versions to be tested (includes drop support for pg 1.2) (#1108) * include pg 1.4 in Appraisals * drop pg-1.2 from tests * pg 1.2.x does not work under Ruby >= 3.0. * We currently support and test only Ruby >= 3.0. --- instrumentation/pg/Appraisals | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/instrumentation/pg/Appraisals b/instrumentation/pg/Appraisals index 4dc9af1c2..41840b368 100644 --- a/instrumentation/pg/Appraisals +++ b/instrumentation/pg/Appraisals @@ -1,15 +1,13 @@ # frozen_string_literal: true -# 1.2.3 appears to be the most popular version at RubyGems.org -appraise 'pg-1.2' do - gem 'pg', '~> 1.2.3' -end - -# 1.3.0 significantly changed connecting and the handling of connection strings appraise 'pg-1.3' do gem 'pg', '~> 1.3.5' end +appraise 'pg-1.4' do + gem 'pg', '~> 1.4.5' +end + appraise 'pg-latest' do gem 'pg' end From 3584cfae1c2944c0343abfa67035fe4280ccee07 Mon Sep 17 00:00:00 2001 From: Robb Kidd Date: Thu, 8 Aug 2024 15:20:07 -0400 Subject: [PATCH 63/82] ci: fix ignored errors within appraisal loop (#1103) The existing loop over appraisals for a gem is swallowing any error exits returned by commands within the loop. Resolves #1097. The specific error mentioned in that issue for failure to bundle install pg 1.2 was fixed in #1108. This change fixes the appraisal loop. Fix appraisal loop swallowing errors: * add an explicit exit to the appraisal loop if any command in the chain fails so that the CI step also fails Fix other errors that were being swallowed: * add a workaround for GEM_HOME file permission problems during bundle install * introduced to GitHub runner images sometime early July 2024 * bound which version of Ruby the gruf gem tests are run against * its gemspec includes upper bounds on Ruby versions which cause bundler install to fail under newer Rubies --- .github/actions/test_gem/action.yml | 9 ++++++++- instrumentation/gruf/Appraisals | 20 ++++++++++++++------ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/.github/actions/test_gem/action.yml b/.github/actions/test_gem/action.yml index 401c30102..7b429a72a 100644 --- a/.github/actions/test_gem/action.yml +++ b/.github/actions/test_gem/action.yml @@ -82,6 +82,13 @@ runs: ruby-version: "${{ inputs.ruby }}" bundler: "latest" working-directory: "${{ steps.setup.outputs.gem_dir }}" + # Perms workaround. See https://github.com/actions/runner-images/issues/10215 + - name: Fix GEM_HOME permissions on GitHub Actions Runner + if: "${{ steps.setup.outputs.appraisals == 'true' }}" + shell: bash + run: | + # 🛠️😭 Fix GEM_HOME permissions 😭🛠️ + chmod -R o-w $(gem env home) - name: Install dependencies and generate appraisals if: "${{ steps.setup.outputs.appraisals == 'true' }}" shell: bash @@ -100,7 +107,7 @@ runs: echo "::group::🔎 Appraising ${i}" BUNDLE_GEMFILE=gemfiles/${i}.gemfile bundle install --quiet --jobs=3 --retry=4 && \ BUNDLE_GEMFILE=gemfiles/${i}.gemfile bundle show && \ - BUNDLE_GEMFILE=gemfiles/${i}.gemfile bundle exec rake test + BUNDLE_GEMFILE=gemfiles/${i}.gemfile bundle exec rake test || exit echo "::endgroup::" done else diff --git a/instrumentation/gruf/Appraisals b/instrumentation/gruf/Appraisals index c07e47bb9..1ad02a912 100644 --- a/instrumentation/gruf/Appraisals +++ b/instrumentation/gruf/Appraisals @@ -4,14 +4,22 @@ # # SPDX-License-Identifier: Apache-2.0 -appraise 'gruf-2.17' do - gem 'gruf', '~> 2.17.0' +if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.3') + appraise 'gruf-2.17' do + gem 'gruf', '~> 2.17.0' + end + + appraise 'gruf-2.18' do + gem 'gruf', '~> 2.18.0' + end end -appraise 'gruf-2.18' do - gem 'gruf', '~> 2.18.0' +if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.4') + appraise 'gruf-2.19' do + gem 'gruf', '~> 2.19.0' + end end -appraise 'gruf-2.19' do - gem 'gruf', '~> 2.19.0' +appraise 'gruf-latest' do + gem 'gruf' end From f944d78847084658251d6754c814066fe35f3f51 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 9 Aug 2024 15:40:35 -0700 Subject: [PATCH 64/82] chore: update rubocop requirement from ~> 1.64.0 to ~> 1.65.1 (#1101) Updates the requirements on [rubocop](https://github.com/rubocop/rubocop) to permit the latest version. - [Release notes](https://github.com/rubocop/rubocop/releases) - [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md) - [Commits](https://github.com/rubocop/rubocop/compare/v1.64.0...v1.65.1) --- updated-dependencies: - dependency-name: rubocop dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> --- Gemfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Gemfile b/Gemfile index bbd1188ad..93039be61 100644 --- a/Gemfile +++ b/Gemfile @@ -7,5 +7,5 @@ source 'https://rubygems.org' gem 'rake', '~> 13.0' -gem 'rubocop', '~> 1.64.0' +gem 'rubocop', '~> 1.65.1' gem 'rubocop-performance', '~> 1.21.0' From a9e6e1a898f89ac6574a85f3f64429fbf4b457db Mon Sep 17 00:00:00 2001 From: "Ben Sheldon [he/him]" Date: Mon, 12 Aug 2024 09:27:45 -0700 Subject: [PATCH 65/82] fix: Use Active Support Lazy Load Hooks to avoid prematurely initializing ActiveRecord::Base and ActiveJob::Base (#1104) Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> --- .../active_job/instrumentation.rb | 7 +++- .../active_record/instrumentation.rb | 40 +++++++++---------- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/instrumentation.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/instrumentation.rb index d9c6063c5..d4f5dfe3c 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/instrumentation.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/instrumentation.rb @@ -63,14 +63,17 @@ def gem_version end def require_dependencies + require 'active_support/lazy_load_hooks' require_relative 'patches/base' require_relative 'handlers' end def patch_activejob - ::ActiveJob::Base.prepend(Patches::Base) unless ::ActiveJob::Base <= Patches::Base - Handlers.subscribe + + ActiveSupport.on_load(:active_job) do + ::ActiveJob::Base.prepend(Patches::Base) unless ::ActiveJob::Base <= Patches::Base + end end end end diff --git a/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/instrumentation.rb b/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/instrumentation.rb index e0d319704..1de788ab0 100644 --- a/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/instrumentation.rb +++ b/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/instrumentation.rb @@ -13,7 +13,7 @@ class Instrumentation < OpenTelemetry::Instrumentation::Base install do |_config| require_dependencies - patch + patch_activerecord end present do @@ -30,27 +30,8 @@ def gem_version ::ActiveRecord.version end - def patch - # The original approach taken here was to patch each individual module of interest. - # However the patches are applied too late in some applications and as a result the - # Active Record models will not have the instrumentation patches applied. - # Prepending the ActiveRecord::Base class is more consistent in applying - # the patches regardless of initialization order. - # - # Modules to prepend to ActiveRecord::Base are still grouped by the source - # module that they are defined in. - # Example: Patches::PersistenceClassMethods refers to https://github.com/rails/rails/blob/v6.1.0/activerecord/lib/active_record/persistence.rb#L10 - ::ActiveRecord::Base.prepend(Patches::Querying) - ::ActiveRecord::Base.prepend(Patches::Persistence) - ::ActiveRecord::Base.prepend(Patches::PersistenceClassMethods) - ::ActiveRecord::Base.prepend(Patches::PersistenceInsertClassMethods) - ::ActiveRecord::Base.prepend(Patches::TransactionsClassMethods) - ::ActiveRecord::Base.prepend(Patches::Validations) - - ::ActiveRecord::Relation.prepend(Patches::RelationPersistence) - end - def require_dependencies + require 'active_support/lazy_load_hooks' require_relative 'patches/querying' require_relative 'patches/persistence' require_relative 'patches/persistence_class_methods' @@ -59,6 +40,23 @@ def require_dependencies require_relative 'patches/validations' require_relative 'patches/relation_persistence' end + + def patch_activerecord + ActiveSupport.on_load(:active_record) do + # Modules to prepend to ActiveRecord::Base are grouped by the source + # module that they are defined in as they are included into ActiveRecord::Base + # Example: Patches::PersistenceClassMethods refers to https://github.com/rails/rails/blob/v6.1.0/activerecord/lib/active_record/persistence.rb#L10 + # which is included into ActiveRecord::Base in https://github.com/rails/rails/blob/914caca2d31bd753f47f9168f2a375921d9e91cc/activerecord/lib/active_record/base.rb#L283 + ::ActiveRecord::Base.prepend(Patches::Querying) + ::ActiveRecord::Base.prepend(Patches::Persistence) + ::ActiveRecord::Base.prepend(Patches::PersistenceClassMethods) + ::ActiveRecord::Base.prepend(Patches::PersistenceInsertClassMethods) + ::ActiveRecord::Base.prepend(Patches::TransactionsClassMethods) + ::ActiveRecord::Base.prepend(Patches::Validations) + + ::ActiveRecord::Relation.prepend(Patches::RelationPersistence) + end + end end end end From c7569f50e4c2aee9d58e761997b3c0a3f908cb31 Mon Sep 17 00:00:00 2001 From: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> Date: Mon, 12 Aug 2024 13:51:39 -0700 Subject: [PATCH 66/82] test: Update Appraisals for Rails 7.2 (#1112) * chore: Add Appraisals for Rails 7.2 * chore: Add ruby version conditions Rails 7.2.0 requires Ruby 3.1. We test on Ruby 3.0. Prevent running the 7.2 tests on that version. * chore: Restrain pg and que to use Rails < 7.2.0 There is also a bottom constraint of Rails (or Rails-related gems) 6.1.0 to prevent cases where Rails 3.2.0 was installed instead. * chore: Adjust pg activerecord to bottom limit of 6.1 The bundle would install activerecord 3.2 without this constraint. --- instrumentation/action_mailer/Appraisals | 6 ++++++ instrumentation/action_pack/Appraisals | 6 ++++++ instrumentation/action_view/Appraisals | 6 ++++++ instrumentation/active_record/Appraisals | 6 ++++++ instrumentation/active_support/Appraisals | 6 ++++++ instrumentation/pg/opentelemetry-instrumentation-pg.gemspec | 2 +- instrumentation/que/Gemfile | 2 +- instrumentation/rails/Appraisals | 6 ++++++ 8 files changed, 38 insertions(+), 2 deletions(-) diff --git a/instrumentation/action_mailer/Appraisals b/instrumentation/action_mailer/Appraisals index 018ce75b2..e6c48d017 100644 --- a/instrumentation/action_mailer/Appraisals +++ b/instrumentation/action_mailer/Appraisals @@ -15,3 +15,9 @@ end appraise 'rails-7.1' do gem 'rails', '~> 7.1.0' end + +if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.1.0') + appraise 'rails-7.2' do + gem 'rails', '~> 7.2.0' + end +end diff --git a/instrumentation/action_pack/Appraisals b/instrumentation/action_pack/Appraisals index 018ce75b2..e6c48d017 100644 --- a/instrumentation/action_pack/Appraisals +++ b/instrumentation/action_pack/Appraisals @@ -15,3 +15,9 @@ end appraise 'rails-7.1' do gem 'rails', '~> 7.1.0' end + +if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.1.0') + appraise 'rails-7.2' do + gem 'rails', '~> 7.2.0' + end +end diff --git a/instrumentation/action_view/Appraisals b/instrumentation/action_view/Appraisals index 018ce75b2..e6c48d017 100644 --- a/instrumentation/action_view/Appraisals +++ b/instrumentation/action_view/Appraisals @@ -15,3 +15,9 @@ end appraise 'rails-7.1' do gem 'rails', '~> 7.1.0' end + +if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.1.0') + appraise 'rails-7.2' do + gem 'rails', '~> 7.2.0' + end +end diff --git a/instrumentation/active_record/Appraisals b/instrumentation/active_record/Appraisals index 36f3effee..36f641b64 100644 --- a/instrumentation/active_record/Appraisals +++ b/instrumentation/active_record/Appraisals @@ -15,3 +15,9 @@ end appraise 'activerecord-7.1' do gem 'activerecord', '~> 7.1.0' end + +if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.1.0') + appraise 'activerecord-7.2' do + gem 'activerecord', '~> 7.2.0' + end +end diff --git a/instrumentation/active_support/Appraisals b/instrumentation/active_support/Appraisals index 086c10ee9..ef832823b 100644 --- a/instrumentation/active_support/Appraisals +++ b/instrumentation/active_support/Appraisals @@ -15,3 +15,9 @@ end appraise 'activesupport-7.1' do gem 'activesupport', '~> 7.1.0' end + +if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.1.0') + appraise 'activesupport-7.2' do + gem 'activesupport', '~> 7.2.0' + end +end diff --git a/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec b/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec index e193ee246..36fbec863 100644 --- a/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec +++ b/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec @@ -29,7 +29,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-helpers-sql-obfuscation' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' - spec.add_development_dependency 'activerecord' + spec.add_development_dependency 'activerecord', '> 6.1.0' spec.add_development_dependency 'appraisal', '~> 2.5' spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' diff --git a/instrumentation/que/Gemfile b/instrumentation/que/Gemfile index 46bfbfb01..af89399b5 100644 --- a/instrumentation/que/Gemfile +++ b/instrumentation/que/Gemfile @@ -9,7 +9,7 @@ source 'https://rubygems.org' gemspec group :test do - gem 'activerecord' + gem 'activerecord', '< 7.2.0', '> 6.1.0' gem 'pg' gem 'opentelemetry-helpers-sql-obfuscation', path: '../../helpers/sql-obfuscation' gem 'opentelemetry-instrumentation-base', path: '../base' diff --git a/instrumentation/rails/Appraisals b/instrumentation/rails/Appraisals index 018ce75b2..e6c48d017 100644 --- a/instrumentation/rails/Appraisals +++ b/instrumentation/rails/Appraisals @@ -15,3 +15,9 @@ end appraise 'rails-7.1' do gem 'rails', '~> 7.1.0' end + +if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('3.1.0') + appraise 'rails-7.2' do + gem 'rails', '~> 7.2.0' + end +end From cac6b47df3eb4463be86684ab70a348e89849d36 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 13 Aug 2024 15:44:47 +0000 Subject: [PATCH 67/82] chore: bump ruby/setup-ruby from 1.187.0 to 1.190.0 (#1092) * chore: bump ruby/setup-ruby from 1.187.0 to 1.190.0 Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.187.0 to 1.190.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](https://github.com/ruby/setup-ruby/compare/v1.187.0...v1.190.0) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * ci: Update test_gem/action.yml --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> --- .github/actions/test_gem/action.yml | 4 ++-- .github/workflows/installation-tests.yml | 2 +- .github/workflows/release-hook-on-closed.yml | 2 +- .github/workflows/release-hook-on-push.yml | 2 +- .github/workflows/release-perform.yml | 2 +- .github/workflows/release-please.yaml | 2 +- .github/workflows/release-request-weekly.yml | 2 +- .github/workflows/release-request.yml | 2 +- .github/workflows/release-retry.yml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/actions/test_gem/action.yml b/.github/actions/test_gem/action.yml index 7b429a72a..f9b08822e 100644 --- a/.github/actions/test_gem/action.yml +++ b/.github/actions/test_gem/action.yml @@ -66,7 +66,7 @@ runs: # ...but not for appraisals, sadly. - name: Install Ruby ${{ inputs.ruby }} with dependencies if: "${{ steps.setup.outputs.appraisals == 'false' }}" - uses: ruby/setup-ruby@v1.187.0 + uses: ruby/setup-ruby@v1.190.0 with: ruby-version: "${{ inputs.ruby }}" working-directory: "${{ steps.setup.outputs.gem_dir }}" @@ -77,7 +77,7 @@ runs: # If we're using appraisals, do it all manually. - name: Install Ruby ${{ inputs.ruby }} without dependencies if: "${{ steps.setup.outputs.appraisals == 'true' }}" - uses: ruby/setup-ruby@v1.187.0 + uses: ruby/setup-ruby@v1.190.0 with: ruby-version: "${{ inputs.ruby }}" bundler: "latest" diff --git a/.github/workflows/installation-tests.yml b/.github/workflows/installation-tests.yml index ad904e520..374e0b358 100644 --- a/.github/workflows/installation-tests.yml +++ b/.github/workflows/installation-tests.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@v4 # ATTENTION: Dependabot does not know how to update shared actions file. # If you see it update setup-ruby here also update it as part of actions/test_gem/action.yml - - uses: ruby/setup-ruby@v1.187.0 + - uses: ruby/setup-ruby@v1.190.0 with: ruby-version: ${{ matrix.ruby-version }} - name: "Install Latest Gem Versions on ${{ matrix.ruby-version }}" diff --git a/.github/workflows/release-hook-on-closed.yml b/.github/workflows/release-hook-on-closed.yml index 9986cbde3..520ace6ce 100644 --- a/.github/workflows/release-hook-on-closed.yml +++ b/.github/workflows/release-hook-on-closed.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.187.0 + uses: ruby/setup-ruby@v1.190.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-hook-on-push.yml b/.github/workflows/release-hook-on-push.yml index 8ec044817..04266970a 100644 --- a/.github/workflows/release-hook-on-push.yml +++ b/.github/workflows/release-hook-on-push.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.187.0 + uses: ruby/setup-ruby@v1.190.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-perform.yml b/.github/workflows/release-perform.yml index eae34b71b..d3e94376e 100644 --- a/.github/workflows/release-perform.yml +++ b/.github/workflows/release-perform.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.187.0 + uses: ruby/setup-ruby@v1.190.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index e8b37c831..adc80a791 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -50,7 +50,7 @@ jobs: chmod 0600 $HOME/.gem/credentials printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials - - uses: ruby/setup-ruby@v1.187.0 + - uses: ruby/setup-ruby@v1.190.0 with: ruby-version: "3.0" bundler: latest diff --git a/.github/workflows/release-request-weekly.yml b/.github/workflows/release-request-weekly.yml index eff163c83..3e9b5e0ad 100644 --- a/.github/workflows/release-request-weekly.yml +++ b/.github/workflows/release-request-weekly.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.187.0 + uses: ruby/setup-ruby@v1.190.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-request.yml b/.github/workflows/release-request.yml index 7497818fe..e3f932b26 100644 --- a/.github/workflows/release-request.yml +++ b/.github/workflows/release-request.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.187.0 + uses: ruby/setup-ruby@v1.190.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-retry.yml b/.github/workflows/release-retry.yml index 62235e070..6d0088535 100644 --- a/.github/workflows/release-retry.yml +++ b/.github/workflows/release-retry.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.187.0 + uses: ruby/setup-ruby@v1.190.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo From 70fdad63cda07b976b0d0ce9c9566d5a93d1b978 Mon Sep 17 00:00:00 2001 From: Hannah Ramadan <76922290+hannahramadan@users.noreply.github.com> Date: Wed, 14 Aug 2024 14:31:18 -0700 Subject: [PATCH 68/82] feat: collect pg db.collection_name attribute (#1087) The db.collection.name attribute is conditionally required for Database spans. This PR uses regex to detect the collection name (called table name in PG) and report it as the db.collection.name attribute for PG instrumentation. --------- Co-authored-by: Ariel Valentin Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> Co-authored-by: Robb Kidd --- instrumentation/pg/example/pg.rb | 11 +++- .../instrumentation/pg/patches/connection.rb | 18 +++++-- .../pg/test/fixtures/sql_table_name.json | 54 +++++++++++++++++++ .../pg/instrumentation_test.rb | 38 +++++++++++-- 4 files changed, 113 insertions(+), 8 deletions(-) create mode 100644 instrumentation/pg/test/fixtures/sql_table_name.json diff --git a/instrumentation/pg/example/pg.rb b/instrumentation/pg/example/pg.rb index a2b923223..4318d5fc3 100644 --- a/instrumentation/pg/example/pg.rb +++ b/instrumentation/pg/example/pg.rb @@ -18,8 +18,17 @@ password: ENV.fetch('TEST_POSTGRES_PASSWORD') { 'postgres' } ) -# Spans will be printed to your terminal when this statement executes: +# Create a table +conn.exec('CREATE TABLE test_table (id SERIAL PRIMARY KEY, name VARCHAR(50), age INT)') +# Insert data into the table +conn.exec("INSERT INTO test_table (name, age) VALUES ('Peter', 60), ('Paul', 25), ('Mary', 45)") + +# Spans will be printed to your terminal when these statements execute: conn.exec('SELECT 1 AS a, 2 AS b, NULL AS c').each_row { |r| puts r.inspect } +conn.exec('SELECT * FROM test_table').each_row { |r| puts r.inspect } + +# Drop table when done querying +conn.exec('DROP TABLE test_table') # You can use parameterized queries like so: # conn.exec_params('SELECT $1 AS a, $2 AS b, $3 AS c', [1, 2, nil]).each_row { |r| puts r.inspect } diff --git a/instrumentation/pg/lib/opentelemetry/instrumentation/pg/patches/connection.rb b/instrumentation/pg/lib/opentelemetry/instrumentation/pg/patches/connection.rb index 631610acf..98814950b 100644 --- a/instrumentation/pg/lib/opentelemetry/instrumentation/pg/patches/connection.rb +++ b/instrumentation/pg/lib/opentelemetry/instrumentation/pg/patches/connection.rb @@ -14,6 +14,9 @@ module PG module Patches # Module to prepend to PG::Connection for instrumentation module Connection # rubocop:disable Metrics/ModuleLength + # Capture the first word (including letters, digits, underscores, & '.', ) that follows common table commands + TABLE_NAME = /\b(?:FROM|INTO|UPDATE|CREATE\s+TABLE(?:\s+IF\s+NOT\s+EXISTS)?|DROP\s+TABLE(?:\s+IF\s+EXISTS)?|ALTER\s+TABLE(?:\s+IF\s+EXISTS)?)\s+([\w\.]+)/i + PG::Constants::EXEC_ISH_METHODS.each do |method| define_method method do |*args, &block| span_name, attrs = span_attrs(:query, *args) @@ -86,11 +89,13 @@ def lru_cache # module size limit! We can't win here unless we want to start # abstracting things into a million pieces. def span_attrs(kind, *args) + text = args[0] + if kind == :query - operation = extract_operation(args[0]) - sql = obfuscate_sql(args[0]).to_s + operation = extract_operation(text) + sql = obfuscate_sql(text).to_s else - statement_name = args[0] + statement_name = text if kind == :prepare sql = obfuscate_sql(args[1]).to_s @@ -104,6 +109,7 @@ def span_attrs(kind, *args) attrs = { 'db.operation' => validated_operation(operation), 'db.postgresql.prepared_statement_name' => statement_name } attrs['db.statement'] = sql unless config[:db_statement] == :omit + attrs['db.collection.name'] = collection_name(text) attrs.merge!(OpenTelemetry::Instrumentation::PG.attributes) attrs.compact! @@ -125,6 +131,12 @@ def validated_operation(operation) operation if PG::Constants::SQL_COMMANDS.include?(operation) end + def collection_name(text) + text.scan(TABLE_NAME).flatten[0] + rescue StandardError + nil + end + def client_attributes attributes = { 'db.system' => 'postgresql', diff --git a/instrumentation/pg/test/fixtures/sql_table_name.json b/instrumentation/pg/test/fixtures/sql_table_name.json new file mode 100644 index 000000000..eacd9571f --- /dev/null +++ b/instrumentation/pg/test/fixtures/sql_table_name.json @@ -0,0 +1,54 @@ +[ + { + "name": "from", + "sql": "SELECT * FROM test_table" + }, + { + "name": "select_count_from", + "sql": "SELECT COUNT(*) FROM test_table WHERE condition" + }, + { + "name": "from_with_subquery", + "sql": "SELECT * FROM (SELECT * FROM test_table) AS table_alias" + }, + { + "name": "insert_into", + "sql": "INSERT INTO test_table (column1, column2) VALUES (value1, value2)" + }, + { + "name": "update", + "sql": "UPDATE test_table SET column1 = value1 WHERE condition" + }, + { + "name": "delete_from", + "sql": "DELETE FROM test_table WHERE condition" + }, + { + "name": "create_table", + "sql": "CREATE TABLE test_table (column1 datatype, column2 datatype)" + }, + { + "name": "create_table_if_not_exists", + "sql": "CREATE TABLE IF NOT EXISTS test_table (column1 datatype, column2 datatype)" + }, + { + "name": "alter_table", + "sql": "ALTER TABLE test_table ADD column_name datatype" + }, + { + "name": "drop_table", + "sql": "DROP TABLE test_table" + }, + { + "name": "drop_table_if_exists", + "sql": "DROP TABLE IF EXISTS test_table" + }, + { + "name": "insert_into", + "sql": "INSERT INTO test_table values('', 'a''b c',0, 1 , 'd''e f''s h')" + }, + { + "name": "from_with_join", + "sql": "SELECT columns FROM test_table JOIN table2 ON test_table.column = table2.column" + } + ] \ No newline at end of file diff --git a/instrumentation/pg/test/opentelemetry/instrumentation/pg/instrumentation_test.rb b/instrumentation/pg/test/opentelemetry/instrumentation/pg/instrumentation_test.rb index b7e97b9ac..95f470014 100644 --- a/instrumentation/pg/test/opentelemetry/instrumentation/pg/instrumentation_test.rb +++ b/instrumentation/pg/test/opentelemetry/instrumentation/pg/instrumentation_test.rb @@ -12,13 +12,16 @@ require_relative '../../../../lib/opentelemetry/instrumentation/pg/patches/connection' # This test suite requires a running postgres container and dedicated test container -# To run tests: +# To run tests locally: # 1. Build the opentelemetry/opentelemetry-ruby-contrib image # - docker-compose build # 2. Bundle install # - docker-compose run ex-instrumentation-pg-test bundle install -# 3. Run test suite -# - docker-compose run ex-instrumentation-pg-test bundle exec rake test +# 3. Install the dependencies for each Appraisal (https://github.com/thoughtbot/appraisal) +# - docker-compose run ex-instrumentation-pg-test bundle exec appraisal install +# 4. Run test suite with Appraisal +# - docker-compose run ex-instrumentation-pg-test bundle exec appraisal rake test + describe OpenTelemetry::Instrumentation::PG::Instrumentation do let(:instrumentation) { OpenTelemetry::Instrumentation::PG::Instrumentation.instance } let(:exporter) { EXPORTER } @@ -33,6 +36,7 @@ after do # Force re-install of instrumentation instrumentation.instance_variable_set(:@installed, false) + client&.close end describe 'tracing' do @@ -76,7 +80,8 @@ 'db.operation' => 'PREPARE FOR SELECT 1', 'db.postgresql.prepared_statement_name' => 'bar', 'net.peer.ip' => '192.168.0.1', - 'peer.service' => 'example:custom' + 'peer.service' => 'example:custom', + 'db.collection.name' => 'test_table' } end @@ -263,6 +268,13 @@ assert(!span.events.first.attributes['exception.stacktrace'].nil?) end + it 'extracts table name' do + client.query('CREATE TABLE test_table (personid int, name VARCHAR(50))') + + _(span.attributes['db.collection.name']).must_equal 'test_table' + client.query('DROP TABLE test_table') # Drop table to avoid conflicts + end + describe 'when db_statement is obfuscate' do let(:config) { { db_statement: :obfuscate } } @@ -361,5 +373,23 @@ _(span.attributes['net.peer.port']).must_equal port.to_i if PG.const_defined?(:DEF_PORT) end end + + describe '#connection_name' do + def self.load_fixture + data = File.read("#{Dir.pwd}/test/fixtures/sql_table_name.json") + JSON.parse(data) + end + + load_fixture.each do |test_case| + name = test_case['name'] + query = test_case['sql'] + + it "returns the table name for #{name}" do + table_name = client.send(:collection_name, query) + + expect(table_name).must_equal('test_table') + end + end + end end unless ENV['OMIT_SERVICES'] end From f5f8375e662e52f98c276a1523a78f3b3d912f11 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 15 Aug 2024 12:00:21 -0700 Subject: [PATCH 69/82] release: Release 6 gems (#1117) * release: Release 6 gems * opentelemetry-instrumentation-active_job 0.7.5 (was 0.7.4) * opentelemetry-instrumentation-base 0.22.6 (was 0.22.5) * opentelemetry-instrumentation-active_record 0.7.3 (was 0.7.2) * opentelemetry-instrumentation-pg 0.28.0 (was 0.27.4) * opentelemetry-instrumentation-all 0.63.0 (was 0.62.1) * opentelemetry-instrumentation-rails 0.31.2 (was 0.31.1) * chore: Update CHANGELOG.md Move entry for base gem to top of file * chore: Update opentelemetry-instrumentation-all.gemspec Bump pg version to 0.28.0 * chore: Bump all to 0.63.0 pg has a minor version bump, so all should match * Update instrumentation/all/CHANGELOG.md Co-authored-by: Ariel Valentin --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> Co-authored-by: Kayla Reopelle Co-authored-by: Ariel Valentin --- instrumentation/active_job/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/active_job/version.rb | 2 +- instrumentation/active_record/CHANGELOG.md | 4 ++++ .../opentelemetry/instrumentation/active_record/version.rb | 2 +- instrumentation/all/CHANGELOG.md | 4 ++++ .../all/lib/opentelemetry/instrumentation/all/version.rb | 2 +- .../all/opentelemetry-instrumentation-all.gemspec | 2 +- instrumentation/base/CHANGELOG.md | 4 ++++ .../base/lib/opentelemetry/instrumentation/version.rb | 2 +- instrumentation/pg/CHANGELOG.md | 5 +++++ .../pg/lib/opentelemetry/instrumentation/pg/version.rb | 2 +- instrumentation/rails/CHANGELOG.md | 4 ++++ .../rails/lib/opentelemetry/instrumentation/rails/version.rb | 2 +- 13 files changed, 32 insertions(+), 7 deletions(-) diff --git a/instrumentation/active_job/CHANGELOG.md b/instrumentation/active_job/CHANGELOG.md index 24527ef69..276995b5b 100644 --- a/instrumentation/active_job/CHANGELOG.md +++ b/instrumentation/active_job/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-active_job +### v0.7.5 / 2024-08-15 + +* FIXED: Use Active Support Lazy Load Hooks to avoid prematurely initializing ActiveRecord::Base and ActiveJob::Base + ### v0.7.4 / 2024-07-30 * FIXED: Honour dynamic changes in configuration diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb index 6e4bf337f..8e2b1f78a 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveJob - VERSION = '0.7.4' + VERSION = '0.7.5' end end end diff --git a/instrumentation/active_record/CHANGELOG.md b/instrumentation/active_record/CHANGELOG.md index 54f1c74ca..26b94de13 100644 --- a/instrumentation/active_record/CHANGELOG.md +++ b/instrumentation/active_record/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-active_record +### v0.7.3 / 2024-08-15 + +* FIXED: Use Active Support Lazy Load Hooks to avoid prematurely initializing ActiveRecord::Base and ActiveJob::Base + ### v0.7.2 / 2024-04-30 * FIXED: Resolve active_record testing issue diff --git a/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/version.rb b/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/version.rb index 7d198a293..6acb0339a 100644 --- a/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/version.rb +++ b/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveRecord - VERSION = '0.7.2' + VERSION = '0.7.3' end end end diff --git a/instrumentation/all/CHANGELOG.md b/instrumentation/all/CHANGELOG.md index 5e2406e19..cf2807c72 100644 --- a/instrumentation/all/CHANGELOG.md +++ b/instrumentation/all/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-all +### v0.63.0 / 2024-08-15 + +* ADDED: Collect pg db.collection_name attribute + ### v0.62.1 / 2024-07-23 * DOCS: Add cspell to CI diff --git a/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb b/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb index 59e25a754..bffff61dd 100644 --- a/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb +++ b/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module All - VERSION = '0.62.1' + VERSION = '0.63.0' end end end diff --git a/instrumentation/all/opentelemetry-instrumentation-all.gemspec b/instrumentation/all/opentelemetry-instrumentation-all.gemspec index 8873f4bb8..14e4870f6 100644 --- a/instrumentation/all/opentelemetry-instrumentation-all.gemspec +++ b/instrumentation/all/opentelemetry-instrumentation-all.gemspec @@ -46,7 +46,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-instrumentation-mongo', '~> 0.22.1' spec.add_dependency 'opentelemetry-instrumentation-mysql2', '~> 0.27.0' spec.add_dependency 'opentelemetry-instrumentation-net_http', '~> 0.22.1' - spec.add_dependency 'opentelemetry-instrumentation-pg', '~> 0.27.0' + spec.add_dependency 'opentelemetry-instrumentation-pg', '~> 0.28.0' spec.add_dependency 'opentelemetry-instrumentation-que', '~> 0.8.0' spec.add_dependency 'opentelemetry-instrumentation-racecar', '~> 0.3.0' spec.add_dependency 'opentelemetry-instrumentation-rack', '~> 0.24.0' diff --git a/instrumentation/base/CHANGELOG.md b/instrumentation/base/CHANGELOG.md index c689d8f9e..ff759973d 100644 --- a/instrumentation/base/CHANGELOG.md +++ b/instrumentation/base/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-base +### v0.22.6 / 2024-08-15 + +* FIXED: Fix the issue of wrong log msg + ### v0.22.5 / 2024-07-23 * DOCS: Add cspell to CI diff --git a/instrumentation/base/lib/opentelemetry/instrumentation/version.rb b/instrumentation/base/lib/opentelemetry/instrumentation/version.rb index ac1fdd520..6d32c74e9 100644 --- a/instrumentation/base/lib/opentelemetry/instrumentation/version.rb +++ b/instrumentation/base/lib/opentelemetry/instrumentation/version.rb @@ -6,6 +6,6 @@ module OpenTelemetry module Instrumentation - VERSION = '0.22.5' + VERSION = '0.22.6' end end diff --git a/instrumentation/pg/CHANGELOG.md b/instrumentation/pg/CHANGELOG.md index af01546b4..36a25243a 100644 --- a/instrumentation/pg/CHANGELOG.md +++ b/instrumentation/pg/CHANGELOG.md @@ -1,5 +1,10 @@ # Release History: opentelemetry-instrumentation-pg +### v0.28.0 / 2024-08-15 + +* ADDED: Collect pg db.collection_name attribute +* FIXED: Update versions to be tested (includes drop support for pg 1.2) + ### v0.27.4 / 2024-07-23 * DOCS: Add cspell to CI diff --git a/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb b/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb index 5039c662a..4496dc1aa 100644 --- a/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb +++ b/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module PG - VERSION = '0.27.4' + VERSION = '0.28.0' end end end diff --git a/instrumentation/rails/CHANGELOG.md b/instrumentation/rails/CHANGELOG.md index 64e6a286a..f3a462ef8 100644 --- a/instrumentation/rails/CHANGELOG.md +++ b/instrumentation/rails/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-rails +### v0.31.2 / 2024-08-15 + +* FIXED: Rails instrumentation should load ActiveJob instrumentation + ### v0.31.1 / 2024-07-23 * DOCS: Add cspell to CI diff --git a/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb b/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb index 9a76e9151..490c785c4 100644 --- a/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb +++ b/instrumentation/rails/lib/opentelemetry/instrumentation/rails/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Rails - VERSION = '0.31.1' + VERSION = '0.31.2' end end end From c51c0eed894429d33a4de3b8a981a84971c19611 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lavoie?= Date: Thu, 15 Aug 2024 17:07:40 -0400 Subject: [PATCH 70/82] fix(active-job): Prefix ::ActiveSupport when installing the instrumentation (#1120) fix(active-job) Prefix ::ActiveSupport when installing the instrumentation Otherwise, `ActiveSupport` ends up resolving to `OpenTelemetry::Instrumentation::ActiveSupport`. `OpenTelemetry::Instrumentation::Registry#install_instrumentation` rescues the exception, so the prepend ends up being (somewhat) silently dropped. --- .../opentelemetry/instrumentation/active_job/instrumentation.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/instrumentation.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/instrumentation.rb index d4f5dfe3c..a5b9d22e0 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/instrumentation.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/instrumentation.rb @@ -71,7 +71,7 @@ def require_dependencies def patch_activejob Handlers.subscribe - ActiveSupport.on_load(:active_job) do + ::ActiveSupport.on_load(:active_job) do ::ActiveJob::Base.prepend(Patches::Base) unless ::ActiveJob::Base <= Patches::Base end end From efaa4040b6e84989efd241d0f988276c83c7a762 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 15 Aug 2024 17:39:54 -0500 Subject: [PATCH 71/82] release: Release 2 gems (#1122) --- instrumentation/action_view/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/action_view/version.rb | 2 +- instrumentation/active_job/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/active_job/version.rb | 2 +- 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/instrumentation/action_view/CHANGELOG.md b/instrumentation/action_view/CHANGELOG.md index 0574ba216..c89ba736d 100644 --- a/instrumentation/action_view/CHANGELOG.md +++ b/instrumentation/action_view/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-action_view +### v0.7.2 / 2024-08-15 + +* (No Significant Changes) + ### v0.7.1 / 2024-07-23 * DOCS: Add cspell to CI diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb index 2b41d3fbe..6ac0d5cc4 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActionView - VERSION = '0.7.1' + VERSION = '0.7.2' end end end diff --git a/instrumentation/active_job/CHANGELOG.md b/instrumentation/active_job/CHANGELOG.md index 276995b5b..46e2e74cb 100644 --- a/instrumentation/active_job/CHANGELOG.md +++ b/instrumentation/active_job/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-active_job +### v0.7.6 / 2024-08-15 + +* FIXED: Prefix ::ActiveSupport when installing the instrumentation + ### v0.7.5 / 2024-08-15 * FIXED: Use Active Support Lazy Load Hooks to avoid prematurely initializing ActiveRecord::Base and ActiveJob::Base diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb index 8e2b1f78a..1386eccdf 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveJob - VERSION = '0.7.5' + VERSION = '0.7.6' end end end From 9ce7e3932293259e6c82cbf008722b57e4e7b41c Mon Sep 17 00:00:00 2001 From: Ryan Harkins Date: Mon, 19 Aug 2024 12:54:10 +0100 Subject: [PATCH 72/82] fix: use ActiveSupport from top-level namespace (#1123) --- .../instrumentation/active_record/instrumentation.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/instrumentation.rb b/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/instrumentation.rb index 1de788ab0..6d76b91f4 100644 --- a/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/instrumentation.rb +++ b/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/instrumentation.rb @@ -42,7 +42,7 @@ def require_dependencies end def patch_activerecord - ActiveSupport.on_load(:active_record) do + ::ActiveSupport.on_load(:active_record) do # Modules to prepend to ActiveRecord::Base are grouped by the source # module that they are defined in as they are included into ActiveRecord::Base # Example: Patches::PersistenceClassMethods refers to https://github.com/rails/rails/blob/v6.1.0/activerecord/lib/active_record/persistence.rb#L10 From a5648173c25576c4a2d5083958eb5ff0e7092d45 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 19 Aug 2024 07:49:25 -0500 Subject: [PATCH 73/82] release: Release opentelemetry-instrumentation-active_record 0.7.4 (was 0.7.3) (#1125) --- instrumentation/active_record/CHANGELOG.md | 4 ++++ .../opentelemetry/instrumentation/active_record/version.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/instrumentation/active_record/CHANGELOG.md b/instrumentation/active_record/CHANGELOG.md index 26b94de13..e78491912 100644 --- a/instrumentation/active_record/CHANGELOG.md +++ b/instrumentation/active_record/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-active_record +### v0.7.4 / 2024-08-19 + +* FIXED: Use ActiveSupport from top-level namespace (NoMethodError on_load) + ### v0.7.3 / 2024-08-15 * FIXED: Use Active Support Lazy Load Hooks to avoid prematurely initializing ActiveRecord::Base and ActiveJob::Base diff --git a/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/version.rb b/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/version.rb index 6acb0339a..8726c55e3 100644 --- a/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/version.rb +++ b/instrumentation/active_record/lib/opentelemetry/instrumentation/active_record/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveRecord - VERSION = '0.7.3' + VERSION = '0.7.4' end end end From 9927df8012a51a34653c36f373a2e8d9b19ed7cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lavoie?= Date: Wed, 21 Aug 2024 12:00:10 -0400 Subject: [PATCH 74/82] fix(active-job): Propagate context between enqueue and perform (#1132) --- .../active_job/handlers/enqueue.rb | 3 +- .../active_job/handlers/perform.rb | 2 +- .../active_job/handlers/perform_test.rb | 70 +++++++++++++++++++ 3 files changed, 73 insertions(+), 2 deletions(-) diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb index 23dab795e..9350516ff 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/enqueue.rb @@ -23,8 +23,9 @@ def start_span(name, _id, payload) job = payload.fetch(:job) span_name = span_name(job, EVENT_NAME) span = tracer.start_span(span_name, kind: :producer, attributes: @mapper.call(payload)) + token = OpenTelemetry::Context.attach(OpenTelemetry::Trace.context_with_span(span)) OpenTelemetry.propagation.inject(job.__otel_headers) # This must be transmitted over the wire - { span: span, ctx_token: OpenTelemetry::Context.attach(OpenTelemetry::Trace.context_with_span(span)) } + { span: span, ctx_token: token } end end end diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb index b617b8ee2..88141f754 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/handlers/perform.rb @@ -27,7 +27,7 @@ def start_span(name, _id, payload) # TODO: Refactor into a propagation strategy propagation_style = @config[:propagation_style] if propagation_style == :child - span = tracer.start_span(span_name, kind: :consumer, attributes: @mapper.call(payload)) + span = tracer.start_span(span_name, with_parent: parent_context, kind: :consumer, attributes: @mapper.call(payload)) else span_context = OpenTelemetry::Trace.current_span(parent_context).context links = [OpenTelemetry::Trace::Link.new(span_context)] if span_context.valid? && propagation_style == :link diff --git a/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/perform_test.rb b/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/perform_test.rb index 3227bf62f..de886c206 100644 --- a/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/perform_test.rb +++ b/instrumentation/active_job/test/opentelemetry/instrumentation/active_job/handlers/perform_test.rb @@ -176,6 +176,18 @@ _(process_span.links[0].span_context.span_id).must_equal(publish_span.span_id) end + it 'does not interfere with an outer span' do + instrumentation.tracer.in_span('outer span') do + TestJob.perform_later + end + + _(publish_span.trace_id).wont_equal(process_span.trace_id) + + _(process_span.total_recorded_links).must_equal(1) + _(process_span.links[0].span_context.trace_id).must_equal(publish_span.trace_id) + _(process_span.links[0].span_context.span_id).must_equal(publish_span.span_id) + end + it 'propagates baggage' do ctx = OpenTelemetry::Baggage.set_value('testing_baggage', 'it_worked') OpenTelemetry::Context.with_current(ctx) do @@ -190,6 +202,30 @@ _(process_span.attributes['success']).must_equal(true) end + + describe 'with an async queue adapter' do + before do + begin + ActiveJob::Base.queue_adapter.shutdown + rescue StandardError + nil + end + + singleton_class.include ActiveJob::TestHelper + ActiveJob::Base.queue_adapter = :test + end + + it 'creates span links in separate traces' do + TestJob.perform_later + perform_enqueued_jobs + + _(publish_span.trace_id).wont_equal(process_span.trace_id) + + _(process_span.total_recorded_links).must_equal(1) + _(process_span.links[0].span_context.trace_id).must_equal(publish_span.trace_id) + _(process_span.links[0].span_context.span_id).must_equal(publish_span.span_id) + end + end end describe 'when configured to do parent/child spans' do @@ -204,6 +240,17 @@ _(process_span.parent_span_id).must_equal(publish_span.span_id) end + it 'does not interfere with an outer span' do + instrumentation.tracer.in_span('outer span') do + TestJob.perform_later + end + + _(process_span.total_recorded_links).must_equal(0) + + _(publish_span.trace_id).must_equal(process_span.trace_id) + _(process_span.parent_span_id).must_equal(publish_span.span_id) + end + it 'propagates baggage' do ctx = OpenTelemetry::Baggage.set_value('testing_baggage', 'it_worked') OpenTelemetry::Context.with_current(ctx) do @@ -215,6 +262,29 @@ _(process_span.parent_span_id).must_equal(publish_span.span_id) _(process_span.attributes['success']).must_equal(true) end + + describe 'with an async queue adapter' do + before do + begin + ActiveJob::Base.queue_adapter.shutdown + rescue StandardError + nil + end + + singleton_class.include ActiveJob::TestHelper + ActiveJob::Base.queue_adapter = :test + end + + it 'creates a parent/child relationship' do + TestJob.perform_later + perform_enqueued_jobs + + _(process_span.total_recorded_links).must_equal(0) + + _(publish_span.trace_id).must_equal(process_span.trace_id) + _(process_span.parent_span_id).must_equal(publish_span.span_id) + end + end end describe 'when explicitly configure for no propagation' do From e15f2d93a15cfacb712188e2811f52ba401f1e80 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 21 Aug 2024 12:46:44 -0500 Subject: [PATCH 75/82] release: Release opentelemetry-instrumentation-active_job 0.7.7 (was 0.7.6) (#1133) * release: Release opentelemetry-instrumentation-active_job 0.7.7 (was 0.7.6) * ci: Force --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Ariel Valentin --- instrumentation/active_job/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/active_job/version.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/instrumentation/active_job/CHANGELOG.md b/instrumentation/active_job/CHANGELOG.md index 46e2e74cb..6bda338c4 100644 --- a/instrumentation/active_job/CHANGELOG.md +++ b/instrumentation/active_job/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-active_job +### v0.7.7 / 2024-08-21 + +* FIXED: Propagate context between enqueue and perform + ### v0.7.6 / 2024-08-15 * FIXED: Prefix ::ActiveSupport when installing the instrumentation diff --git a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb index 1386eccdf..587255970 100644 --- a/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb +++ b/instrumentation/active_job/lib/opentelemetry/instrumentation/active_job/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActiveJob - VERSION = '0.7.6' + VERSION = '0.7.7' end end end From 5a7bde5cc4bec99823da3d00476deb7d53570c39 Mon Sep 17 00:00:00 2001 From: Ariel Valentin Date: Thu, 22 Aug 2024 13:14:54 -0500 Subject: [PATCH 76/82] fix: ActionView Support Legacy Formats (#1134) --- .../instrumentation/action_view.rb | 2 +- .../action_view/instrumentation.rb | 38 ++++++++++++++++++- .../instrumentation/action_view/railtie.rb | 11 ++++-- ...emetry-instrumentation-action_view.gemspec | 2 +- 4 files changed, 46 insertions(+), 7 deletions(-) diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb index ef341c0cd..ad42d0dec 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view.rb @@ -9,7 +9,7 @@ module OpenTelemetry module Instrumentation - # Contains the OpenTelemetry instrumentation for the ActionView gem + # (see OpenTelemetry::Instrumentation::ActionView::Instrumentation) module ActionView end end diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb index 9087d4475..bb9b60056 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/instrumentation.rb @@ -7,7 +7,42 @@ module OpenTelemetry module Instrumentation module ActionView - # The Instrumentation class contains logic to detect and install the ActionView instrumentation + # The {OpenTelemetry::Instrumentation::ActionView::Instrumentation} class contains logic to detect and install the ActionView instrumentation + # + # Installation and configuration of this instrumentation is done within the + # {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry/SDK#configure-instance_method OpenTelemetry::SDK#configure} + # block, calling {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry%2FSDK%2FConfigurator:use use()} + # or {https://www.rubydoc.info/gems/opentelemetry-sdk/OpenTelemetry%2FSDK%2FConfigurator:use_all use_all()}. + # + # ## Configuration keys and options + # + # ### `:disallowed_notification_payload_keys` + # + # Specifies an array of keys that should be excluded from the notification payload as span attributes. + # + # ### `:notification_payload_transform` + # + # - `proc` **default** `nil` + # + # Specifies custom proc used to extract span attributes form the notification payload. + # Use this to rename keys, extract nested values, or perform any other custom logic. + # + # ### `:legacy_span_names` + # + # - `boolean` **default** `false` + # + # Specifies whether spans names should use the legacy format where the subscription was reverse ordered and white space separated. (Ex. `action_view render_template`) + # If set to `true`, the span name will match the name of the notification itself. (Ex. `render_template.action_view`) + # + # @example An explicit default configuration + # OpenTelemetry::SDK.configure do |c| + # c.use_all({ + # 'OpenTelemetry::Instrumentation::ActionView' => { + # disallowed_notification_payload_keys: [], + # legacy_span_names: true, + # }, + # }) + # end class Instrumentation < OpenTelemetry::Instrumentation::Base MINIMUM_VERSION = Gem::Version.new('6.1.0') install do |_config| @@ -24,6 +59,7 @@ class Instrumentation < OpenTelemetry::Instrumentation::Base option :disallowed_notification_payload_keys, default: [], validate: :array option :notification_payload_transform, default: nil, validate: :callable + option :legacy_span_names, default: false, validate: :boolean private diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb index 276af1106..2c2bf381a 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/railtie.rb @@ -19,13 +19,16 @@ class Railtie < ::Rails::Railtie config.after_initialize do ::OpenTelemetry::Instrumentation::ActiveSupport::Instrumentation.instance.install({}) + instance = ::OpenTelemetry::Instrumentation::ActionView::Instrumentation.instance + span_name_formatter = instance.config[:legacy_span_names] ? ::OpenTelemetry::Instrumentation::ActiveSupport::LEGACY_NAME_FORMATTER : nil + SUBSCRIPTIONS.each do |subscription_name| - config = ActionView::Instrumentation.instance.config ::OpenTelemetry::Instrumentation::ActiveSupport.subscribe( - ActionView::Instrumentation.instance.tracer, + instance.tracer, subscription_name, - config[:notification_payload_transform], - config[:disallowed_notification_payload_keys] + instance.config[:notification_payload_transform], + instance.config[:disallowed_notification_payload_keys], + span_name_formatter: span_name_formatter ) end end diff --git a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec index 27bd8239f..825106243 100644 --- a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec +++ b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec @@ -26,7 +26,7 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.0' spec.add_dependency 'opentelemetry-api', '~> 1.0' - spec.add_dependency 'opentelemetry-instrumentation-active_support', '~> 0.1' + spec.add_dependency 'opentelemetry-instrumentation-active_support', '~> 0.6' spec.add_dependency 'opentelemetry-instrumentation-base', '~> 0.22.1' spec.add_development_dependency 'appraisal', '~> 2.5' From f817d6b941d0e43215c59e7d5c90f778ad824ee1 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 25 Aug 2024 12:41:56 -0500 Subject: [PATCH 77/82] release: Release opentelemetry-instrumentation-action_view 0.7.3 (was 0.7.2) (#1135) --- instrumentation/action_view/CHANGELOG.md | 4 ++++ .../lib/opentelemetry/instrumentation/action_view/version.rb | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/instrumentation/action_view/CHANGELOG.md b/instrumentation/action_view/CHANGELOG.md index c89ba736d..0f625330a 100644 --- a/instrumentation/action_view/CHANGELOG.md +++ b/instrumentation/action_view/CHANGELOG.md @@ -1,5 +1,9 @@ # Release History: opentelemetry-instrumentation-action_view +### v0.7.3 / 2024-08-23 + +* FIXED: ActionView Support Legacy Formats + ### v0.7.2 / 2024-08-15 * (No Significant Changes) diff --git a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb index 6ac0d5cc4..9326fe3a1 100644 --- a/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb +++ b/instrumentation/action_view/lib/opentelemetry/instrumentation/action_view/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module ActionView - VERSION = '0.7.2' + VERSION = '0.7.3' end end end From dbe3e6aabb8616f7b0044bbcc92321641dcd039f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 6 Sep 2024 09:43:23 -0700 Subject: [PATCH 78/82] chore: bump ruby/setup-ruby from 1.190.0 to 1.191.0 (#1147) * chore: bump ruby/setup-ruby from 1.190.0 to 1.191.0 Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.190.0 to 1.191.0. - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](https://github.com/ruby/setup-ruby/compare/v1.190.0...v1.191.0) --- updated-dependencies: - dependency-name: ruby/setup-ruby dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] * chore: Bump setup-ruby in action.yml Upgrade from 1.190.0 to 1.191.0 --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Kayla Reopelle --- .github/actions/test_gem/action.yml | 4 ++-- .github/workflows/installation-tests.yml | 2 +- .github/workflows/release-hook-on-closed.yml | 2 +- .github/workflows/release-hook-on-push.yml | 2 +- .github/workflows/release-perform.yml | 2 +- .github/workflows/release-please.yaml | 2 +- .github/workflows/release-request-weekly.yml | 2 +- .github/workflows/release-request.yml | 2 +- .github/workflows/release-retry.yml | 2 +- 9 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/actions/test_gem/action.yml b/.github/actions/test_gem/action.yml index f9b08822e..25418da4c 100644 --- a/.github/actions/test_gem/action.yml +++ b/.github/actions/test_gem/action.yml @@ -66,7 +66,7 @@ runs: # ...but not for appraisals, sadly. - name: Install Ruby ${{ inputs.ruby }} with dependencies if: "${{ steps.setup.outputs.appraisals == 'false' }}" - uses: ruby/setup-ruby@v1.190.0 + uses: ruby/setup-ruby@v1.191.0 with: ruby-version: "${{ inputs.ruby }}" working-directory: "${{ steps.setup.outputs.gem_dir }}" @@ -77,7 +77,7 @@ runs: # If we're using appraisals, do it all manually. - name: Install Ruby ${{ inputs.ruby }} without dependencies if: "${{ steps.setup.outputs.appraisals == 'true' }}" - uses: ruby/setup-ruby@v1.190.0 + uses: ruby/setup-ruby@v1.191.0 with: ruby-version: "${{ inputs.ruby }}" bundler: "latest" diff --git a/.github/workflows/installation-tests.yml b/.github/workflows/installation-tests.yml index 374e0b358..e71acac29 100644 --- a/.github/workflows/installation-tests.yml +++ b/.github/workflows/installation-tests.yml @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@v4 # ATTENTION: Dependabot does not know how to update shared actions file. # If you see it update setup-ruby here also update it as part of actions/test_gem/action.yml - - uses: ruby/setup-ruby@v1.190.0 + - uses: ruby/setup-ruby@v1.191.0 with: ruby-version: ${{ matrix.ruby-version }} - name: "Install Latest Gem Versions on ${{ matrix.ruby-version }}" diff --git a/.github/workflows/release-hook-on-closed.yml b/.github/workflows/release-hook-on-closed.yml index 520ace6ce..ef5cb741e 100644 --- a/.github/workflows/release-hook-on-closed.yml +++ b/.github/workflows/release-hook-on-closed.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.190.0 + uses: ruby/setup-ruby@v1.191.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-hook-on-push.yml b/.github/workflows/release-hook-on-push.yml index 04266970a..bbe48deb2 100644 --- a/.github/workflows/release-hook-on-push.yml +++ b/.github/workflows/release-hook-on-push.yml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.190.0 + uses: ruby/setup-ruby@v1.191.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-perform.yml b/.github/workflows/release-perform.yml index d3e94376e..c4b13ca12 100644 --- a/.github/workflows/release-perform.yml +++ b/.github/workflows/release-perform.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.190.0 + uses: ruby/setup-ruby@v1.191.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-please.yaml b/.github/workflows/release-please.yaml index adc80a791..c8cfb286f 100644 --- a/.github/workflows/release-please.yaml +++ b/.github/workflows/release-please.yaml @@ -50,7 +50,7 @@ jobs: chmod 0600 $HOME/.gem/credentials printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials - - uses: ruby/setup-ruby@v1.190.0 + - uses: ruby/setup-ruby@v1.191.0 with: ruby-version: "3.0" bundler: latest diff --git a/.github/workflows/release-request-weekly.yml b/.github/workflows/release-request-weekly.yml index 3e9b5e0ad..6865df226 100644 --- a/.github/workflows/release-request-weekly.yml +++ b/.github/workflows/release-request-weekly.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.190.0 + uses: ruby/setup-ruby@v1.191.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-request.yml b/.github/workflows/release-request.yml index e3f932b26..d2b0c3ea5 100644 --- a/.github/workflows/release-request.yml +++ b/.github/workflows/release-request.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.190.0 + uses: ruby/setup-ruby@v1.191.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo diff --git a/.github/workflows/release-retry.yml b/.github/workflows/release-retry.yml index 6d0088535..626146815 100644 --- a/.github/workflows/release-retry.yml +++ b/.github/workflows/release-retry.yml @@ -19,7 +19,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Install Ruby ${{ env.ruby_version }} - uses: ruby/setup-ruby@v1.190.0 + uses: ruby/setup-ruby@v1.191.0 with: ruby-version: ${{ env.ruby_version }} - name: Checkout repo From 012b2c26e7c885e12dd93090051a7dd10170b134 Mon Sep 17 00:00:00 2001 From: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> Date: Tue, 10 Sep 2024 13:03:10 -0700 Subject: [PATCH 79/82] chore: Update Rubocop to 1.66.0 (#1151) * chore: Update Rubocop to 1.66.0 * chore: Fix Style/RedundantInterpolationUnfreeze --- .instrumentation_generator/templates/gemspec.tt | 2 +- Gemfile | 2 +- helpers/mysql/opentelemetry-helpers-mysql.gemspec | 2 +- .../opentelemetry-helpers-sql-obfuscation.gemspec | 2 +- helpers/sql-obfuscation/test/helpers/sql_obfuscation_test.rb | 2 +- .../opentelemetry-instrumentation-action_mailer.gemspec | 2 +- .../opentelemetry-instrumentation-action_pack.gemspec | 2 +- .../opentelemetry-instrumentation-action_view.gemspec | 2 +- .../active_job/opentelemetry-instrumentation-active_job.gemspec | 2 +- ...entelemetry-instrumentation-active_model_serializers.gemspec | 2 +- .../opentelemetry-instrumentation-active_record.gemspec | 2 +- .../opentelemetry-instrumentation-active_support.gemspec | 2 +- instrumentation/all/opentelemetry-instrumentation-all.gemspec | 2 +- .../aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec | 2 +- .../aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec | 2 +- instrumentation/base/opentelemetry-instrumentation-base.gemspec | 2 +- .../bunny/opentelemetry-instrumentation-bunny.gemspec | 2 +- .../opentelemetry-instrumentation-concurrent_ruby.gemspec | 2 +- .../dalli/opentelemetry-instrumentation-dalli.gemspec | 2 +- .../opentelemetry-instrumentation-delayed_job.gemspec | 2 +- .../ethon/opentelemetry-instrumentation-ethon.gemspec | 2 +- .../excon/opentelemetry-instrumentation-excon.gemspec | 2 +- .../faraday/opentelemetry-instrumentation-faraday.gemspec | 2 +- .../grape/opentelemetry-instrumentation-grape.gemspec | 2 +- .../graphql/opentelemetry-instrumentation-graphql.gemspec | 2 +- instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec | 2 +- instrumentation/http/opentelemetry-instrumentation-http.gemspec | 2 +- .../opentelemetry-instrumentation-http_client.gemspec | 2 +- .../httpx/opentelemetry-instrumentation-httpx.gemspec | 2 +- .../koala/opentelemetry-instrumentation-koala.gemspec | 2 +- instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec | 2 +- .../mongo/opentelemetry-instrumentation-mongo.gemspec | 2 +- .../mysql2/opentelemetry-instrumentation-mysql2.gemspec | 2 +- .../net_http/opentelemetry-instrumentation-net_http.gemspec | 2 +- instrumentation/pg/opentelemetry-instrumentation-pg.gemspec | 2 +- instrumentation/que/opentelemetry-instrumentation-que.gemspec | 2 +- .../racecar/opentelemetry-instrumentation-racecar.gemspec | 2 +- instrumentation/rack/opentelemetry-instrumentation-rack.gemspec | 2 +- .../rails/opentelemetry-instrumentation-rails.gemspec | 2 +- instrumentation/rake/opentelemetry-instrumentation-rake.gemspec | 2 +- .../rdkafka/opentelemetry-instrumentation-rdkafka.gemspec | 2 +- .../redis/opentelemetry-instrumentation-redis.gemspec | 2 +- .../resque/opentelemetry-instrumentation-resque.gemspec | 2 +- .../restclient/opentelemetry-instrumentation-restclient.gemspec | 2 +- .../rspec/opentelemetry-instrumentation-rspec.gemspec | 2 +- .../ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec | 2 +- .../sidekiq/opentelemetry-instrumentation-sidekiq.gemspec | 2 +- .../sinatra/opentelemetry-instrumentation-sinatra.gemspec | 2 +- .../trilogy/opentelemetry-instrumentation-trilogy.gemspec | 2 +- processor/baggage/opentelemetry-processor-baggage.gemspec | 2 +- propagator/ottrace/opentelemetry-propagator-ottrace.gemspec | 2 +- propagator/vitess/opentelemetry-propagator-vitess.gemspec | 2 +- propagator/xray/opentelemetry-propagator-xray.gemspec | 2 +- resources/azure/opentelemetry-resource-detector-azure.gemspec | 2 +- .../container/opentelemetry-resource-detector-container.gemspec | 2 +- ...pentelemetry-resource-detector-google_cloud_platform.gemspec | 2 +- 56 files changed, 56 insertions(+), 56 deletions(-) diff --git a/.instrumentation_generator/templates/gemspec.tt b/.instrumentation_generator/templates/gemspec.tt index 2692e7eac..fb51740b9 100644 --- a/.instrumentation_generator/templates/gemspec.tt +++ b/.instrumentation_generator/templates/gemspec.tt @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.19.1' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.7.6' diff --git a/Gemfile b/Gemfile index 93039be61..be94fd2e5 100644 --- a/Gemfile +++ b/Gemfile @@ -7,5 +7,5 @@ source 'https://rubygems.org' gem 'rake', '~> 13.0' -gem 'rubocop', '~> 1.65.1' +gem 'rubocop', '~> 1.66.0' gem 'rubocop-performance', '~> 1.21.0' diff --git a/helpers/mysql/opentelemetry-helpers-mysql.gemspec b/helpers/mysql/opentelemetry-helpers-mysql.gemspec index 38b977ea0..5cebc24d6 100644 --- a/helpers/mysql/opentelemetry-helpers-mysql.gemspec +++ b/helpers/mysql/opentelemetry-helpers-mysql.gemspec @@ -32,7 +32,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.21.0' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec b/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec index 65fc0902c..1ce168184 100644 --- a/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec +++ b/helpers/sql-obfuscation/opentelemetry-helpers-sql-obfuscation.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.21.0' spec.add_development_dependency 'yard', '~> 0.9' spec.add_development_dependency 'yard-doctest', '~> 0.1.6' diff --git a/helpers/sql-obfuscation/test/helpers/sql_obfuscation_test.rb b/helpers/sql-obfuscation/test/helpers/sql_obfuscation_test.rb index e340cbdb5..4d8aeec4a 100644 --- a/helpers/sql-obfuscation/test/helpers/sql_obfuscation_test.rb +++ b/helpers/sql-obfuscation/test/helpers/sql_obfuscation_test.rb @@ -65,7 +65,7 @@ def test_statement_with_emoji_encodes_utf_8_and_obfuscates FAILED_TO_OBFUSCATE_MESSAGE = 'Failed to obfuscate SQL query - quote characters remained after obfuscation' def build_failure_message(statement, dialect, acceptable_outputs, actual_output) - msg = +"Failed to obfuscate #{dialect} query correctly.\n" + msg = "Failed to obfuscate #{dialect} query correctly.\n" msg << "Input: #{statement}\n" if acceptable_outputs.size == 1 msg << "Expected: #{acceptable_outputs.first}\n" diff --git a/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec b/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec index 4d0b58dfe..2a00a1534 100644 --- a/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec +++ b/instrumentation/action_mailer/opentelemetry-instrumentation-action_mailer.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec b/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec index 2340f6cf3..27745ffac 100644 --- a/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec +++ b/instrumentation/action_pack/opentelemetry-instrumentation-action_pack.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rails', '>= 6.1' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec index 825106243..79685ab32 100644 --- a/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec +++ b/instrumentation/action_view/opentelemetry-instrumentation-action_view.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rails', '>= 6.1' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec b/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec index 66ad5abf9..974244bd7 100644 --- a/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec +++ b/instrumentation/active_job/opentelemetry-instrumentation-active_job.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec b/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec index dd76de1fa..315ab5e41 100644 --- a/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec +++ b/instrumentation/active_model_serializers/opentelemetry-instrumentation-active_model_serializers.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec b/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec index 7c383d4c3..29eeab35d 100644 --- a/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec +++ b/instrumentation/active_record/opentelemetry-instrumentation-active_record.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec b/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec index c19dcb32f..e692985f1 100644 --- a/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec +++ b/instrumentation/active_support/opentelemetry-instrumentation-active_support.gemspec @@ -39,7 +39,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rails', '>= 6.1' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/all/opentelemetry-instrumentation-all.gemspec b/instrumentation/all/opentelemetry-instrumentation-all.gemspec index 14e4870f6..7af795545 100644 --- a/instrumentation/all/opentelemetry-instrumentation-all.gemspec +++ b/instrumentation/all/opentelemetry-instrumentation-all.gemspec @@ -66,7 +66,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec b/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec index b9c927c34..79937f592 100644 --- a/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec +++ b/instrumentation/aws_lambda/opentelemetry-instrumentation-aws_lambda.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.19.1' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec b/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec index 01415e31c..0c84297d7 100644 --- a/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec +++ b/instrumentation/aws_sdk/opentelemetry-instrumentation-aws_sdk.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/base/opentelemetry-instrumentation-base.gemspec b/instrumentation/base/opentelemetry-instrumentation-base.gemspec index 081b8414a..97da5f64f 100644 --- a/instrumentation/base/opentelemetry-instrumentation-base.gemspec +++ b/instrumentation/base/opentelemetry-instrumentation-base.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec b/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec index 6651e5e47..9f94081f0 100644 --- a/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec +++ b/instrumentation/bunny/opentelemetry-instrumentation-bunny.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec b/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec index 5a6abf5fa..539887b96 100644 --- a/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec +++ b/instrumentation/concurrent_ruby/opentelemetry-instrumentation-concurrent_ruby.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec b/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec index cef6417d6..08405e804 100644 --- a/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec +++ b/instrumentation/dalli/opentelemetry-instrumentation-dalli.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec b/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec index 5a9f7c724..8007aec82 100644 --- a/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec +++ b/instrumentation/delayed_job/opentelemetry-instrumentation-delayed_job.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'sqlite3' diff --git a/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec b/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec index d1e5a80bb..b5b90f5d4 100644 --- a/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec +++ b/instrumentation/ethon/opentelemetry-instrumentation-ethon.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec b/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec index 8c6e67759..18c3f82ba 100644 --- a/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec +++ b/instrumentation/excon/opentelemetry-instrumentation-excon.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec b/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec index 660fdfc6d..f08ff6576 100644 --- a/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec +++ b/instrumentation/faraday/opentelemetry-instrumentation-faraday.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec b/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec index b3946273d..86306cddb 100644 --- a/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec +++ b/instrumentation/grape/opentelemetry-instrumentation-grape.gemspec @@ -38,7 +38,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rack-test' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec b/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec index 42a068d25..36aec82c3 100644 --- a/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec +++ b/instrumentation/graphql/opentelemetry-instrumentation-graphql.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec b/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec index d6a8d22d1..bff04dd3e 100644 --- a/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec +++ b/instrumentation/gruf/opentelemetry-instrumentation-gruf.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.0' spec.add_development_dependency 'opentelemetry-test-helpers' spec.add_development_dependency 'rake', '~> 12.3.3' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/http/opentelemetry-instrumentation-http.gemspec b/instrumentation/http/opentelemetry-instrumentation-http.gemspec index f7ceae25c..54069ff29 100644 --- a/instrumentation/http/opentelemetry-instrumentation-http.gemspec +++ b/instrumentation/http/opentelemetry-instrumentation-http.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec b/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec index 022070cde..98a0a1170 100644 --- a/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec +++ b/instrumentation/http_client/opentelemetry-instrumentation-http_client.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec b/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec index 5e1f1c04a..b2f48305a 100644 --- a/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec +++ b/instrumentation/httpx/opentelemetry-instrumentation-httpx.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec b/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec index 3659cdd5a..75d1d574e 100644 --- a/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec +++ b/instrumentation/koala/opentelemetry-instrumentation-koala.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec b/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec index 9b584530e..7a59efcaa 100644 --- a/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec +++ b/instrumentation/lmdb/opentelemetry-instrumentation-lmdb.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec b/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec index 08f463bb1..f981355e7 100644 --- a/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec +++ b/instrumentation/mongo/opentelemetry-instrumentation-mongo.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec b/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec index 148514d3c..8a3124f0f 100644 --- a/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec +++ b/instrumentation/mysql2/opentelemetry-instrumentation-mysql2.gemspec @@ -37,7 +37,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec b/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec index 0e4ebfaca..c0d4f4857 100644 --- a/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec +++ b/instrumentation/net_http/opentelemetry-instrumentation-net_http.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0.1' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec b/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec index 36fbec863..29feea416 100644 --- a/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec +++ b/instrumentation/pg/opentelemetry-instrumentation-pg.gemspec @@ -37,7 +37,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/que/opentelemetry-instrumentation-que.gemspec b/instrumentation/que/opentelemetry-instrumentation-que.gemspec index 3b0a0d39d..5fa8dfcfb 100644 --- a/instrumentation/que/opentelemetry-instrumentation-que.gemspec +++ b/instrumentation/que/opentelemetry-instrumentation-que.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec b/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec index b79e60360..ce4aceae2 100644 --- a/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec +++ b/instrumentation/racecar/opentelemetry-instrumentation-racecar.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec b/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec index 58484904d..7ecebeb6b 100644 --- a/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec +++ b/instrumentation/rack/opentelemetry-instrumentation-rack.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec b/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec index ed3428b1b..e8db79ecf 100644 --- a/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec +++ b/instrumentation/rails/opentelemetry-instrumentation-rails.gemspec @@ -41,7 +41,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rack-test', '~> 2.1.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec b/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec index 14a44994d..f6f8b709b 100644 --- a/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec +++ b/instrumentation/rake/opentelemetry-instrumentation-rake.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec b/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec index 59499e72d..e7b14e48a 100644 --- a/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec +++ b/instrumentation/rdkafka/opentelemetry-instrumentation-rdkafka.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec b/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec index 56c1a3a72..183a9d8e0 100644 --- a/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec +++ b/instrumentation/redis/opentelemetry-instrumentation-redis.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec b/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec index 5726ac107..1c6e8e5ab 100644 --- a/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec +++ b/instrumentation/resque/opentelemetry-instrumentation-resque.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec b/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec index 6ae709b1f..2b4823aac 100644 --- a/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec +++ b/instrumentation/restclient/opentelemetry-instrumentation-restclient.gemspec @@ -33,7 +33,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec b/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec index 5bf297ee1..6c4760d0c 100644 --- a/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec +++ b/instrumentation/rspec/opentelemetry-instrumentation-rspec.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec b/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec index cbb1225f5..a6572baa6 100644 --- a/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec +++ b/instrumentation/ruby_kafka/opentelemetry-instrumentation-ruby_kafka.gemspec @@ -34,7 +34,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec b/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec index acce77d2e..dc1939455 100644 --- a/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec +++ b/instrumentation/sidekiq/opentelemetry-instrumentation-sidekiq.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec b/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec index aba1324d3..4a1543785 100644 --- a/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec +++ b/instrumentation/sinatra/opentelemetry-instrumentation-sinatra.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3' spec.add_development_dependency 'rack-test', '~> 2.1' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'webmock', '~> 3.19' diff --git a/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec b/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec index 0d380eac0..788ab8469 100644 --- a/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec +++ b/instrumentation/trilogy/opentelemetry-instrumentation-trilogy.gemspec @@ -41,7 +41,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 13.0' spec.add_development_dependency 'rspec-mocks' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/processor/baggage/opentelemetry-processor-baggage.gemspec b/processor/baggage/opentelemetry-processor-baggage.gemspec index dc34fd861..18ef334bb 100644 --- a/processor/baggage/opentelemetry-processor-baggage.gemspec +++ b/processor/baggage/opentelemetry-processor-baggage.gemspec @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.1' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec b/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec index 2ae6921c1..d00f57231 100644 --- a/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec +++ b/propagator/ottrace/opentelemetry-propagator-ottrace.gemspec @@ -28,7 +28,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/vitess/opentelemetry-propagator-vitess.gemspec b/propagator/vitess/opentelemetry-propagator-vitess.gemspec index 3b22600a8..74d87c68f 100644 --- a/propagator/vitess/opentelemetry-propagator-vitess.gemspec +++ b/propagator/vitess/opentelemetry-propagator-vitess.gemspec @@ -29,7 +29,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/xray/opentelemetry-propagator-xray.gemspec b/propagator/xray/opentelemetry-propagator-xray.gemspec index 2f5cf5009..c4c056fc8 100644 --- a/propagator/xray/opentelemetry-propagator-xray.gemspec +++ b/propagator/xray/opentelemetry-propagator-xray.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.22.0' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/resources/azure/opentelemetry-resource-detector-azure.gemspec b/resources/azure/opentelemetry-resource-detector-azure.gemspec index 2a5da4255..8c92fea3c 100644 --- a/resources/azure/opentelemetry-resource-detector-azure.gemspec +++ b/resources/azure/opentelemetry-resource-detector-azure.gemspec @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'webmock', '~> 3.23.0' diff --git a/resources/container/opentelemetry-resource-detector-container.gemspec b/resources/container/opentelemetry-resource-detector-container.gemspec index a5724c958..caf0fc56c 100644 --- a/resources/container/opentelemetry-resource-detector-container.gemspec +++ b/resources/container/opentelemetry-resource-detector-container.gemspec @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec b/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec index 5ec3b7e83..1603b54fe 100644 --- a/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec +++ b/resources/google_cloud_platform/opentelemetry-resource-detector-google_cloud_platform.gemspec @@ -31,7 +31,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'bundler', '~> 2.4' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'rake', '~> 13.0' - spec.add_development_dependency 'rubocop', '~> 1.65.0' + spec.add_development_dependency 'rubocop', '~> 1.66.0' spec.add_development_dependency 'rubocop-performance', '~> 1.20' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'webmock', '~> 3.23.0' From 8e778ba768f8fb43779efadaa4223e300aff34ab Mon Sep 17 00:00:00 2001 From: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> Date: Tue, 10 Sep 2024 13:25:47 -0700 Subject: [PATCH 80/82] fix!: Return message when sql is over the obfuscation limit (#1149) Previously, when a SQL query with a prepended comment exceeded the obfuscation limit, the query would be truncated without obfuscation. Now, when the when the obfuscation limit is hit, a message is returned and obfuscation is not attempted. --- helpers/sql-obfuscation/README.md | 2 +- .../lib/opentelemetry/helpers/sql_obfuscation.rb | 15 +++------------ .../test/helpers/sql_obfuscation_test.rb | 12 ++---------- .../mysql2/instrumentation_test.rb | 15 ++------------- .../instrumentation/pg/instrumentation_test.rb | 15 ++------------- .../trilogy/instrumentation_test.rb | 15 ++------------- 6 files changed, 12 insertions(+), 62 deletions(-) diff --git a/helpers/sql-obfuscation/README.md b/helpers/sql-obfuscation/README.md index 1e86bacdf..6055f8fe8 100644 --- a/helpers/sql-obfuscation/README.md +++ b/helpers/sql-obfuscation/README.md @@ -25,7 +25,7 @@ end Make sure the `Instrumentation` class for your gem contains configuration options for: -- `:obfuscation_limit`: the length at which the obfuscated SQL string will be truncated. +- `:obfuscation_limit`: the length at which the SQL string will not be obfuscated Example: `option :obfuscation_limit, default: 2000, validate: :integer` If you want to add support for a new adapter, update the following constants to include keys for your adapter: diff --git a/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation.rb b/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation.rb index da0394b42..debb2b7e5 100644 --- a/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation.rb +++ b/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation.rb @@ -94,7 +94,7 @@ def generate_regex(dialect) # This is a SQL obfuscation utility intended for use in database adapter instrumentation. # # @param sql [String] The SQL to obfuscate. - # @param obfuscation_limit [optional Integer] The maximum length of an obfuscated sql statement. + # @param obfuscation_limit [optional Integer] the length at which the SQL string will not be obfuscated # @param adapter [optional Symbol] the type of database adapter calling the method. `:default`, `:mysql` and `:postgres` are supported. # @return [String] The SQL query string where the values are replaced with "?". When the sql statement exceeds the obufscation limit # the first matched pair from the SQL statement will be returned, with an appended truncation message. If trunaction is unsuccessful, @@ -102,6 +102,8 @@ def generate_regex(dialect) # # @api public def obfuscate_sql(sql, obfuscation_limit: 2000, adapter: :default) + return "SQL not obfuscated, query exceeds #{obfuscation_limit} characters" if sql.size > obfuscation_limit + regex = case adapter when :mysql MYSQL_COMPONENTS_REGEX @@ -115,7 +117,6 @@ def obfuscate_sql(sql, obfuscation_limit: 2000, adapter: :default) # https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/160 # https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/345 sql = OpenTelemetry::Common::Utilities.utf8_encode(sql, binary: true) - return truncate_statement(sql, regex, obfuscation_limit) if sql.size > obfuscation_limit sql = sql.gsub(regex, PLACEHOLDER) return 'Failed to obfuscate SQL query - quote characters remained after obfuscation' if CLEANUP_REGEX[adapter].match(sql) @@ -124,16 +125,6 @@ def obfuscate_sql(sql, obfuscation_limit: 2000, adapter: :default) rescue StandardError => e OpenTelemetry.handle_error(message: 'Failed to obfuscate SQL', exception: e) end - - # @api private - def truncate_statement(sql, regex, limit) - first_match_index = sql.index(regex) - truncation_message = "SQL truncated (> #{limit} characters)" - return truncation_message unless first_match_index - - truncated_sql = sql[..first_match_index - 1] - "#{truncated_sql}...\n#{truncation_message}" - end end end end diff --git a/helpers/sql-obfuscation/test/helpers/sql_obfuscation_test.rb b/helpers/sql-obfuscation/test/helpers/sql_obfuscation_test.rb index 4d8aeec4a..39229d47f 100644 --- a/helpers/sql-obfuscation/test/helpers/sql_obfuscation_test.rb +++ b/helpers/sql-obfuscation/test/helpers/sql_obfuscation_test.rb @@ -18,17 +18,9 @@ def test_named_arg_defaults_obfuscates assert_equal(expected, result) end - def test_obfuscation_limit_truncates_query_after_first_match + def test_obfuscation_returns_message_when_limit_is_reached sql = "SELECT * from users where users.id = 1 and users.email = 'test@test.com'" - expected = "SELECT * from users where users.id = ...\nSQL truncated (> 42 characters)" - result = OpenTelemetry::Helpers::SqlObfuscation.obfuscate_sql(sql, obfuscation_limit: 42) - - assert_equal(expected, result) - end - - def test_obfuscation_limit_truncates_when_query_not_encoded_with_utf8 - sql = "SELECT * from 😄 where users.id = 1 and users.😄 = 'test@test.com'" - expected = "SELECT * from where users.id = ...\nSQL truncated (> 42 characters)" + expected = 'SQL not obfuscated, query exceeds 42 characters' result = OpenTelemetry::Helpers::SqlObfuscation.obfuscate_sql(sql, obfuscation_limit: 42) assert_equal(expected, result) diff --git a/instrumentation/mysql2/test/opentelemetry/instrumentation/mysql2/instrumentation_test.rb b/instrumentation/mysql2/test/opentelemetry/instrumentation/mysql2/instrumentation_test.rb index 319e138d8..405b714ee 100644 --- a/instrumentation/mysql2/test/opentelemetry/instrumentation/mysql2/instrumentation_test.rb +++ b/instrumentation/mysql2/test/opentelemetry/instrumentation/mysql2/instrumentation_test.rb @@ -236,20 +236,9 @@ describe 'with obfuscation_limit' do let(:config) { { db_statement: :obfuscate, obfuscation_limit: 10 } } - it 'truncates SQL using config limit' do + it 'returns a message when the limit is reached' do sql = "SELECT * from users where users.id = 1 and users.email = 'test@test.com'" - obfuscated_sql = "SELECT * from users where users.id = ...\nSQL truncated (> 10 characters)" - expect do - client.query(sql) - end.must_raise Mysql2::Error - - _(span.attributes['db.statement']).must_equal obfuscated_sql - end - - it 'handles regex non-matches' do - sql = 'ALTER TABLE my_table DISABLE TRIGGER ALL;' - obfuscated_sql = 'SQL truncated (> 10 characters)' - + obfuscated_sql = 'SQL not obfuscated, query exceeds 10 characters' expect do client.query(sql) end.must_raise Mysql2::Error diff --git a/instrumentation/pg/test/opentelemetry/instrumentation/pg/instrumentation_test.rb b/instrumentation/pg/test/opentelemetry/instrumentation/pg/instrumentation_test.rb index 95f470014..cc50728e5 100644 --- a/instrumentation/pg/test/opentelemetry/instrumentation/pg/instrumentation_test.rb +++ b/instrumentation/pg/test/opentelemetry/instrumentation/pg/instrumentation_test.rb @@ -297,20 +297,9 @@ describe 'with obfuscation_limit' do let(:config) { { db_statement: :obfuscate, obfuscation_limit: 10 } } - it 'truncates SQL using config limit' do + it 'returns a message when the limit is reached' do sql = "SELECT * from users where users.id = 1 and users.email = 'test@test.com'" - obfuscated_sql = "SELECT * from users where users.id = ...\nSQL truncated (> 10 characters)" - expect do - client.exec(sql) - end.must_raise PG::UndefinedTable - - _(span.attributes['db.statement']).must_equal obfuscated_sql - end - - it 'handles regex non-matches' do - sql = 'ALTER TABLE my_table DISABLE TRIGGER ALL;' - obfuscated_sql = 'SQL truncated (> 10 characters)' - + obfuscated_sql = 'SQL not obfuscated, query exceeds 10 characters' expect do client.exec(sql) end.must_raise PG::UndefinedTable diff --git a/instrumentation/trilogy/test/opentelemetry/instrumentation/trilogy/instrumentation_test.rb b/instrumentation/trilogy/test/opentelemetry/instrumentation/trilogy/instrumentation_test.rb index 9b1b7b845..350ee5f83 100644 --- a/instrumentation/trilogy/test/opentelemetry/instrumentation/trilogy/instrumentation_test.rb +++ b/instrumentation/trilogy/test/opentelemetry/instrumentation/trilogy/instrumentation_test.rb @@ -323,20 +323,9 @@ describe 'with obfuscation_limit' do let(:config) { { db_statement: :obfuscate, obfuscation_limit: 10 } } - it 'truncates SQL using config limit' do + it 'returns a message when the limit is reached' do sql = "SELECT * from users where users.id = 1 and users.email = 'test@test.com'" - obfuscated_sql = "SELECT * from users where users.id = ...\nSQL truncated (> 10 characters)" - expect do - client.query(sql) - end.must_raise Trilogy::Error - - _(span.attributes['db.statement']).must_equal obfuscated_sql - end - - it 'handles regex non-matches' do - sql = 'ALTER TABLE my_table DISABLE TRIGGER ALL;' - obfuscated_sql = 'SQL truncated (> 10 characters)' - + obfuscated_sql = 'SQL not obfuscated, query exceeds 10 characters' expect do client.query(sql) end.must_raise Trilogy::Error From 1f6659c35a4aa0b67541d6d46a003988b502b28f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 12:52:38 -0700 Subject: [PATCH 81/82] chore: bump DavidAnson/markdownlint-cli2-action from 16 to 17 (#1163) Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/davidanson/markdownlint-cli2-action) from 16 to 17. - [Release notes](https://github.com/davidanson/markdownlint-cli2-action/releases) - [Commits](https://github.com/davidanson/markdownlint-cli2-action/compare/v16...v17) --- updated-dependencies: - dependency-name: DavidAnson/markdownlint-cli2-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci-markdownlint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-markdownlint.yml b/.github/workflows/ci-markdownlint.yml index f91609fdb..646484a9b 100644 --- a/.github/workflows/ci-markdownlint.yml +++ b/.github/workflows/ci-markdownlint.yml @@ -11,7 +11,7 @@ jobs: # equivalent cli: markdownlint-cli2 "**/*.md" "#**/CHANGELOG.md" --config .markdownlint.json - name: "Markdown Lint Check" - uses: DavidAnson/markdownlint-cli2-action@v16 + uses: DavidAnson/markdownlint-cli2-action@v17 with: fix: false globs: | From a174d03213057f0a86ecf23251f2c9e072c0ec6e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 12 Sep 2024 15:43:07 -0700 Subject: [PATCH 82/82] release: Release 5 gems (#1162) * release: Release 4 gems * opentelemetry-helpers-sql-obfuscation 0.2.0 (was 0.1.1) * opentelemetry-instrumentation-trilogy 0.60.0 (was 0.59.3) * opentelemetry-instrumentation-mysql2 0.28.0 (was 0.27.2) * opentelemetry-instrumentation-pg 0.29.0 (was 0.28.0) * chore: Update changelogs, bump instrumentation-all * chore: Fix spelling --------- Co-authored-by: OpenTelemetry Bot <107717825+opentelemetrybot@users.noreply.github.com> Co-authored-by: Kayla Reopelle Co-authored-by: Kayla Reopelle <87386821+kaylareopelle@users.noreply.github.com> --- helpers/sql-obfuscation/CHANGELOG.md | 8 +- .../helpers/sql_obfuscation/version.rb | 2 +- instrumentation/all/CHANGELOG.md | 195 +++++++++--------- .../instrumentation/all/version.rb | 2 +- .../opentelemetry-instrumentation-all.gemspec | 6 +- instrumentation/mysql2/CHANGELOG.md | 105 +++++----- .../instrumentation/mysql2/version.rb | 2 +- instrumentation/pg/CHANGELOG.md | 83 ++++---- .../instrumentation/pg/version.rb | 2 +- instrumentation/trilogy/CHANGELOG.md | 64 +++--- .../instrumentation/trilogy/version.rb | 2 +- 11 files changed, 243 insertions(+), 228 deletions(-) diff --git a/helpers/sql-obfuscation/CHANGELOG.md b/helpers/sql-obfuscation/CHANGELOG.md index 7a62283ca..610ebb127 100644 --- a/helpers/sql-obfuscation/CHANGELOG.md +++ b/helpers/sql-obfuscation/CHANGELOG.md @@ -1,8 +1,12 @@ -# Release History: opentelemetry-helpers-sql-obfuscation +# Release History: opentelemetry-helpers-sql-obfuscation + +### v0.2.0 / 2024-09-12 + +- BREAKING CHANGE: Return message when sql is over the obfuscation limit. Fixes a bug where sql statements with prepended comments that hit the obfuscation limit would be sent raw. ### v0.1.1 / 2024-06-18 -* FIXED: Relax otel common gem constraints +- FIXED: Relax otel common gem constraints ### v0.1.0 / 2024-02-08 diff --git a/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation/version.rb b/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation/version.rb index 4d0787456..98cd6adc7 100644 --- a/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation/version.rb +++ b/helpers/sql-obfuscation/lib/opentelemetry/helpers/sql_obfuscation/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Helpers module SqlObfuscation - VERSION = '0.1.1' + VERSION = '0.2.0' end end end diff --git a/instrumentation/all/CHANGELOG.md b/instrumentation/all/CHANGELOG.md index cf2807c72..7d3116d2a 100644 --- a/instrumentation/all/CHANGELOG.md +++ b/instrumentation/all/CHANGELOG.md @@ -1,285 +1,286 @@ # Release History: opentelemetry-instrumentation-all +### v0.64.0 / 2024-09-12 + +- BREAKING CHANGE: Return message when sql is over the obfuscation limit. Fixes a bug where sql statements with prepended comments that hit the obfuscation limit would be sent raw. + ### v0.63.0 / 2024-08-15 -* ADDED: Collect pg db.collection_name attribute +- ADDED: Collect pg db.collection_name attribute ### v0.62.1 / 2024-07-23 -* DOCS: Add cspell to CI +- DOCS: Add cspell to CI ### v0.62.0 / 2024-07-02 -* DOCS: Fix CHANGELOGs to reflect a past breaking change -* CHANGED: Update Rails Instrumentation -* CHANGED: Update Grape Instrumentation -* CHANGED: Update Sinatra Instrumentation +- DOCS: Fix CHANGELOGs to reflect a past breaking change +- CHANGED: Update Rails Instrumentation +- CHANGED: Update Grape Instrumentation +- CHANGED: Update Sinatra Instrumentation ### v0.61.0 / 2024-06-04 -* ADDED: Add aws lambda to instrumentation-all -* FIXED: Add action_mailer to rails and all +- ADDED: Add aws lambda to instrumentation-all +- FIXED: Add action_mailer to rails and all ### v0.60.0 / 2024-02-20 -* ADDED: Add support gruf 2.19 -* ADDED: Faraday add support for internal spans +- ADDED: Add support gruf 2.19 +- ADDED: Faraday add support for internal spans ### v0.59.0 / 2024-02-16 -* BREAKING CHANGE: GraphQL Legacy Tracer perf improvements [#867](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/867). +- BREAKING CHANGE: GraphQL Legacy Tracer perf improvements [#867](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/867). ### v0.58.0 / 2024-02-15 -* CHANGED: upgrade mysql2 instrumentation +- CHANGED: upgrade mysql2 instrumentation ### v0.57.0 / 2024-02-08 -* BREAKING CHANGE: Move shared sql behavior to helper gems - +- BREAKING CHANGE: Move shared sql behavior to helper gems ### v0.56.0 / 2024-01-09 -* BREAKING CHANGE: Use ActiveSupport instead of patches #703 +- BREAKING CHANGE: Use ActiveSupport instead of patches #703 ### v0.55.0 / 2024-01-06 -* CHANGED: Upgrade Trilogy and Rack [#796](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/796) +- CHANGED: Upgrade Trilogy and Rack [#796](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/796) ### v0.54.0 / 2023-11-28 -* ADDED: Updated excon to include connect spans +- ADDED: Updated excon to include connect spans ### v0.53.0 / 2023-11-28 -* CHANGED: Performance optimization cache attribute hashes [#723](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/723) +- CHANGED: Performance optimization cache attribute hashes [#723](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/723) ### v0.52.0 / 2023-11-21 -* BREAKING CHANGE: Drop Support for EoL Rails 6.0 [#680](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/680) -* BREAKING CHANGE: Use ActiveSupport Instrumentation instead of Money Patches [#677](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/677) +- BREAKING CHANGE: Drop Support for EoL Rails 6.0 [#680](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/680) +- BREAKING CHANGE: Use ActiveSupport Instrumentation instead of Money Patches [#677](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/677) -* CHANGED: Drop Support for EoL Rails 6.0 [#680](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/680) -* CHANGED: Use ActiveSupport Instrumentation instead of Money Patches [#677](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/677) +- CHANGED: Drop Support for EoL Rails 6.0 [#680](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/680) +- CHANGED: Use ActiveSupport Instrumentation instead of Money Patches [#677](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/677) ### v0.51.1 / 2023-10-27 -* ADDED: Instrument connect and ping (Trilogy) +- ADDED: Instrument connect and ping (Trilogy) ### v0.51.0 / 2023-10-16 -* CHANGED: See [#695](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/695) for details +- CHANGED: See [#695](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/695) for details ### v0.50.1 / 2023-09-07 -* BREAKING CHANGE: Align messaging instrumentation operation names (Resque) +- BREAKING CHANGE: Align messaging instrumentation operation names (Resque) ### v0.50.0 / 2023-09-07 -* BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) +- BREAKING CHANGE: Align messaging instrumentation operation names [#648](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/648) ### v0.40.0 / 2023-08-07 -* ADDED: Add Gruf instrumentation +- ADDED: Add Gruf instrumentation ### v0.39.1 / 2023-06-05 -* FIXED: Use latest bug fix version for all dependencies +- FIXED: Use latest bug fix version for all dependencies ### v0.39.0 / 2023-06-02 -* BREAKING CHANGE: Separate logical MySQL host from connected host -* ADDED: Separate logical MySQL host from connected host +- BREAKING CHANGE: Separate logical MySQL host from connected host +- ADDED: Separate logical MySQL host from connected host ### v0.38.0 / 2023-05-31 -* BREAKING CHANGE: Add database name for trilogy traces +- BREAKING CHANGE: Add database name for trilogy traces -* ADDED: Add database name for trilogy traces +- ADDED: Add database name for trilogy traces ### v0.37.0 / 2023-05-25 -* ADDED: Add config[:obfuscation_limit] to pg and mysql2 -* ADDED: Add Obfuscation Limit Option to Trilogy - +- ADDED: Add config[:obfuscation_limit] to pg and mysql2 +- ADDED: Add Obfuscation Limit Option to Trilogy ### v0.36.0 / 2023-05-18 -* ADDED: GraphQL instrumentation: support new tracing API (#453) -* ADDED: Add span_preprocessor hook (#456) -* ADDED: add db.operation attribute for dalli (#458) +- ADDED: GraphQL instrumentation: support new tracing API (#453) +- ADDED: Add span_preprocessor hook (#456) +- ADDED: add db.operation attribute for dalli (#458) ### v0.35.0 / 2023-04-21 -* ADDED: Re-add Grape instrumentation to opentelemetry-instrumentation-all +- ADDED: Re-add Grape instrumentation to opentelemetry-instrumentation-all ### v0.34.0 / 2023-04-17 -* BREAKING CHANGE: Drop support for EoL Ruby 2.7 +- BREAKING CHANGE: Drop support for EoL Ruby 2.7 -* ADDED: Drop support for EoL Ruby 2.7 -* ADDED: Add Grape instrumentation +- ADDED: Drop support for EoL Ruby 2.7 +- ADDED: Add Grape instrumentation ### v0.33.0 / 2023-03-15 -* BREAKING CHANGE: Add support for GraphQL 2.0.19 +- BREAKING CHANGE: Add support for GraphQL 2.0.19 -* FIXED: Add support for GraphQL 2.0.19 +- FIXED: Add support for GraphQL 2.0.19 ### v0.32.0 / 2023-03-13 -* BREAKING CHANGE: Lock graphql max version to 2.0.17 -* FIXED: Lock graphql max version to 2.0.17 -* ADDED: Add with_attributes context propagation to Trilogy instrumentation -* ADDED: Add option to configure span name for trilogy -* FIXED: Ensure encoding errors handled during SQL obfuscation for Trilogy +- BREAKING CHANGE: Lock graphql max version to 2.0.17 +- FIXED: Lock graphql max version to 2.0.17 +- ADDED: Add with_attributes context propagation to Trilogy instrumentation +- ADDED: Add option to configure span name for trilogy +- FIXED: Ensure encoding errors handled during SQL obfuscation for Trilogy ### v0.31.0 / 2023-02-09 -* BREAKING CHANGE: Drop Rails 5 support [#324](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/324) - +- BREAKING CHANGE: Drop Rails 5 support [#324](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/324) ### v0.30.0 / 2023-01-31 -* BREAKING CHANGE: Updates instrumentations [#303](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/303) +- BREAKING CHANGE: Updates instrumentations [#303](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/303) ### v0.29.0 / 2023-01-14 -* BREAKING CHANGE: includes minor version updates in [#271](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/271) +- BREAKING CHANGE: includes minor version updates in [#271](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/271) ### v0.28.1 / 2023-01-14 -* DOCS: Fix gem homepage -* DOCS: More gem documentation fixes +- DOCS: Fix gem homepage +- DOCS: More gem documentation fixes ### v0.28.0 / 2022-11-09 -* ADDED: Bump minimum gem versions for opentelemetry-instrumentation-all -* ADDED: Instrumentation for racecar -* CHANGED: Update rails instrumentation +- ADDED: Bump minimum gem versions for opentelemetry-instrumentation-all +- ADDED: Instrumentation for racecar +- CHANGED: Update rails instrumentation ### v0.27.0 / 2022-10-14 -* CHANGED: Update Rails instrumentation +- CHANGED: Update Rails instrumentation ### v0.26.0 / 2022-10-12 -* ADDED: Upgrade min instrumentation versions See For Details https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/134 +- ADDED: Upgrade min instrumentation versions See For Details https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/134 ### v0.25.0 / 2022-06-09 -* Bump all dependencies to use base 0.21.0 +- Bump all dependencies to use base 0.21.0 ### v0.24.1 / 2022-05-05 -* (No significant changes) +- (No significant changes) ### v0.24.0 / 2022-05-02 -* ADDED: Adds instrumentation for rdkafka -* FIXED: Add rdkafka to all +- ADDED: Adds instrumentation for rdkafka +- FIXED: Add rdkafka to all ### v0.23.0 / 2022-01-26 -* ADDED: Add Trilogy Auto Instrumentation -* FIXED: `ActiveSupport` constant conflict in Active Model Serializers instrumentation -* FIXED: add missing require for aws_sdk instrumentation #1054 +- ADDED: Add Trilogy Auto Instrumentation +- FIXED: `ActiveSupport` constant conflict in Active Model Serializers instrumentation +- FIXED: add missing require for aws_sdk instrumentation #1054 ### v0.22.0 / 2021-12-01 -* ADDED: Move activesupport notification subscriber out of action_view gem +- ADDED: Move activesupport notification subscriber out of action_view gem ### v0.21.3 / 2021-10-07 -* (No significant changes) +- (No significant changes) ### v0.21.2 / 2021-09-29 -* (No significant changes) +- (No significant changes) ### v0.21.1 / 2021-09-29 -* (No significant changes) +- (No significant changes) ### v0.21.0 / 2021-09-15 -* ADDED: Add Que instrumentation +- ADDED: Add Que instrumentation ### v0.20.2 / 2021-09-09 -* (No significant changes) +- (No significant changes) ### v0.20.1 / 2021-08-18 -* FIXED: Instrumentation all sidekiq +- FIXED: Instrumentation all sidekiq ### v0.20.0 / 2021-08-12 -* ADDED: Instrument active record -* ADDED: Add ActionView instrumentation via ActiveSupport::Notifications +- ADDED: Instrument active record +- ADDED: Add ActionView instrumentation via ActiveSupport::Notifications ### v0.19.0 / 2021-06-25 -* ADDED: Add resque instrumentation -* ADDED: Add ActiveJob instrumentation -* ADDED: Configuration option to enable or disable redis root spans [#777](https://github.com/open-telemetry/opentelemetry-ruby/pull/777) -* FIXED: Broken instrumentation all release +- ADDED: Add resque instrumentation +- ADDED: Add ActiveJob instrumentation +- ADDED: Configuration option to enable or disable redis root spans [#777](https://github.com/open-telemetry/opentelemetry-ruby/pull/777) +- FIXED: Broken instrumentation all release ### v0.18.0 / 2021-05-21 -* ADDED: Add koala instrumentation +- ADDED: Add koala instrumentation ### v0.17.0 / 2021-04-22 -* ADDED: Add instrumentation for postgresql (pg gem) +- ADDED: Add instrumentation for postgresql (pg gem) ### v0.16.0 / 2021-03-17 -* ADDED: Instrument http gem -* ADDED: Instrument lmdb gem -* FIXED: Example scripts now reference local common lib -* DOCS: Replace Gitter with GitHub Discussions +- ADDED: Instrument http gem +- ADDED: Instrument lmdb gem +- FIXED: Example scripts now reference local common lib +- DOCS: Replace Gitter with GitHub Discussions ### v0.15.0 / 2021-02-18 -* ADDED: Instrument http client gem +- ADDED: Instrument http client gem ### v0.14.0 / 2021-02-03 -* (No significant changes) +- (No significant changes) ### v0.13.0 / 2021-01-29 -* (No significant changes) +- (No significant changes) ### v0.12.1 / 2021-01-13 -* ADDED: Instrument RubyKafka +- ADDED: Instrument RubyKafka ### v0.12.0 / 2020-12-24 -* ADDED: Instrument graphql +- ADDED: Instrument graphql ### v0.11.0 / 2020-12-11 -* FIXED: Copyright comments to not reference year +- FIXED: Copyright comments to not reference year ### v0.10.0 / 2020-12-03 -* FIXED: Otel-instrumentation-all not installing all +- FIXED: Otel-instrumentation-all not installing all ### v0.9.0 / 2020-11-27 -* ADDED: Add common helpers +- ADDED: Add common helpers ### v0.8.0 / 2020-10-27 -* (No significant changes) +- (No significant changes) ### v0.7.0 / 2020-10-07 -* DOCS: Standardize top-level docs structure and readme +- DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 -* Now depends on version 0.6.x of all the individual instrumentation gems. +- Now depends on version 0.6.x of all the individual instrumentation gems. diff --git a/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb b/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb index bffff61dd..93c736580 100644 --- a/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb +++ b/instrumentation/all/lib/opentelemetry/instrumentation/all/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module All - VERSION = '0.63.0' + VERSION = '0.64.0' end end end diff --git a/instrumentation/all/opentelemetry-instrumentation-all.gemspec b/instrumentation/all/opentelemetry-instrumentation-all.gemspec index 7af795545..54ee07265 100644 --- a/instrumentation/all/opentelemetry-instrumentation-all.gemspec +++ b/instrumentation/all/opentelemetry-instrumentation-all.gemspec @@ -44,9 +44,9 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-instrumentation-koala', '~> 0.20.1' spec.add_dependency 'opentelemetry-instrumentation-lmdb', '~> 0.22.1' spec.add_dependency 'opentelemetry-instrumentation-mongo', '~> 0.22.1' - spec.add_dependency 'opentelemetry-instrumentation-mysql2', '~> 0.27.0' + spec.add_dependency 'opentelemetry-instrumentation-mysql2', '~> 0.28.0' spec.add_dependency 'opentelemetry-instrumentation-net_http', '~> 0.22.1' - spec.add_dependency 'opentelemetry-instrumentation-pg', '~> 0.28.0' + spec.add_dependency 'opentelemetry-instrumentation-pg', '~> 0.29.0' spec.add_dependency 'opentelemetry-instrumentation-que', '~> 0.8.0' spec.add_dependency 'opentelemetry-instrumentation-racecar', '~> 0.3.0' spec.add_dependency 'opentelemetry-instrumentation-rack', '~> 0.24.0' @@ -59,7 +59,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-instrumentation-ruby_kafka', '~> 0.21.0' spec.add_dependency 'opentelemetry-instrumentation-sidekiq', '~> 0.25.0' spec.add_dependency 'opentelemetry-instrumentation-sinatra', '~> 0.24.0' - spec.add_dependency 'opentelemetry-instrumentation-trilogy', '~> 0.59.0' + spec.add_dependency 'opentelemetry-instrumentation-trilogy', '~> 0.60.0' spec.add_development_dependency 'active_model_serializers' spec.add_development_dependency 'activesupport' diff --git a/instrumentation/mysql2/CHANGELOG.md b/instrumentation/mysql2/CHANGELOG.md index 4d78d7856..e84ca9092 100644 --- a/instrumentation/mysql2/CHANGELOG.md +++ b/instrumentation/mysql2/CHANGELOG.md @@ -1,157 +1,160 @@ # Release History: opentelemetry-instrumentation-mysql2 +### v0.28.0 / 2024-09-12 + +- BREAKING CHANGE: Return message when sql is over the obfuscation limit. Fixes a bug where sql statements with prepended comments that hit the obfuscation limit would be sent raw. + ### v0.27.2 / 2024-07-23 -* DOCS: Add cspell to CI +- DOCS: Add cspell to CI ### v0.27.1 / 2024-04-30 -* FIXED: Bundler conflict warnings +- FIXED: Bundler conflict warnings ### v0.27.0 / 2024-02-15 -* ADDED: Instrument mysql2 prepare statement +- ADDED: Instrument mysql2 prepare statement ### v0.26.1 / 2024-02-08 -* FIXED: Add missing requires for sql-helpers to mysql, pg, and trilogy instrumentation +- FIXED: Add missing requires for sql-helpers to mysql, pg, and trilogy instrumentation ### v0.26.0 / 2024-02-08 -* BREAKING CHANGE: Move shared sql behavior to helper gems - +- BREAKING CHANGE: Move shared sql behavior to helper gems ### v0.25.0 / 2023-10-16 -* BREAKING CHANGE: Obfuscation for mysql2, dalli and postgresql as default option for db_statement +- BREAKING CHANGE: Obfuscation for mysql2, dalli and postgresql as default option for db_statement -* ADDED: Obfuscation for mysql2, dalli and postgresql as default option for db_statement +- ADDED: Obfuscation for mysql2, dalli and postgresql as default option for db_statement ### v0.24.3 / 2023-08-03 -* FIXED: Remove inline linter rules +- FIXED: Remove inline linter rules ### v0.24.2 / 2023-06-05 -* FIXED: Base config options +- FIXED: Base config options ### v0.24.1 / 2023-06-01 -* FIXED: Regex non-match with obfuscation limit (issue #486) +- FIXED: Regex non-match with obfuscation limit (issue #486) ### v0.24.0 / 2023-05-25 -* ADDED: Add config[:obfuscation_limit] to pg and mysql2 +- ADDED: Add config[:obfuscation_limit] to pg and mysql2 ### v0.23.0 / 2023-04-17 -* BREAKING CHANGE: Drop support for EoL Ruby 2.7 +- BREAKING CHANGE: Drop support for EoL Ruby 2.7 -* ADDED: Drop support for EoL Ruby 2.7 -* FIXED: Ensure encoding errors handled during SQL obfuscation for Trilogy +- ADDED: Drop support for EoL Ruby 2.7 +- FIXED: Ensure encoding errors handled during SQL obfuscation for Trilogy ### v0.22.0 / 2023-01-14 -* BREAKING CHANGE: Removed deprecated instrumentation options +- BREAKING CHANGE: Removed deprecated instrumentation options -* ADDED: Add option to configure span name -* ADDED: Removed deprecated instrumentation options -* DOCS: Fix gem homepage -* DOCS: More gem documentation fixes +- ADDED: Add option to configure span name +- ADDED: Removed deprecated instrumentation options +- DOCS: Fix gem homepage +- DOCS: More gem documentation fixes ### v0.21.1 / 2022-10-26 -* FIXED: Handle encoding errors in mysql obfuscation +- FIXED: Handle encoding errors in mysql obfuscation ### v0.21.0 / 2022-06-09 -* Upgrading Base dependency version -* FIXED: Broken test file requirements +- Upgrading Base dependency version +- FIXED: Broken test file requirements ### v0.20.1 / 2022-05-03 -* ADDED: `with_attributes` method for context propagation +- ADDED: `with_attributes` method for context propagation ### v0.20.0 / 2021-12-01 -* ADDED: Add default options config helper + env var config option support +- ADDED: Add default options config helper + env var config option support ### v0.19.1 / 2021-09-29 -* (No significant changes) +- (No significant changes) ### v0.19.0 / 2021-08-12 -* BREAKING CHANGE: Add option for db.statement +- BREAKING CHANGE: Add option for db.statement -* ADDED: Add option for db.statement -* DOCS: Update docs to rely more on environment variable configuration -* DOCS: Move to using new db_statement +- ADDED: Add option for db.statement +- DOCS: Update docs to rely more on environment variable configuration +- DOCS: Move to using new db_statement ### v0.18.1 / 2021-06-23 -* (No significant changes) +- (No significant changes) ### v0.18.0 / 2021-05-21 -* ADDED: Updated API dependency for 1.0.0.rc1 -* Fix: Nil value for db.name attribute #744 +- ADDED: Updated API dependency for 1.0.0.rc1 +- Fix: Nil value for db.name attribute #744 ### v0.17.0 / 2021-04-22 -* (No significant changes) +- (No significant changes) ### v0.16.0 / 2021-03-17 -* FIXED: Update DB semantic conventions -* FIXED: Example scripts now reference local common lib -* ADDED: Configurable obfuscation of sql in mysql2 instrumentation to avoid logging sensitive data +- FIXED: Update DB semantic conventions +- FIXED: Example scripts now reference local common lib +- ADDED: Configurable obfuscation of sql in mysql2 instrumentation to avoid logging sensitive data ### v0.15.0 / 2021-02-18 -* ADDED: Add instrumentation config validation +- ADDED: Add instrumentation config validation ### v0.14.0 / 2021-02-03 -* (No significant changes) +- (No significant changes) ### v0.13.0 / 2021-01-29 -* (No significant changes) +- (No significant changes) ### v0.12.0 / 2020-12-24 -* (No significant changes) +- (No significant changes) ### v0.11.0 / 2020-12-11 -* ADDED: Add peer service config to mysql -* FIXED: Copyright comments to not reference year +- ADDED: Add peer service config to mysql +- FIXED: Copyright comments to not reference year ### v0.10.1 / 2020-12-09 -* FIXED: Semantic conventions db.type -> db.system +- FIXED: Semantic conventions db.type -> db.system ### v0.10.0 / 2020-12-03 -* (No significant changes) +- (No significant changes) ### v0.9.0 / 2020-11-27 -* BREAKING CHANGE: Add timeout for force_flush and shutdown +- BREAKING CHANGE: Add timeout for force_flush and shutdown -* ADDED: Add timeout for force_flush and shutdown +- ADDED: Add timeout for force_flush and shutdown ### v0.8.0 / 2020-10-27 -* BREAKING CHANGE: Remove 'canonical' from status codes +- BREAKING CHANGE: Remove 'canonical' from status codes -* FIXED: Remove 'canonical' from status codes +- FIXED: Remove 'canonical' from status codes ### v0.7.0 / 2020-10-07 -* DOCS: Standardize top-level docs structure and readme +- DOCS: Standardize top-level docs structure and readme ### v0.6.0 / 2020-09-10 -* (No significant changes) +- (No significant changes) diff --git a/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/version.rb b/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/version.rb index ea71550ea..f6076089b 100644 --- a/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/version.rb +++ b/instrumentation/mysql2/lib/opentelemetry/instrumentation/mysql2/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Mysql2 - VERSION = '0.27.2' + VERSION = '0.28.0' end end end diff --git a/instrumentation/pg/CHANGELOG.md b/instrumentation/pg/CHANGELOG.md index 36a25243a..0d291618b 100644 --- a/instrumentation/pg/CHANGELOG.md +++ b/instrumentation/pg/CHANGELOG.md @@ -1,122 +1,125 @@ # Release History: opentelemetry-instrumentation-pg +### v0.29.0 / 2024-09-12 + +- BREAKING CHANGE: Return message when sql is over the obfuscation limit. Fixes a bug where sql statements with prepended comments that hit the obfuscation limit would be sent raw. + ### v0.28.0 / 2024-08-15 -* ADDED: Collect pg db.collection_name attribute -* FIXED: Update versions to be tested (includes drop support for pg 1.2) +- ADDED: Collect pg db.collection_name attribute +- FIXED: Update versions to be tested (includes drop support for pg 1.2) ### v0.27.4 / 2024-07-23 -* DOCS: Add cspell to CI +- DOCS: Add cspell to CI ### v0.27.3 / 2024-05-11 -* ADDED: Support prepend SQL comment for PG instrumentation +- ADDED: Support prepend SQL comment for PG instrumentation ### v0.27.2 / 2024-04-30 -* FIXED: Bundler conflict warnings +- FIXED: Bundler conflict warnings ### v0.27.1 / 2024-02-08 -* FIXED: Add missing requires for sql-helpers to mysql, pg, and trilogy instrumentation +- FIXED: Add missing requires for sql-helpers to mysql, pg, and trilogy instrumentation ### v0.27.0 / 2024-02-08 -* BREAKING CHANGE: Move shared sql behavior to helper gems - +- BREAKING CHANGE: Move shared sql behavior to helper gems ### v0.26.1 / 2023-11-23 -* CHANGED: Applied Rubocop Performance Recommendations [#727](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/727) +- CHANGED: Applied Rubocop Performance Recommendations [#727](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/727) ### v0.26.0 / 2023-10-16 -* BREAKING CHANGE: Obfuscation for mysql2, dalli and postgresql as default option for db_statement +- BREAKING CHANGE: Obfuscation for mysql2, dalli and postgresql as default option for db_statement -* ADDED: Obfuscation for mysql2, dalli and postgresql as default option for db_statement +- ADDED: Obfuscation for mysql2, dalli and postgresql as default option for db_statement ### v0.25.3 / 2023-07-29 -* FIXED: Pass block explicitly in `define_method` calls for PG instrumentation query methods +- FIXED: Pass block explicitly in `define_method` calls for PG instrumentation query methods ### v0.25.2 / 2023-06-05 -* FIXED: Base config options +- FIXED: Base config options ### v0.25.1 / 2023-06-01 -* FIXED: Regex non-match with obfuscation limit (issue #486) +- FIXED: Regex non-match with obfuscation limit (issue #486) ### v0.25.0 / 2023-05-25 -* ADDED: Add config[:obfuscation_limit] to pg and mysql2 +- ADDED: Add config[:obfuscation_limit] to pg and mysql2 ### v0.24.0 / 2023-04-17 -* BREAKING CHANGE: Drop support for EoL Ruby 2.7 +- BREAKING CHANGE: Drop support for EoL Ruby 2.7 -* ADDED: Drop support for EoL Ruby 2.7 +- ADDED: Drop support for EoL Ruby 2.7 ### v0.23.0 / 2023-01-14 -* BREAKING CHANGE: Removed deprecated instrumentation options +- BREAKING CHANGE: Removed deprecated instrumentation options -* ADDED: Removed deprecated instrumentation options -* FIXED: Reduce Hash Allocations in PG Instrumentation -* DOCS: Fix gem homepage -* DOCS: More gem documentation fixes +- ADDED: Removed deprecated instrumentation options +- FIXED: Reduce Hash Allocations in PG Instrumentation +- DOCS: Fix gem homepage +- DOCS: More gem documentation fixes ### v0.22.3 / 2022-12-06 -* FIXED: Use attributes from the active PG connection +- FIXED: Use attributes from the active PG connection ### v0.22.2 / 2022-11-10 -* FIXED: Safeguard against host being nil +- FIXED: Safeguard against host being nil ### v0.22.1 / 2022-10-27 -* FIXED: Only take the first item in a comma-separated list for pg attrs +- FIXED: Only take the first item in a comma-separated list for pg attrs ### v0.22.0 / 2022-10-04 -* ADDED: Add `with_attributes` context propagation for PG instrumentation +- ADDED: Add `with_attributes` context propagation for PG instrumentation ### v0.21.0 / 2022-06-09 -* Upgrading Base dependency version -* FIXED: Broken test file requirements +- Upgrading Base dependency version +- FIXED: Broken test file requirements ### v0.20.0 / 2022-05-02 -* ADDED: Validate Using Enums -* FIXED: Update pg instrumentation to handle non primitive argument -* FIXED: RubyGems Fallback +- ADDED: Validate Using Enums +- FIXED: Update pg instrumentation to handle non primitive argument +- FIXED: RubyGems Fallback ### v0.19.2 / 2021-12-02 -* (No significant changes) +- (No significant changes) ### v0.19.1 / 2021-09-29 -* (No significant changes) +- (No significant changes) ### v0.19.0 / 2021-08-12 -* ADDED: Add db_statement toggle for postgres -* DOCS: Update docs to rely more on environment variable configuration +- ADDED: Add db_statement toggle for postgres +- DOCS: Update docs to rely more on environment variable configuration ### v0.18.1 / 2021-06-23 -* (No significant changes) +- (No significant changes) ### v0.18.0 / 2021-05-21 -* ADDED: Updated API dependency for 1.0.0.rc1 -* ADDED: Add option to postgres instrumentation to disable db.statement +- ADDED: Updated API dependency for 1.0.0.rc1 +- ADDED: Add option to postgres instrumentation to disable db.statement ### v0.17.1 / 2021-04-23 -* Initial release. -* ADDED: Initial postgresql instrumentation +- Initial release. +- ADDED: Initial postgresql instrumentation diff --git a/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb b/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb index 4496dc1aa..23b0157b9 100644 --- a/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb +++ b/instrumentation/pg/lib/opentelemetry/instrumentation/pg/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module PG - VERSION = '0.28.0' + VERSION = '0.29.0' end end end diff --git a/instrumentation/trilogy/CHANGELOG.md b/instrumentation/trilogy/CHANGELOG.md index 6b9fe2acf..f1e00396f 100644 --- a/instrumentation/trilogy/CHANGELOG.md +++ b/instrumentation/trilogy/CHANGELOG.md @@ -1,96 +1,100 @@ # Release History: opentelemetry-instrumentation-trilogy +### v0.60.0 / 2024-09-12 + +- BREAKING CHANGE: Return message when sql is over the obfuscation limit. Fixes a bug where sql statements with prepended comments that hit the obfuscation limit would be sent raw. + ### v0.59.3 / 2024-04-30 -* FIXED: Bundler conflict warnings +- FIXED: Bundler conflict warnings ### v0.59.2 / 2024-02-20 -* FIXED: Dup string if frozen in trilogy query +- FIXED: Dup string if frozen in trilogy query ### v0.59.1 / 2024-02-08 -* FIXED: Add missing requires for sql-helpers to mysql, pg, and trilogy instrumentation +- FIXED: Add missing requires for sql-helpers to mysql, pg, and trilogy instrumentation ### v0.59.0 / 2024-02-08 -* BREAKING CHANGE: Move shared sql behavior to helper gems +- BREAKING CHANGE: Move shared sql behavior to helper gems -* ADDED: Propagate context to Vitess +- ADDED: Propagate context to Vitess ### v0.58.0 / 2024-01-06 -* BREAKING CHANGE: Change db.mysql.instance.address to db.instance.id +- BREAKING CHANGE: Change db.mysql.instance.address to db.instance.id -* ADDED: Change db.mysql.instance.address to db.instance.id -* FIXED: Trilogy only set db.instance.id attribute if there is a value +- ADDED: Change db.mysql.instance.address to db.instance.id +- FIXED: Trilogy only set db.instance.id attribute if there is a value ### v0.57.0 / 2023-10-27 -* ADDED: Instrument connect and ping +- ADDED: Instrument connect and ping ### v0.56.3 / 2023-08-03 -* FIXED: Remove inline linter rules +- FIXED: Remove inline linter rules ### v0.56.2 / 2023-07-14 -* ADDED: `db.user` attribute (recommended connection-level attribute) +- ADDED: `db.user` attribute (recommended connection-level attribute) ### v0.56.1 / 2023-06-05 -* FIXED: Base config options +- FIXED: Base config options ### v0.56.0 / 2023-06-02 -* BREAKING CHANGE: Separate logical MySQL host from connected host +- BREAKING CHANGE: Separate logical MySQL host from connected host -* ADDED: Separate logical MySQL host from connected host +- ADDED: Separate logical MySQL host from connected host ### v0.55.1 / 2023-06-01 -* FIXED: Regex non-match with obfuscation limit (issue #486) +- FIXED: Regex non-match with obfuscation limit (issue #486) ### v0.55.0 / 2023-05-31 -* BREAKING CHANGE: Add database name for trilogy traces +- BREAKING CHANGE: Add database name for trilogy traces -* ADDED: Add database name for trilogy traces +- ADDED: Add database name for trilogy traces ### v0.54.0 / 2023-05-25 -* ADDED: Add Obfuscation Limit Option to Trilogy +- ADDED: Add Obfuscation Limit Option to Trilogy ### v0.53.0 / 2023-04-17 -* BREAKING CHANGE: Drop support for EoL Ruby 2.7 +- BREAKING CHANGE: Drop support for EoL Ruby 2.7 -* ADDED: Drop support for EoL Ruby 2.7 +- ADDED: Drop support for EoL Ruby 2.7 ### v0.52.0 / 2023-03-06 -* ADDED: Add with_attributes context propagation to Trilogy instrumentation -* ADDED: Add option to configure span name for trilogy -* FIXED: Ensure encoding errors handled during SQL obfuscation for Trilogy +- ADDED: Add with_attributes context propagation to Trilogy instrumentation +- ADDED: Add option to configure span name for trilogy +- FIXED: Ensure encoding errors handled during SQL obfuscation for Trilogy ### v0.51.1 / 2023-01-14 -* DOCS: Fix gem homepage -* DOCS: More gem documentation fixes +- DOCS: Fix gem homepage +- DOCS: More gem documentation fixes ### v0.51.0 / 2022-06-09 -* Upgrading Base dependency version -* FIXED: Broken test file requirements +- Upgrading Base dependency version +- FIXED: Broken test file requirements ### v0.50.2 / 2022-05-05 -* (No significant changes) +- (No significant changes) ### v0.50.1 / 2022-01-07 -* FIXED: Trilogy Driver Options +- FIXED: Trilogy Driver Options ### v0.50.0 / 2021-12-31 -* Initial release. +- Initial release. diff --git a/instrumentation/trilogy/lib/opentelemetry/instrumentation/trilogy/version.rb b/instrumentation/trilogy/lib/opentelemetry/instrumentation/trilogy/version.rb index 24cedba17..ebce38215 100644 --- a/instrumentation/trilogy/lib/opentelemetry/instrumentation/trilogy/version.rb +++ b/instrumentation/trilogy/lib/opentelemetry/instrumentation/trilogy/version.rb @@ -7,7 +7,7 @@ module OpenTelemetry module Instrumentation module Trilogy - VERSION = '0.59.3' + VERSION = '0.60.0' end end end