From d9bdfda01dee0e3f3ec2187bb7db17536a64ed95 Mon Sep 17 00:00:00 2001 From: James Thompson Date: Mon, 29 Jun 2026 16:09:01 +1000 Subject: [PATCH 1/5] Address inability to test on jruby --- instrumentation/action_mailer/Gemfile | 1 + instrumentation/action_pack/Gemfile | 1 + instrumentation/action_view/Gemfile | 1 + instrumentation/active_record/.github-ci.yml | 2 -- instrumentation/active_record/Appraisals | 28 ++++++++++----- instrumentation/active_storage/.github-ci.yml | 2 -- instrumentation/active_storage/Appraisals | 35 +++++++++++++------ instrumentation/active_storage/Gemfile | 1 + instrumentation/delayed_job/.github-ci.yml | 2 -- instrumentation/delayed_job/Gemfile | 4 ++- instrumentation/graphql/.github-ci.yml | 2 -- instrumentation/graphql/Appraisals | 8 +++-- instrumentation/graphql/test/test_helper.rb | 1 + instrumentation/logger/Gemfile | 1 + instrumentation/net_ldap/.github-ci.yml | 2 -- .../net/ldap/instrumentation_service.rb | 16 ++++++++- instrumentation/rails/Gemfile | 1 + 17 files changed, 74 insertions(+), 34 deletions(-) delete mode 100644 instrumentation/active_record/.github-ci.yml delete mode 100644 instrumentation/active_storage/.github-ci.yml delete mode 100644 instrumentation/delayed_job/.github-ci.yml delete mode 100644 instrumentation/graphql/.github-ci.yml delete mode 100644 instrumentation/net_ldap/.github-ci.yml diff --git a/instrumentation/action_mailer/Gemfile b/instrumentation/action_mailer/Gemfile index 16c2a67f5d..66bacde101 100644 --- a/instrumentation/action_mailer/Gemfile +++ b/instrumentation/action_mailer/Gemfile @@ -19,6 +19,7 @@ group :test do gem 'simplecov', '~> 0.22.0' gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' + gem 'rbs', '4.1.0.pre.2', platforms: :jruby gem 'opentelemetry-instrumentation-base', path: '../base' gem 'opentelemetry-instrumentation-active_support', path: '../active_support' # Add jar-dependencies gem only if the Ruby runtime is JRuby diff --git a/instrumentation/action_pack/Gemfile b/instrumentation/action_pack/Gemfile index eb4b163625..719865c819 100644 --- a/instrumentation/action_pack/Gemfile +++ b/instrumentation/action_pack/Gemfile @@ -19,6 +19,7 @@ group :test do gem 'simplecov', '~> 0.22.0' gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' + gem 'rbs', '4.1.0.pre.2', platforms: :jruby gem 'opentelemetry-instrumentation-base', path: '../../instrumentation/base' gem 'opentelemetry-instrumentation-rack', path: '../../instrumentation/rack' # workaround for https://github.com/ruby/rdoc/issues/1746 diff --git a/instrumentation/action_view/Gemfile b/instrumentation/action_view/Gemfile index 61b526b867..cd9524ef4f 100644 --- a/instrumentation/action_view/Gemfile +++ b/instrumentation/action_view/Gemfile @@ -19,6 +19,7 @@ group :test do gem 'simplecov', '~> 0.22.0' gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' + gem 'rbs', '4.1.0.pre.2', platforms: :jruby gem 'opentelemetry-instrumentation-base', path: '../base' gem 'opentelemetry-instrumentation-active_support', path: '../active_support' # workaround for https://github.com/ruby/rdoc/issues/1746 diff --git a/instrumentation/active_record/.github-ci.yml b/instrumentation/active_record/.github-ci.yml deleted file mode 100644 index 62a0ea00d8..0000000000 --- a/instrumentation/active_record/.github-ci.yml +++ /dev/null @@ -1,2 +0,0 @@ -env: - unsupported_interpreters: jruby diff --git a/instrumentation/active_record/Appraisals b/instrumentation/active_record/Appraisals index 8ab3b90b69..a9a05b6fa9 100644 --- a/instrumentation/active_record/Appraisals +++ b/instrumentation/active_record/Appraisals @@ -4,21 +4,33 @@ # # SPDX-License-Identifier: Apache-2.0 -%w[7.1.0 7.2.0 8.0.0].each do |version| +%w[7.1.0 7.2.0].each do |version| appraise "activerecord-#{version}" do - gem 'sqlite3', '~> 1.4' + gem 'sqlite3', '~> 1.4', platform: :mri + gem "jdbc-sqlite3", platform: :jruby + gem "activerecord-jdbcsqlite3-adapter", platform: :jruby gem 'activerecord', "~> #{version}" end end -%w[8.0.0 8.1.0].each do |version| - appraise "activerecord-#{version}" do +if RUBY_ENGINE == 'ruby' + %w[8.0.0 8.1.0].each do |version| + appraise "activerecord-#{version}" do + gem 'sqlite3', '>= 2.1' + gem 'activerecord', "~> #{version}" + end + end + + appraise 'activerecord-latest' do gem 'sqlite3', '>= 2.1' - gem 'activerecord', "~> #{version}" + gem 'activerecord' end end -appraise 'activerecord-latest' do - gem 'sqlite3', '>= 2.1' - gem 'activerecord' +if RUBY_ENGINE == 'jruby' + %w[80.0.pre1].each do |version| + appraise "jruby_activerecord-#{version}" do + gem "activerecord-jdbcsqlite3-adapter", "~> #{version}" + end + end end diff --git a/instrumentation/active_storage/.github-ci.yml b/instrumentation/active_storage/.github-ci.yml deleted file mode 100644 index 62a0ea00d8..0000000000 --- a/instrumentation/active_storage/.github-ci.yml +++ /dev/null @@ -1,2 +0,0 @@ -env: - unsupported_interpreters: jruby diff --git a/instrumentation/active_storage/Appraisals b/instrumentation/active_storage/Appraisals index 315edd0a14..c1b8466a79 100644 --- a/instrumentation/active_storage/Appraisals +++ b/instrumentation/active_storage/Appraisals @@ -4,24 +4,37 @@ # # SPDX-License-Identifier: Apache-2.0 -%w[7.1.0 7.2.0 8.0.0].each do |version| +%w[7.1.0 7.2.0].each do |version| appraise "activestorage-#{version}" do - gem 'sqlite3', '~> 1.4' + gem 'sqlite3', '~> 1.4', platform: :mri + gem "activerecord-jdbcsqlite3-adapter", platform: :jruby gem 'image_processing', '~> 1.2' gem 'rails', "~> #{version}" end end -%w[8.0.0 8.1.0].each do |version| - appraise "activestorage-#{version}" do - gem 'sqlite3', '>= 2.1' - gem 'image_processing', '~> 1.2' - gem 'rails', "~> #{version}" +if RUBY_ENGINE == 'ruby' + %w[8.0.0 8.1.0].each do |version| + appraise "activestorage-#{version}" do + gem 'sqlite3', '>= 2.1', platform: :mri + gem 'image_processing', '~> 1.2', platform: :mri + gem 'rails', "~> #{version}", platform: :mri + end + end + + appraise 'activestorage-latest' do + gem 'sqlite3', '>= 2.1', platform: :mri + gem 'image_processing', '~> 1.2', platform: :mri + gem 'rails', platform: :mri end end -appraise 'activestorage-latest' do - gem 'sqlite3', '>= 2.1' - gem 'image_processing', '~> 1.2' - gem 'rails' +if RUBY_ENGINE == 'jruby' + %w[80.0.pre1].each do |version| + appraise "jruby_activestorage-#{version}" do + gem "activerecord-jdbcsqlite3-adapter", '80.0.pre1', platform: :jruby + gem 'image_processing', '~> 1.2', platform: :jruby + gem 'rails', "~> 8.0.0", platform: :jruby + end + end end diff --git a/instrumentation/active_storage/Gemfile b/instrumentation/active_storage/Gemfile index 2e24e5ffff..cf98e604a7 100644 --- a/instrumentation/active_storage/Gemfile +++ b/instrumentation/active_storage/Gemfile @@ -20,6 +20,7 @@ group :test do gem 'simplecov', '~> 0.22.0' gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' + gem 'rbs', '4.1.0.pre.2', platforms: :jruby gem 'opentelemetry-instrumentation-base', path: '../base' gem 'opentelemetry-instrumentation-active_support', path: '../active_support' if RUBY_VERSION >= '3.4' diff --git a/instrumentation/delayed_job/.github-ci.yml b/instrumentation/delayed_job/.github-ci.yml deleted file mode 100644 index 62a0ea00d8..0000000000 --- a/instrumentation/delayed_job/.github-ci.yml +++ /dev/null @@ -1,2 +0,0 @@ -env: - unsupported_interpreters: jruby diff --git a/instrumentation/delayed_job/Gemfile b/instrumentation/delayed_job/Gemfile index 0e9a3d4d55..632d357fc8 100644 --- a/instrumentation/delayed_job/Gemfile +++ b/instrumentation/delayed_job/Gemfile @@ -19,7 +19,9 @@ group :test do gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' gem 'rspec-mocks', '~> 3.13.7' - gem 'sqlite3', '~> 2.9.0' + gem 'sqlite3', '~> 2.9.0', platform: :mri + gem "jdbc-sqlite3", platform: :jruby + gem 'opentelemetry-instrumentation-base', path: '../base' if RUBY_VERSION >= '3.4' gem 'base64' diff --git a/instrumentation/graphql/.github-ci.yml b/instrumentation/graphql/.github-ci.yml deleted file mode 100644 index 62a0ea00d8..0000000000 --- a/instrumentation/graphql/.github-ci.yml +++ /dev/null @@ -1,2 +0,0 @@ -env: - unsupported_interpreters: jruby diff --git a/instrumentation/graphql/Appraisals b/instrumentation/graphql/Appraisals index 52d9a9dd6e..b155831bd1 100644 --- a/instrumentation/graphql/Appraisals +++ b/instrumentation/graphql/Appraisals @@ -14,15 +14,17 @@ end appraise 'graphql-c_parser-1.0.x' do gem 'graphql', '< 2.3.1' - gem 'graphql-c_parser', '~> 1.0.0' + gem 'graphql-c_parser', '~> 1.0.0', platform: :mri end appraise 'graphql-c_parser-1.x' do - gem 'graphql-c_parser', '~> 1.1' + gem 'graphql-c_parser', '~> 1.1', platform: :mri + gem 'graphql', platform: :jruby end appraise 'graphql-c_parser-latest' do - gem 'graphql-c_parser' + gem 'graphql-c_parser', platform: :mri + gem 'graphql', platform: :jruby end appraise 'graphql-latest' do diff --git a/instrumentation/graphql/test/test_helper.rb b/instrumentation/graphql/test/test_helper.rb index 8ffe686339..c22dc66d25 100644 --- a/instrumentation/graphql/test/test_helper.rb +++ b/instrumentation/graphql/test/test_helper.rb @@ -7,6 +7,7 @@ require 'simplecov' require 'bundler/setup' Bundler.require(:default, :development, :test) +require 'graphql' require 'minitest/autorun' require 'webmock/minitest' diff --git a/instrumentation/logger/Gemfile b/instrumentation/logger/Gemfile index b9cc190334..f6b0ba9203 100644 --- a/instrumentation/logger/Gemfile +++ b/instrumentation/logger/Gemfile @@ -24,6 +24,7 @@ group :test do gem 'simplecov', '~> 0.22.0' gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' + gem 'rbs', '4.1.0.pre.2', platforms: :jruby gem 'opentelemetry-instrumentation-base', path: '../base' # workaround for https://github.com/ruby/rdoc/issues/1746 gem 'rbs', '4.1.0.pre.2', platforms: :jruby # TODO: remove once stable version is available diff --git a/instrumentation/net_ldap/.github-ci.yml b/instrumentation/net_ldap/.github-ci.yml deleted file mode 100644 index 62a0ea00d8..0000000000 --- a/instrumentation/net_ldap/.github-ci.yml +++ /dev/null @@ -1,2 +0,0 @@ -env: - unsupported_interpreters: jruby diff --git a/instrumentation/net_ldap/lib/opentelemetry/instrumentation/net/ldap/instrumentation_service.rb b/instrumentation/net_ldap/lib/opentelemetry/instrumentation/net/ldap/instrumentation_service.rb index 6c421bdab3..20dba8b638 100644 --- a/instrumentation/net_ldap/lib/opentelemetry/instrumentation/net/ldap/instrumentation_service.rb +++ b/instrumentation/net_ldap/lib/opentelemetry/instrumentation/net/ldap/instrumentation_service.rb @@ -32,7 +32,8 @@ def instrument(event, payload) 'ldap.auth.username' => auth[:username].to_s, 'ldap.operation.type' => operation_type, 'ldap.request.message' => begin - payload.to_json + raw = payload.to_json + utf8_clean?(raw) ? raw : nil rescue JSON::GeneratorError nil end, @@ -99,6 +100,19 @@ def annotate_span_with_response(span, response) span.status = OpenTelemetry::Trace::Status.error end + + def utf8_clean?(value) + case value + when String + value.scrub == value + when Hash + value.all? { |k, v| utf8_clean?(k) && utf8_clean?(v) } + when Array + value.all? { |v| utf8_clean?(v) } + else + true + end + end end end end diff --git a/instrumentation/rails/Gemfile b/instrumentation/rails/Gemfile index 81caa43e46..ac87c24cd4 100644 --- a/instrumentation/rails/Gemfile +++ b/instrumentation/rails/Gemfile @@ -20,6 +20,7 @@ group :test do gem 'simplecov', '~> 0.22.0' gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' + gem 'rbs', '4.1.0.pre.2', platforms: :jruby gem 'opentelemetry-instrumentation-base', path: '../base' gem 'opentelemetry-instrumentation-concurrent_ruby', path: '../concurrent_ruby' From 8994444e25d8949e3770d7990fb4cb540a55597d Mon Sep 17 00:00:00 2001 From: James Thompson Date: Mon, 29 Jun 2026 17:54:22 +1000 Subject: [PATCH 2/5] rubocop fixes --- instrumentation/active_record/Appraisals | 6 +++--- instrumentation/active_storage/Appraisals | 6 +++--- instrumentation/delayed_job/Gemfile | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/instrumentation/active_record/Appraisals b/instrumentation/active_record/Appraisals index a9a05b6fa9..f160f63a1d 100644 --- a/instrumentation/active_record/Appraisals +++ b/instrumentation/active_record/Appraisals @@ -7,8 +7,8 @@ %w[7.1.0 7.2.0].each do |version| appraise "activerecord-#{version}" do gem 'sqlite3', '~> 1.4', platform: :mri - gem "jdbc-sqlite3", platform: :jruby - gem "activerecord-jdbcsqlite3-adapter", platform: :jruby + gem 'jdbc-sqlite3', platform: :jruby + gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby gem 'activerecord', "~> #{version}" end end @@ -30,7 +30,7 @@ end if RUBY_ENGINE == 'jruby' %w[80.0.pre1].each do |version| appraise "jruby_activerecord-#{version}" do - gem "activerecord-jdbcsqlite3-adapter", "~> #{version}" + gem 'activerecord-jdbcsqlite3-adapter', "~> #{version}" end end end diff --git a/instrumentation/active_storage/Appraisals b/instrumentation/active_storage/Appraisals index c1b8466a79..f2e0fee2e2 100644 --- a/instrumentation/active_storage/Appraisals +++ b/instrumentation/active_storage/Appraisals @@ -7,7 +7,7 @@ %w[7.1.0 7.2.0].each do |version| appraise "activestorage-#{version}" do gem 'sqlite3', '~> 1.4', platform: :mri - gem "activerecord-jdbcsqlite3-adapter", platform: :jruby + gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby gem 'image_processing', '~> 1.2' gem 'rails', "~> #{version}" end @@ -32,9 +32,9 @@ end if RUBY_ENGINE == 'jruby' %w[80.0.pre1].each do |version| appraise "jruby_activestorage-#{version}" do - gem "activerecord-jdbcsqlite3-adapter", '80.0.pre1', platform: :jruby + gem 'activerecord-jdbcsqlite3-adapter', '80.0.pre1', platform: :jruby gem 'image_processing', '~> 1.2', platform: :jruby - gem 'rails', "~> 8.0.0", platform: :jruby + gem 'rails', '~> 8.0.0', platform: :jruby end end end diff --git a/instrumentation/delayed_job/Gemfile b/instrumentation/delayed_job/Gemfile index 632d357fc8..82125b7bee 100644 --- a/instrumentation/delayed_job/Gemfile +++ b/instrumentation/delayed_job/Gemfile @@ -20,7 +20,7 @@ group :test do gem 'yard', '~> 0.9.0' gem 'rspec-mocks', '~> 3.13.7' gem 'sqlite3', '~> 2.9.0', platform: :mri - gem "jdbc-sqlite3", platform: :jruby + gem 'jdbc-sqlite3', platform: :jruby gem 'opentelemetry-instrumentation-base', path: '../base' if RUBY_VERSION >= '3.4' From df3cf430bd21f24da53243f4324556a6583cd6ef Mon Sep 17 00:00:00 2001 From: James Thompson Date: Thu, 2 Jul 2026 10:56:31 +1000 Subject: [PATCH 3/5] descope --- instrumentation/action_mailer/Gemfile | 1 - instrumentation/action_pack/Gemfile | 1 - instrumentation/action_view/Gemfile | 1 - instrumentation/logger/Gemfile | 1 - instrumentation/rails/Gemfile | 1 - 5 files changed, 5 deletions(-) diff --git a/instrumentation/action_mailer/Gemfile b/instrumentation/action_mailer/Gemfile index 66bacde101..16c2a67f5d 100644 --- a/instrumentation/action_mailer/Gemfile +++ b/instrumentation/action_mailer/Gemfile @@ -19,7 +19,6 @@ group :test do gem 'simplecov', '~> 0.22.0' gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' - gem 'rbs', '4.1.0.pre.2', platforms: :jruby gem 'opentelemetry-instrumentation-base', path: '../base' gem 'opentelemetry-instrumentation-active_support', path: '../active_support' # Add jar-dependencies gem only if the Ruby runtime is JRuby diff --git a/instrumentation/action_pack/Gemfile b/instrumentation/action_pack/Gemfile index 719865c819..eb4b163625 100644 --- a/instrumentation/action_pack/Gemfile +++ b/instrumentation/action_pack/Gemfile @@ -19,7 +19,6 @@ group :test do gem 'simplecov', '~> 0.22.0' gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' - gem 'rbs', '4.1.0.pre.2', platforms: :jruby gem 'opentelemetry-instrumentation-base', path: '../../instrumentation/base' gem 'opentelemetry-instrumentation-rack', path: '../../instrumentation/rack' # workaround for https://github.com/ruby/rdoc/issues/1746 diff --git a/instrumentation/action_view/Gemfile b/instrumentation/action_view/Gemfile index cd9524ef4f..61b526b867 100644 --- a/instrumentation/action_view/Gemfile +++ b/instrumentation/action_view/Gemfile @@ -19,7 +19,6 @@ group :test do gem 'simplecov', '~> 0.22.0' gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' - gem 'rbs', '4.1.0.pre.2', platforms: :jruby gem 'opentelemetry-instrumentation-base', path: '../base' gem 'opentelemetry-instrumentation-active_support', path: '../active_support' # workaround for https://github.com/ruby/rdoc/issues/1746 diff --git a/instrumentation/logger/Gemfile b/instrumentation/logger/Gemfile index f6b0ba9203..b9cc190334 100644 --- a/instrumentation/logger/Gemfile +++ b/instrumentation/logger/Gemfile @@ -24,7 +24,6 @@ group :test do gem 'simplecov', '~> 0.22.0' gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' - gem 'rbs', '4.1.0.pre.2', platforms: :jruby gem 'opentelemetry-instrumentation-base', path: '../base' # workaround for https://github.com/ruby/rdoc/issues/1746 gem 'rbs', '4.1.0.pre.2', platforms: :jruby # TODO: remove once stable version is available diff --git a/instrumentation/rails/Gemfile b/instrumentation/rails/Gemfile index ac87c24cd4..81caa43e46 100644 --- a/instrumentation/rails/Gemfile +++ b/instrumentation/rails/Gemfile @@ -20,7 +20,6 @@ group :test do gem 'simplecov', '~> 0.22.0' gem 'webmock', '~> 3.26.0' gem 'yard', '~> 0.9.0' - gem 'rbs', '4.1.0.pre.2', platforms: :jruby gem 'opentelemetry-instrumentation-base', path: '../base' gem 'opentelemetry-instrumentation-concurrent_ruby', path: '../concurrent_ruby' From a354e0bf9435eac930f46bf772c1c6940af696be Mon Sep 17 00:00:00 2001 From: James Thompson Date: Thu, 2 Jul 2026 16:19:54 +1000 Subject: [PATCH 4/5] scope reduction --- instrumentation/active_record/Appraisals | 1 - instrumentation/active_storage/Appraisals | 18 ++++++++--------- instrumentation/delayed_job/Gemfile | 1 - instrumentation/graphql/Appraisals | 24 +++++++++++------------ 4 files changed, 21 insertions(+), 23 deletions(-) diff --git a/instrumentation/active_record/Appraisals b/instrumentation/active_record/Appraisals index f160f63a1d..d467de2762 100644 --- a/instrumentation/active_record/Appraisals +++ b/instrumentation/active_record/Appraisals @@ -7,7 +7,6 @@ %w[7.1.0 7.2.0].each do |version| appraise "activerecord-#{version}" do gem 'sqlite3', '~> 1.4', platform: :mri - gem 'jdbc-sqlite3', platform: :jruby gem 'activerecord-jdbcsqlite3-adapter', platform: :jruby gem 'activerecord', "~> #{version}" end diff --git a/instrumentation/active_storage/Appraisals b/instrumentation/active_storage/Appraisals index f2e0fee2e2..e1b90f098e 100644 --- a/instrumentation/active_storage/Appraisals +++ b/instrumentation/active_storage/Appraisals @@ -16,25 +16,25 @@ end if RUBY_ENGINE == 'ruby' %w[8.0.0 8.1.0].each do |version| appraise "activestorage-#{version}" do - gem 'sqlite3', '>= 2.1', platform: :mri - gem 'image_processing', '~> 1.2', platform: :mri - gem 'rails', "~> #{version}", platform: :mri + gem 'sqlite3', '>= 2.1' + gem 'image_processing', '~> 1.2' + gem 'rails', "~> #{version}" end end appraise 'activestorage-latest' do - gem 'sqlite3', '>= 2.1', platform: :mri - gem 'image_processing', '~> 1.2', platform: :mri - gem 'rails', platform: :mri + gem 'sqlite3', '>= 2.1' + gem 'image_processing', '~> 1.2' + gem 'rails' end end if RUBY_ENGINE == 'jruby' %w[80.0.pre1].each do |version| appraise "jruby_activestorage-#{version}" do - gem 'activerecord-jdbcsqlite3-adapter', '80.0.pre1', platform: :jruby - gem 'image_processing', '~> 1.2', platform: :jruby - gem 'rails', '~> 8.0.0', platform: :jruby + gem 'activerecord-jdbcsqlite3-adapter', '80.0.pre1' + gem 'image_processing', '~> 1.2' + gem 'rails', '~> 8.0.0' end end end diff --git a/instrumentation/delayed_job/Gemfile b/instrumentation/delayed_job/Gemfile index 82125b7bee..19c5d1160a 100644 --- a/instrumentation/delayed_job/Gemfile +++ b/instrumentation/delayed_job/Gemfile @@ -21,7 +21,6 @@ group :test do gem 'rspec-mocks', '~> 3.13.7' gem 'sqlite3', '~> 2.9.0', platform: :mri gem 'jdbc-sqlite3', platform: :jruby - gem 'opentelemetry-instrumentation-base', path: '../base' if RUBY_VERSION >= '3.4' gem 'base64' diff --git a/instrumentation/graphql/Appraisals b/instrumentation/graphql/Appraisals index b155831bd1..13fb5f07a2 100644 --- a/instrumentation/graphql/Appraisals +++ b/instrumentation/graphql/Appraisals @@ -6,25 +6,25 @@ # Max compatible version of 2.0.x -(0..4).each do |minor_version| +(0..6).each do |minor_version| appraise "graphql-2.#{minor_version}.x" do gem 'graphql', "~> 2.#{minor_version}.0" end end -appraise 'graphql-c_parser-1.0.x' do - gem 'graphql', '< 2.3.1' - gem 'graphql-c_parser', '~> 1.0.0', platform: :mri -end +if RUBY_ENGINE == 'ruby' + appraise 'graphql-c_parser-1.0.x' do + gem 'graphql', '< 2.3.1' + gem 'graphql-c_parser', '~> 1.0.0' + end -appraise 'graphql-c_parser-1.x' do - gem 'graphql-c_parser', '~> 1.1', platform: :mri - gem 'graphql', platform: :jruby -end + appraise 'graphql-c_parser-1.x' do + gem 'graphql-c_parser', '~> 1.1' + end -appraise 'graphql-c_parser-latest' do - gem 'graphql-c_parser', platform: :mri - gem 'graphql', platform: :jruby + appraise 'graphql-c_parser-latest' do + gem 'graphql-c_parser' + end end appraise 'graphql-latest' do From 09ac8ca335e847546b0ccea5ad60a2c7d9607d63 Mon Sep 17 00:00:00 2001 From: James Thompson Date: Fri, 3 Jul 2026 12:49:16 +1000 Subject: [PATCH 5/5] Review feedback --- instrumentation/active_record/Appraisals | 4 ++++ instrumentation/net_ldap/.github-ci.yml | 2 ++ .../net/ldap/instrumentation_service.rb | 16 +--------------- 3 files changed, 7 insertions(+), 15 deletions(-) create mode 100644 instrumentation/net_ldap/.github-ci.yml diff --git a/instrumentation/active_record/Appraisals b/instrumentation/active_record/Appraisals index d467de2762..96ad7c2f00 100644 --- a/instrumentation/active_record/Appraisals +++ b/instrumentation/active_record/Appraisals @@ -32,4 +32,8 @@ if RUBY_ENGINE == 'jruby' gem 'activerecord-jdbcsqlite3-adapter', "~> #{version}" end end + + appraise 'activerecord-latest' do + gem 'activerecord-jdbcsqlite3-adapter' + end end diff --git a/instrumentation/net_ldap/.github-ci.yml b/instrumentation/net_ldap/.github-ci.yml new file mode 100644 index 0000000000..62a0ea00d8 --- /dev/null +++ b/instrumentation/net_ldap/.github-ci.yml @@ -0,0 +1,2 @@ +env: + unsupported_interpreters: jruby diff --git a/instrumentation/net_ldap/lib/opentelemetry/instrumentation/net/ldap/instrumentation_service.rb b/instrumentation/net_ldap/lib/opentelemetry/instrumentation/net/ldap/instrumentation_service.rb index 20dba8b638..6c421bdab3 100644 --- a/instrumentation/net_ldap/lib/opentelemetry/instrumentation/net/ldap/instrumentation_service.rb +++ b/instrumentation/net_ldap/lib/opentelemetry/instrumentation/net/ldap/instrumentation_service.rb @@ -32,8 +32,7 @@ def instrument(event, payload) 'ldap.auth.username' => auth[:username].to_s, 'ldap.operation.type' => operation_type, 'ldap.request.message' => begin - raw = payload.to_json - utf8_clean?(raw) ? raw : nil + payload.to_json rescue JSON::GeneratorError nil end, @@ -100,19 +99,6 @@ def annotate_span_with_response(span, response) span.status = OpenTelemetry::Trace::Status.error end - - def utf8_clean?(value) - case value - when String - value.scrub == value - when Hash - value.all? { |k, v| utf8_clean?(k) && utf8_clean?(v) } - when Array - value.all? { |v| utf8_clean?(v) } - else - true - end - end end end end