From 87be3e96ea2848aa26741fb62c09b925bbfbd0b1 Mon Sep 17 00:00:00 2001 From: xuan-cao-swi Date: Mon, 12 Jan 2026 12:52:39 -0500 Subject: [PATCH 1/8] test: add cgi and ostruct in gemspec dev dependency --- api/opentelemetry-api.gemspec | 1 + api/test/opentelemetry/baggage_test.rb | 1 - api/test/opentelemetry/context/key_test.rb | 2 -- .../propagation/composite_text_map_propagator_test.rb | 11 ++++------- api/test/opentelemetry/context_test.rb | 2 -- api/test/test_helper.rb | 2 ++ common/opentelemetry-common.gemspec | 2 ++ .../opentelemetry-exporter-otlp-common.gemspec | 2 ++ .../opentelemetry-exporter-otlp-grpc.gemspec | 2 ++ .../opentelemetry-exporter-otlp-http.gemspec | 2 ++ .../opentelemetry-exporter-otlp-logs.gemspec | 2 ++ .../opentelemetry-exporter-otlp-metrics.gemspec | 2 ++ exporter/otlp/opentelemetry-exporter-otlp.gemspec | 2 ++ exporter/zipkin/opentelemetry-exporter-zipkin.gemspec | 2 ++ logs_api/opentelemetry-logs-api.gemspec | 3 +++ logs_sdk/opentelemetry-logs-sdk.gemspec | 1 + metrics_api/opentelemetry-metrics-api.gemspec | 2 ++ metrics_sdk/opentelemetry-metrics-sdk.gemspec | 2 ++ propagator/b3/opentelemetry-propagator-b3.gemspec | 2 ++ .../jaeger/opentelemetry-propagator-jaeger.gemspec | 2 ++ registry/opentelemetry-registry.gemspec | 2 ++ sdk/opentelemetry-sdk.gemspec | 2 ++ sdk/test/opentelemetry/sdk/trace/span_test.rb | 3 +-- sdk/test/opentelemetry/sdk/trace/tracer_test.rb | 1 - sdk/test/opentelemetry/sdk_test.rb | 2 +- sdk/test/test_helper.rb | 2 ++ .../opentelemetry-sdk-experimental.gemspec | 2 ++ .../opentelemetry-semantic_conventions.gemspec | 2 ++ test_helpers/opentelemetry-test-helpers.gemspec | 2 ++ 29 files changed, 49 insertions(+), 16 deletions(-) diff --git a/api/opentelemetry-api.gemspec b/api/opentelemetry-api.gemspec index 5ae67c1205..d2153386cc 100644 --- a/api/opentelemetry-api.gemspec +++ b/api/opentelemetry-api.gemspec @@ -37,6 +37,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'yard', '~> 0.9' spec.add_development_dependency 'yard-doctest', '~> 0.1.6' + spec.add_development_dependency 'cgi', '~> 0.5.1' if spec.respond_to?(:metadata) spec.metadata['changelog_uri'] = "https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v#{OpenTelemetry::VERSION}/file.CHANGELOG.html" diff --git a/api/test/opentelemetry/baggage_test.rb b/api/test/opentelemetry/baggage_test.rb index d61b971a1e..2a0d3e49b6 100644 --- a/api/test/opentelemetry/baggage_test.rb +++ b/api/test/opentelemetry/baggage_test.rb @@ -7,7 +7,6 @@ require 'test_helper' describe OpenTelemetry::Baggage do - Context = OpenTelemetry::Context let(:manager) { OpenTelemetry::Baggage } after do diff --git a/api/test/opentelemetry/context/key_test.rb b/api/test/opentelemetry/context/key_test.rb index 79057f4264..234d64645e 100644 --- a/api/test/opentelemetry/context/key_test.rb +++ b/api/test/opentelemetry/context/key_test.rb @@ -7,8 +7,6 @@ require 'test_helper' describe OpenTelemetry::Context::Key do - Context = OpenTelemetry::Context - after do Context.clear end diff --git a/api/test/opentelemetry/context/propagation/composite_text_map_propagator_test.rb b/api/test/opentelemetry/context/propagation/composite_text_map_propagator_test.rb index 8bd2f2b5e0..d1a81729b6 100644 --- a/api/test/opentelemetry/context/propagation/composite_text_map_propagator_test.rb +++ b/api/test/opentelemetry/context/propagation/composite_text_map_propagator_test.rb @@ -7,8 +7,6 @@ require 'test_helper' describe OpenTelemetry::Context::Propagation::CompositeTextMapPropagator do - Context = OpenTelemetry::Context - class TestInjector def initialize(key) @key = key @@ -74,11 +72,10 @@ def extract(carrier, context:, getter: nil) it 'accepts explicit context' do Context.with_values('k1' => 'v1', 'k2' => 'v2') do - ctx = Context.current.set_value('k3', 'v3') do - carrier = {} - propagator.inject(carrier, context: ctx) - _(carrier).must_equal('k1' => 'v1', 'k2' => 'v2', 'k3' => 'v3') - end + ctx = Context.current.set_value('k3', 'v3') + carrier = {} + propagator.inject(carrier, context: ctx) + _(carrier).must_equal('k1' => 'v1', 'k2' => 'v2', 'k3' => 'v3') end end diff --git a/api/test/opentelemetry/context_test.rb b/api/test/opentelemetry/context_test.rb index a3f017adb7..db7ae8959e 100644 --- a/api/test/opentelemetry/context_test.rb +++ b/api/test/opentelemetry/context_test.rb @@ -9,8 +9,6 @@ require 'stringio' describe OpenTelemetry::Context do - Context = OpenTelemetry::Context - after { Context.clear } let(:foo_key) { Context.create_key('foo') } diff --git a/api/test/test_helper.rb b/api/test/test_helper.rb index 43aede5efc..afc676d044 100644 --- a/api/test/test_helper.rb +++ b/api/test/test_helper.rb @@ -15,3 +15,5 @@ require 'minitest/autorun' OpenTelemetry.logger = Logger.new(File::NULL) + +Context = OpenTelemetry::Context diff --git a/common/opentelemetry-common.gemspec b/common/opentelemetry-common.gemspec index 173c68539c..cbd0ec057b 100644 --- a/common/opentelemetry-common.gemspec +++ b/common/opentelemetry-common.gemspec @@ -28,8 +28,10 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.0' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' diff --git a/exporter/otlp-common/opentelemetry-exporter-otlp-common.gemspec b/exporter/otlp-common/opentelemetry-exporter-otlp-common.gemspec index f18f3ba070..73efd8714d 100644 --- a/exporter/otlp-common/opentelemetry-exporter-otlp-common.gemspec +++ b/exporter/otlp-common/opentelemetry-exporter-otlp-common.gemspec @@ -30,10 +30,12 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.1' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.2' spec.add_development_dependency 'opentelemetry-test-helpers' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 12.0' diff --git a/exporter/otlp-grpc/opentelemetry-exporter-otlp-grpc.gemspec b/exporter/otlp-grpc/opentelemetry-exporter-otlp-grpc.gemspec index 3cd2e1e3cf..84e89851ef 100644 --- a/exporter/otlp-grpc/opentelemetry-exporter-otlp-grpc.gemspec +++ b/exporter/otlp-grpc/opentelemetry-exporter-otlp-grpc.gemspec @@ -32,9 +32,11 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-sdk', '~> 1.2' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' diff --git a/exporter/otlp-http/opentelemetry-exporter-otlp-http.gemspec b/exporter/otlp-http/opentelemetry-exporter-otlp-http.gemspec index f5990309e4..a4f80d0ccb 100644 --- a/exporter/otlp-http/opentelemetry-exporter-otlp-http.gemspec +++ b/exporter/otlp-http/opentelemetry-exporter-otlp-http.gemspec @@ -31,9 +31,11 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-sdk', '~> 1.2' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' diff --git a/exporter/otlp-logs/opentelemetry-exporter-otlp-logs.gemspec b/exporter/otlp-logs/opentelemetry-exporter-otlp-logs.gemspec index 7063b23a51..697c92f997 100644 --- a/exporter/otlp-logs/opentelemetry-exporter-otlp-logs.gemspec +++ b/exporter/otlp-logs/opentelemetry-exporter-otlp-logs.gemspec @@ -36,9 +36,11 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'appraisal', '~> 2.2.0' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.3' diff --git a/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec b/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec index 81e710eaea..365ca7da6f 100644 --- a/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec +++ b/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec @@ -36,9 +36,11 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'appraisal', '~> 2.2.0' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' diff --git a/exporter/otlp/opentelemetry-exporter-otlp.gemspec b/exporter/otlp/opentelemetry-exporter-otlp.gemspec index e0dfd6b525..6cd0927a57 100644 --- a/exporter/otlp/opentelemetry-exporter-otlp.gemspec +++ b/exporter/otlp/opentelemetry-exporter-otlp.gemspec @@ -34,9 +34,11 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'appraisal', '~> 2.2.0' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' diff --git a/exporter/zipkin/opentelemetry-exporter-zipkin.gemspec b/exporter/zipkin/opentelemetry-exporter-zipkin.gemspec index f09b1a9b41..505858a9fa 100644 --- a/exporter/zipkin/opentelemetry-exporter-zipkin.gemspec +++ b/exporter/zipkin/opentelemetry-exporter-zipkin.gemspec @@ -33,9 +33,11 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-semantic_conventions' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' diff --git a/logs_api/opentelemetry-logs-api.gemspec b/logs_api/opentelemetry-logs-api.gemspec index fe42b1822c..bd49592494 100644 --- a/logs_api/opentelemetry-logs-api.gemspec +++ b/logs_api/opentelemetry-logs-api.gemspec @@ -27,7 +27,10 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.0' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' + spec.add_development_dependency 'logger', '~> 1.7' spec.add_development_dependency 'minitest', '~> 5.0' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.22' diff --git a/logs_sdk/opentelemetry-logs-sdk.gemspec b/logs_sdk/opentelemetry-logs-sdk.gemspec index c35de5f38e..f2b69f023a 100644 --- a/logs_sdk/opentelemetry-logs-sdk.gemspec +++ b/logs_sdk/opentelemetry-logs-sdk.gemspec @@ -36,6 +36,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'simplecov', '~> 0.22' spec.add_development_dependency 'yard', '~> 0.9' spec.add_development_dependency 'yard-doctest', '~> 0.1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' if spec.respond_to?(:metadata) spec.metadata['changelog_uri'] = "https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-logs-sdk/v#{OpenTelemetry::SDK::Logs::VERSION}/file.CHANGELOG.html" diff --git a/metrics_api/opentelemetry-metrics-api.gemspec b/metrics_api/opentelemetry-metrics-api.gemspec index 26a587f9f0..3aa2da1e75 100644 --- a/metrics_api/opentelemetry-metrics-api.gemspec +++ b/metrics_api/opentelemetry-metrics-api.gemspec @@ -28,9 +28,11 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'benchmark-ipsa', '~> 0.2.0' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3.0' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' diff --git a/metrics_sdk/opentelemetry-metrics-sdk.gemspec b/metrics_sdk/opentelemetry-metrics-sdk.gemspec index f725a4fad6..805ea6b744 100644 --- a/metrics_sdk/opentelemetry-metrics-sdk.gemspec +++ b/metrics_sdk/opentelemetry-metrics-sdk.gemspec @@ -31,9 +31,11 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'benchmark-ipsa', '~> 0.2.0' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' diff --git a/propagator/b3/opentelemetry-propagator-b3.gemspec b/propagator/b3/opentelemetry-propagator-b3.gemspec index c8869dc4bd..02a38f0ca7 100644 --- a/propagator/b3/opentelemetry-propagator-b3.gemspec +++ b/propagator/b3/opentelemetry-propagator-b3.gemspec @@ -29,7 +29,9 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.1' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17.1' diff --git a/propagator/jaeger/opentelemetry-propagator-jaeger.gemspec b/propagator/jaeger/opentelemetry-propagator-jaeger.gemspec index d666ab8fa2..7da672c883 100644 --- a/propagator/jaeger/opentelemetry-propagator-jaeger.gemspec +++ b/propagator/jaeger/opentelemetry-propagator-jaeger.gemspec @@ -29,8 +29,10 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.1' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.2' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17.1' diff --git a/registry/opentelemetry-registry.gemspec b/registry/opentelemetry-registry.gemspec index cf40034098..edb8822fcb 100644 --- a/registry/opentelemetry-registry.gemspec +++ b/registry/opentelemetry-registry.gemspec @@ -29,7 +29,9 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'appraisal', '~> 2.2.0' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 12.3.3' spec.add_development_dependency 'rspec-mocks' spec.add_development_dependency 'rubocop', '~> 1.65' diff --git a/sdk/opentelemetry-sdk.gemspec b/sdk/opentelemetry-sdk.gemspec index 20bf7b9983..95e0d9d6bd 100644 --- a/sdk/opentelemetry-sdk.gemspec +++ b/sdk/opentelemetry-sdk.gemspec @@ -37,11 +37,13 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-semantic_conventions' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-exporter-zipkin', '~> 0.19' spec.add_development_dependency 'opentelemetry-instrumentation-base', '~> 0.20' spec.add_development_dependency 'opentelemetry-test-helpers' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' diff --git a/sdk/test/opentelemetry/sdk/trace/span_test.rb b/sdk/test/opentelemetry/sdk/trace/span_test.rb index 2af560b96c..396d9e3ee4 100644 --- a/sdk/test/opentelemetry/sdk/trace/span_test.rb +++ b/sdk/test/opentelemetry/sdk/trace/span_test.rb @@ -11,7 +11,6 @@ SpanKind = OpenTelemetry::Trace::SpanKind Status = OpenTelemetry::Trace::Status Context = OpenTelemetry::Context - SpanLimits = OpenTelemetry::SDK::Trace::SpanLimits let(:context) { OpenTelemetry::Trace::SpanContext.new } let(:mock_span_processor) { Minitest::Mock.new } @@ -507,7 +506,7 @@ describe '#instrumentation_library' do it 'is identical to the instrumentation_scope' do - mock_span_processor.expect(:on_start, nil) { |s| yielded_span = s } # rubocop:disable Lint/UselessAssignment + mock_span_processor.expect(:on_start, nil) { |_s| pass } span = Span.new( context, Context.empty, diff --git a/sdk/test/opentelemetry/sdk/trace/tracer_test.rb b/sdk/test/opentelemetry/sdk/trace/tracer_test.rb index cbd11bc1f5..7bba2783a3 100644 --- a/sdk/test/opentelemetry/sdk/trace/tracer_test.rb +++ b/sdk/test/opentelemetry/sdk/trace/tracer_test.rb @@ -8,7 +8,6 @@ describe OpenTelemetry::SDK::Trace::Tracer do Tracer = OpenTelemetry::SDK::Trace::Tracer - SpanLimits = OpenTelemetry::SDK::Trace::SpanLimits let(:tracer_provider) { OpenTelemetry::SDK::Trace::TracerProvider.new } let(:tracer) do diff --git a/sdk/test/opentelemetry/sdk_test.rb b/sdk/test/opentelemetry/sdk_test.rb index a7f65eb9a6..110d88e8e8 100644 --- a/sdk/test/opentelemetry/sdk_test.rb +++ b/sdk/test/opentelemetry/sdk_test.rb @@ -33,7 +33,7 @@ config = OpenTelemetry::TestHelpers.with_env('OTEL_SDK_DISABLED' => 'true') do OpenTelemetry::SDK.configure end - _(config).must_equal nil + assert_nil(config) end end end diff --git a/sdk/test/test_helper.rb b/sdk/test/test_helper.rb index 40dbe15186..ff7bcbd6f2 100644 --- a/sdk/test/test_helper.rb +++ b/sdk/test/test_helper.rb @@ -17,3 +17,5 @@ require 'pry' OpenTelemetry.logger = Logger.new(File::NULL) + +SpanLimits = OpenTelemetry::SDK::Trace::SpanLimits diff --git a/sdk_experimental/opentelemetry-sdk-experimental.gemspec b/sdk_experimental/opentelemetry-sdk-experimental.gemspec index 7ca4d5ad6a..87310ea8cc 100644 --- a/sdk_experimental/opentelemetry-sdk-experimental.gemspec +++ b/sdk_experimental/opentelemetry-sdk-experimental.gemspec @@ -30,9 +30,11 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'benchmark-ipsa', '~> 0.2.0' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' diff --git a/semantic_conventions/opentelemetry-semantic_conventions.gemspec b/semantic_conventions/opentelemetry-semantic_conventions.gemspec index 814fd11239..70cd9a028b 100644 --- a/semantic_conventions/opentelemetry-semantic_conventions.gemspec +++ b/semantic_conventions/opentelemetry-semantic_conventions.gemspec @@ -28,8 +28,10 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.0' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'kramdown', '~> 2.3' spec.add_development_dependency 'minitest', '~> 5.0' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 12.0' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' diff --git a/test_helpers/opentelemetry-test-helpers.gemspec b/test_helpers/opentelemetry-test-helpers.gemspec index f8212b174d..b231c01983 100644 --- a/test_helpers/opentelemetry-test-helpers.gemspec +++ b/test_helpers/opentelemetry-test-helpers.gemspec @@ -26,8 +26,10 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.1' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk' + spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 13.3' From 1af37c6f1bd9a8e3b4807c53049e4b9eee23354d Mon Sep 17 00:00:00 2001 From: xuan-cao-swi Date: Mon, 12 Jan 2026 14:23:48 -0500 Subject: [PATCH 2/8] update --- api/opentelemetry-api.gemspec | 2 +- logs_sdk/opentelemetry-logs-sdk.gemspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/api/opentelemetry-api.gemspec b/api/opentelemetry-api.gemspec index d2153386cc..2d63d42770 100644 --- a/api/opentelemetry-api.gemspec +++ b/api/opentelemetry-api.gemspec @@ -28,6 +28,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'benchmark-ipsa', '~> 0.2.0' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'concurrent-ruby', '~> 1.3' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' @@ -37,7 +38,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'yard', '~> 0.9' spec.add_development_dependency 'yard-doctest', '~> 0.1.6' - spec.add_development_dependency 'cgi', '~> 0.5.1' if spec.respond_to?(:metadata) spec.metadata['changelog_uri'] = "https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-api/v#{OpenTelemetry::VERSION}/file.CHANGELOG.html" diff --git a/logs_sdk/opentelemetry-logs-sdk.gemspec b/logs_sdk/opentelemetry-logs-sdk.gemspec index f2b69f023a..3aab95de77 100644 --- a/logs_sdk/opentelemetry-logs-sdk.gemspec +++ b/logs_sdk/opentelemetry-logs-sdk.gemspec @@ -29,6 +29,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-sdk', '~> 1.3' spec.add_development_dependency 'bundler', '>= 1.17' + spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.4' spec.add_development_dependency 'rake', '~> 13.0' @@ -36,7 +37,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'simplecov', '~> 0.22' spec.add_development_dependency 'yard', '~> 0.9' spec.add_development_dependency 'yard-doctest', '~> 0.1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' if spec.respond_to?(:metadata) spec.metadata['changelog_uri'] = "https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-logs-sdk/v#{OpenTelemetry::SDK::Logs::VERSION}/file.CHANGELOG.html" From 2918a80de2d1e542178b8ec9ba7aa8e8c567a255 Mon Sep 17 00:00:00 2001 From: xuan-cao-swi Date: Tue, 13 Jan 2026 11:55:57 -0500 Subject: [PATCH 3/8] update rake for ruby 4 --- .../baggage/propagation/text_map_propagator.rb | 5 +++-- api/opentelemetry-api.gemspec | 1 - common/opentelemetry-common.gemspec | 4 +--- exporter/jaeger/opentelemetry-exporter-jaeger.gemspec | 2 +- .../opentelemetry-exporter-otlp-common.gemspec | 4 +--- .../otlp-grpc/opentelemetry-exporter-otlp-grpc.gemspec | 4 +--- .../opentelemetry/exporter/otlp/http/trace_exporter.rb | 3 ++- .../otlp-http/opentelemetry-exporter-otlp-http.gemspec | 4 +--- .../lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb | 3 ++- .../otlp-logs/opentelemetry-exporter-otlp-logs.gemspec | 4 +--- .../lib/opentelemetry/exporter/otlp/metrics/util.rb | 3 ++- .../opentelemetry-exporter-otlp-metrics.gemspec | 4 +--- exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb | 3 ++- exporter/otlp/opentelemetry-exporter-otlp.gemspec | 4 +--- exporter/zipkin/opentelemetry-exporter-zipkin.gemspec | 4 +--- logs_api/opentelemetry-logs-api.gemspec | 2 -- logs_sdk/opentelemetry-logs-sdk.gemspec | 1 - metrics_api/opentelemetry-metrics-api.gemspec | 4 +--- metrics_sdk/opentelemetry-metrics-sdk.gemspec | 4 +--- propagator/b3/opentelemetry-propagator-b3.gemspec | 4 +--- .../propagator/jaeger/text_map_propagator.rb | 8 +++++--- propagator/jaeger/opentelemetry-propagator-jaeger.gemspec | 4 +--- registry/opentelemetry-registry.gemspec | 1 - sdk/opentelemetry-sdk.gemspec | 4 +--- sdk_experimental/opentelemetry-sdk-experimental.gemspec | 4 +--- .../opentelemetry-semantic_conventions.gemspec | 4 +--- test_helpers/opentelemetry-test-helpers.gemspec | 2 -- 27 files changed, 32 insertions(+), 62 deletions(-) diff --git a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb index 53bb51b995..fded90da46 100644 --- a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb +++ b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: Apache-2.0 -require 'cgi' +require 'uri' module OpenTelemetry module Baggage @@ -99,7 +99,8 @@ def encode(baggage) end def encode_value(key, entry) - result = +"#{CGI.escape(key.to_s)}=#{CGI.escape(entry.value.to_s)}" + # result = +"#{CGI.escape(key.to_s)}=#{CGI.escape(entry.value.to_s)}" + result = +"#{URI.encode_www_form_component(key.to_s)}=#{URI.encode_www_form_component(entry.value.to_s)}" # We preserve metadata received on extract and assume it's already formatted # for transport. It's sent as-is without further processing. result << ";#{entry.metadata}" if entry.metadata diff --git a/api/opentelemetry-api.gemspec b/api/opentelemetry-api.gemspec index 2d63d42770..5ae67c1205 100644 --- a/api/opentelemetry-api.gemspec +++ b/api/opentelemetry-api.gemspec @@ -28,7 +28,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'benchmark-ipsa', '~> 0.2.0' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'concurrent-ruby', '~> 1.3' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' diff --git a/common/opentelemetry-common.gemspec b/common/opentelemetry-common.gemspec index cbd0ec057b..bf6216898a 100644 --- a/common/opentelemetry-common.gemspec +++ b/common/opentelemetry-common.gemspec @@ -28,11 +28,9 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.0' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'ostruct', '~> 0.6.3' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/exporter/jaeger/opentelemetry-exporter-jaeger.gemspec b/exporter/jaeger/opentelemetry-exporter-jaeger.gemspec index fe8de2ad59..51798f2233 100644 --- a/exporter/jaeger/opentelemetry-exporter-jaeger.gemspec +++ b/exporter/jaeger/opentelemetry-exporter-jaeger.gemspec @@ -37,7 +37,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rspec-mocks' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' diff --git a/exporter/otlp-common/opentelemetry-exporter-otlp-common.gemspec b/exporter/otlp-common/opentelemetry-exporter-otlp-common.gemspec index 73efd8714d..67a9b898da 100644 --- a/exporter/otlp-common/opentelemetry-exporter-otlp-common.gemspec +++ b/exporter/otlp-common/opentelemetry-exporter-otlp-common.gemspec @@ -30,15 +30,13 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.1' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.2' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'webmock', '~> 3.24' diff --git a/exporter/otlp-grpc/opentelemetry-exporter-otlp-grpc.gemspec b/exporter/otlp-grpc/opentelemetry-exporter-otlp-grpc.gemspec index 84e89851ef..477f8d604a 100644 --- a/exporter/otlp-grpc/opentelemetry-exporter-otlp-grpc.gemspec +++ b/exporter/otlp-grpc/opentelemetry-exporter-otlp-grpc.gemspec @@ -32,13 +32,11 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-sdk', '~> 1.2' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'webmock', '~> 3.24' diff --git a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb index f6f0ecd98e..3cd790e6fe 100644 --- a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb +++ b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb @@ -270,7 +270,8 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&CGI.method(:unescape)) + # k, v = entry.split('=', 2).map(&CGI.method(:unescape)) + k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) begin k = k.to_s.strip v = v.to_s.strip diff --git a/exporter/otlp-http/opentelemetry-exporter-otlp-http.gemspec b/exporter/otlp-http/opentelemetry-exporter-otlp-http.gemspec index a4f80d0ccb..719bd4b9bd 100644 --- a/exporter/otlp-http/opentelemetry-exporter-otlp-http.gemspec +++ b/exporter/otlp-http/opentelemetry-exporter-otlp-http.gemspec @@ -31,13 +31,11 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-sdk', '~> 1.2' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'webmock', '~> 3.24' diff --git a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb index 9a53f69357..8df38f15ce 100644 --- a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb +++ b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb @@ -361,7 +361,8 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&CGI.method(:unescape)) + # k, v = entry.split('=', 2).map(&CGI.method(:unescape)) + k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) begin k = k.to_s.strip v = v.to_s.strip diff --git a/exporter/otlp-logs/opentelemetry-exporter-otlp-logs.gemspec b/exporter/otlp-logs/opentelemetry-exporter-otlp-logs.gemspec index 697c92f997..eb0f8f1b6d 100644 --- a/exporter/otlp-logs/opentelemetry-exporter-otlp-logs.gemspec +++ b/exporter/otlp-logs/opentelemetry-exporter-otlp-logs.gemspec @@ -36,13 +36,11 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'appraisal', '~> 2.2.0' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.3' spec.add_development_dependency 'rubocop-minitest', '~> 0.38.0' spec.add_development_dependency 'rubocop-performance', '~> 1.25' diff --git a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb index 14e0e395c2..f0db8b07d4 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb @@ -74,7 +74,8 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&CGI.method(:unescape)) + # k, v = entry.split('=', 2).map(&CGI.method(:unescape)) + k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) begin k = k.to_s.strip v = v.to_s.strip diff --git a/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec b/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec index 365ca7da6f..24e4d3a3e2 100644 --- a/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec +++ b/exporter/otlp-metrics/opentelemetry-exporter-otlp-metrics.gemspec @@ -36,13 +36,11 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'appraisal', '~> 2.2.0' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'rubocop-minitest', '~> 0.38.0' spec.add_development_dependency 'rubocop-performance', '~> 1.25' diff --git a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb index 603c95142e..9630af316d 100644 --- a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb +++ b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb @@ -450,7 +450,8 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&CGI.method(:unescape)) + # k, v = entry.split('=', 2).map(&CGI.method(:unescape)) + k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) begin k = k.to_s.strip v = v.to_s.strip diff --git a/exporter/otlp/opentelemetry-exporter-otlp.gemspec b/exporter/otlp/opentelemetry-exporter-otlp.gemspec index 6cd0927a57..0c4be0478e 100644 --- a/exporter/otlp/opentelemetry-exporter-otlp.gemspec +++ b/exporter/otlp/opentelemetry-exporter-otlp.gemspec @@ -34,13 +34,11 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'appraisal', '~> 2.2.0' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'rubocop-minitest', '~> 0.38.0' spec.add_development_dependency 'rubocop-performance', '~> 1.25' diff --git a/exporter/zipkin/opentelemetry-exporter-zipkin.gemspec b/exporter/zipkin/opentelemetry-exporter-zipkin.gemspec index 505858a9fa..6786a0ae73 100644 --- a/exporter/zipkin/opentelemetry-exporter-zipkin.gemspec +++ b/exporter/zipkin/opentelemetry-exporter-zipkin.gemspec @@ -33,12 +33,10 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-semantic_conventions' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'ostruct', '~> 0.6.3' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'webmock', '~> 3.24' diff --git a/logs_api/opentelemetry-logs-api.gemspec b/logs_api/opentelemetry-logs-api.gemspec index bd49592494..fd158b0f5f 100644 --- a/logs_api/opentelemetry-logs-api.gemspec +++ b/logs_api/opentelemetry-logs-api.gemspec @@ -27,10 +27,8 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.0' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'logger', '~> 1.7' spec.add_development_dependency 'minitest', '~> 5.0' - spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.22' diff --git a/logs_sdk/opentelemetry-logs-sdk.gemspec b/logs_sdk/opentelemetry-logs-sdk.gemspec index 3aab95de77..c35de5f38e 100644 --- a/logs_sdk/opentelemetry-logs-sdk.gemspec +++ b/logs_sdk/opentelemetry-logs-sdk.gemspec @@ -29,7 +29,6 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-sdk', '~> 1.3' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.4' spec.add_development_dependency 'rake', '~> 13.0' diff --git a/metrics_api/opentelemetry-metrics-api.gemspec b/metrics_api/opentelemetry-metrics-api.gemspec index 3aa2da1e75..427e8671d7 100644 --- a/metrics_api/opentelemetry-metrics-api.gemspec +++ b/metrics_api/opentelemetry-metrics-api.gemspec @@ -28,12 +28,10 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'benchmark-ipsa', '~> 0.2.0' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.3.0' - spec.add_development_dependency 'ostruct', '~> 0.6.3' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/metrics_sdk/opentelemetry-metrics-sdk.gemspec b/metrics_sdk/opentelemetry-metrics-sdk.gemspec index 805ea6b744..4b0844788d 100644 --- a/metrics_sdk/opentelemetry-metrics-sdk.gemspec +++ b/metrics_sdk/opentelemetry-metrics-sdk.gemspec @@ -31,12 +31,10 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'benchmark-ipsa', '~> 0.2.0' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'ostruct', '~> 0.6.3' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/b3/opentelemetry-propagator-b3.gemspec b/propagator/b3/opentelemetry-propagator-b3.gemspec index 02a38f0ca7..cfe5914312 100644 --- a/propagator/b3/opentelemetry-propagator-b3.gemspec +++ b/propagator/b3/opentelemetry-propagator-b3.gemspec @@ -29,10 +29,8 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.1' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' - spec.add_development_dependency 'ostruct', '~> 0.6.3' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb b/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb index f1bb4d2ec8..aa73cd033c 100644 --- a/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb +++ b/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: Apache-2.0 -require 'cgi' +# require 'cgi' # OpenTelemetry is an open source observability framework, providing a # general-purpose API, SDK, and related tools required for the instrumentation @@ -75,7 +75,8 @@ def inject(carrier, context: Context.current, setter: Context::Propagation.text_ setter.set(carrier, IDENTITY_KEY, trace_span_identity_value) OpenTelemetry::Baggage.values(context: context).each do |key, value| baggage_key = 'uberctx-' + key - encoded_value = CGI.escape(value) + # encoded_value = CGI.escape(value) + encoded_value = URI.encode_www_form_component(value) setter.set(carrier, baggage_key, encoded_value) end carrier @@ -110,7 +111,8 @@ def context_with_extracted_baggage(carrier, context, getter) next unless baggage_key raw_value = getter.get(carrier, carrier_key) - value = CGI.unescape(raw_value) + # value = CGI.unescape(raw_value) + value = URI.decode_www_form_component(raw_value) b.set_value(baggage_key, value) end end diff --git a/propagator/jaeger/opentelemetry-propagator-jaeger.gemspec b/propagator/jaeger/opentelemetry-propagator-jaeger.gemspec index 7da672c883..fa0b0ac0ef 100644 --- a/propagator/jaeger/opentelemetry-propagator-jaeger.gemspec +++ b/propagator/jaeger/opentelemetry-propagator-jaeger.gemspec @@ -29,11 +29,9 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.1' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk', '~> 1.2' - spec.add_development_dependency 'ostruct', '~> 0.6.3' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17.1' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/registry/opentelemetry-registry.gemspec b/registry/opentelemetry-registry.gemspec index edb8822fcb..f4e2a7fafd 100644 --- a/registry/opentelemetry-registry.gemspec +++ b/registry/opentelemetry-registry.gemspec @@ -29,7 +29,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'appraisal', '~> 2.2.0' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'rake', '~> 12.3.3' diff --git a/sdk/opentelemetry-sdk.gemspec b/sdk/opentelemetry-sdk.gemspec index 95e0d9d6bd..8d7e688075 100644 --- a/sdk/opentelemetry-sdk.gemspec +++ b/sdk/opentelemetry-sdk.gemspec @@ -37,15 +37,13 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-semantic_conventions' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-exporter-zipkin', '~> 0.19' spec.add_development_dependency 'opentelemetry-instrumentation-base', '~> 0.20' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/sdk_experimental/opentelemetry-sdk-experimental.gemspec b/sdk_experimental/opentelemetry-sdk-experimental.gemspec index 87310ea8cc..5d336dde41 100644 --- a/sdk_experimental/opentelemetry-sdk-experimental.gemspec +++ b/sdk_experimental/opentelemetry-sdk-experimental.gemspec @@ -30,12 +30,10 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'benchmark-ipsa', '~> 0.2.0' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'faraday', '~> 0.13' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers' - spec.add_development_dependency 'ostruct', '~> 0.6.3' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/semantic_conventions/opentelemetry-semantic_conventions.gemspec b/semantic_conventions/opentelemetry-semantic_conventions.gemspec index 70cd9a028b..f68003464a 100644 --- a/semantic_conventions/opentelemetry-semantic_conventions.gemspec +++ b/semantic_conventions/opentelemetry-semantic_conventions.gemspec @@ -28,11 +28,9 @@ Gem::Specification.new do |spec| spec.add_dependency 'opentelemetry-api', '~> 1.0' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'kramdown', '~> 2.3' spec.add_development_dependency 'minitest', '~> 5.0' - spec.add_development_dependency 'ostruct', '~> 0.6.3' - spec.add_development_dependency 'rake', '~> 12.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/test_helpers/opentelemetry-test-helpers.gemspec b/test_helpers/opentelemetry-test-helpers.gemspec index b231c01983..f8212b174d 100644 --- a/test_helpers/opentelemetry-test-helpers.gemspec +++ b/test_helpers/opentelemetry-test-helpers.gemspec @@ -26,10 +26,8 @@ Gem::Specification.new do |spec| spec.required_ruby_version = '>= 3.1' spec.add_development_dependency 'bundler', '>= 1.17' - spec.add_development_dependency 'cgi', '~> 0.5.1' spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-sdk' - spec.add_development_dependency 'ostruct', '~> 0.6.3' spec.add_development_dependency 'pry' spec.add_development_dependency 'pry-byebug' unless RUBY_ENGINE == 'jruby' spec.add_development_dependency 'rake', '~> 13.3' From 62d88b68eb66e541e2f3658ca69cddd9cca39bff Mon Sep 17 00:00:00 2001 From: xuan-cao-swi Date: Tue, 13 Jan 2026 12:22:40 -0500 Subject: [PATCH 4/8] avoid use openstruct in metrics-sdk --- .../sdk/metrics/fork_hooks_test.rb | 2 +- test_all_gems.sh | 40 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100755 test_all_gems.sh diff --git a/metrics_sdk/test/opentelemetry/sdk/metrics/fork_hooks_test.rb b/metrics_sdk/test/opentelemetry/sdk/metrics/fork_hooks_test.rb index b99c9b5dd0..ffd5423c73 100644 --- a/metrics_sdk/test/opentelemetry/sdk/metrics/fork_hooks_test.rb +++ b/metrics_sdk/test/opentelemetry/sdk/metrics/fork_hooks_test.rb @@ -76,7 +76,7 @@ def after_fork end end.new - reader2 = OpenStruct.new + reader2 = Struct.new(:dummy).new meter_provider = OpenTelemetry::SDK::Metrics::MeterProvider.new meter_provider.add_metric_reader(reader1) diff --git a/test_all_gems.sh b/test_all_gems.sh new file mode 100755 index 0000000000..8f89d04146 --- /dev/null +++ b/test_all_gems.sh @@ -0,0 +1,40 @@ +#!/bin/bash + +set -e + +test_gem() { + bundle update --all + bundle exec rake test + bundle exec rubocop -A + echo "testgem in $PWD" +} + +for dir in */; do + echo "Directory: $dir" + if [[ $dir == 'contrib/' || $dir == 'examples/' || $dir == 'rakelib/' ]]; then + continue + fi + + if [[ $dir == 'exporter/' || $dir == 'propagator/' ]]; then + cd $dir + for subdir in */; do + + if [[ $subdir == 'jaeger/' ]]; then + continue + fi + + echo "Directory: $subdir" + + cd $subdir + test_gem + cd /app/$dir + done + cd /app + continue + fi + + cd $dir + test_gem + cd - + # Add your logic here, e.g., check if it's a Ruby gem library +done From bbc56098af65c17bcf6457c9ed17d82b3201b71d Mon Sep 17 00:00:00 2001 From: xuan-cao-swi Date: Tue, 13 Jan 2026 13:08:16 -0500 Subject: [PATCH 5/8] remove commented out code --- .../propagation/text_map_propagator.rb | 3 +- .../exporter/otlp/http/trace_exporter.rb | 1 - .../exporter/otlp/logs/logs_exporter.rb | 1 - .../exporter/otlp/metrics/util.rb | 1 - .../opentelemetry/exporter/otlp/exporter.rb | 1 - logs_sdk/opentelemetry-logs-sdk.gemspec | 2 +- .../propagator/jaeger/text_map_propagator.rb | 4 +- registry/opentelemetry-registry.gemspec | 3 +- test_all_gems.sh | 40 ------------------- 9 files changed, 4 insertions(+), 52 deletions(-) delete mode 100755 test_all_gems.sh diff --git a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb index fded90da46..3fdd142258 100644 --- a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb +++ b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb @@ -63,7 +63,7 @@ def extract(carrier, context: Context.current, getter: Context::Propagation.text # the W3C spec where it's referred to as properties. We preserve # the properties (as-is) so that they can be propagated elsewhere. kv, meta = entry.split(';', 2) - k, v = kv.split('=').map!(&CGI.method(:unescape)) + k, v = kv.split('=').map!(&URI.method(:decode_www_form_component)) builder.set_value(k, v, metadata: meta) end end @@ -99,7 +99,6 @@ def encode(baggage) end def encode_value(key, entry) - # result = +"#{CGI.escape(key.to_s)}=#{CGI.escape(entry.value.to_s)}" result = +"#{URI.encode_www_form_component(key.to_s)}=#{URI.encode_www_form_component(entry.value.to_s)}" # We preserve metadata received on extract and assume it's already formatted # for transport. It's sent as-is without further processing. diff --git a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb index 3cd790e6fe..18bf640401 100644 --- a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb +++ b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb @@ -270,7 +270,6 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - # k, v = entry.split('=', 2).map(&CGI.method(:unescape)) k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) begin k = k.to_s.strip diff --git a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb index 8df38f15ce..312458b500 100644 --- a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb +++ b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb @@ -361,7 +361,6 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - # k, v = entry.split('=', 2).map(&CGI.method(:unescape)) k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) begin k = k.to_s.strip diff --git a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb index f0db8b07d4..771329488c 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb @@ -74,7 +74,6 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - # k, v = entry.split('=', 2).map(&CGI.method(:unescape)) k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) begin k = k.to_s.strip diff --git a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb index 9630af316d..b820bcb775 100644 --- a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb +++ b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb @@ -450,7 +450,6 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - # k, v = entry.split('=', 2).map(&CGI.method(:unescape)) k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) begin k = k.to_s.strip diff --git a/logs_sdk/opentelemetry-logs-sdk.gemspec b/logs_sdk/opentelemetry-logs-sdk.gemspec index e25ed7b5ac..7f4ba6478f 100644 --- a/logs_sdk/opentelemetry-logs-sdk.gemspec +++ b/logs_sdk/opentelemetry-logs-sdk.gemspec @@ -30,7 +30,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'minitest', '~> 5.0' spec.add_development_dependency 'opentelemetry-test-helpers', '~> 0.4' - spec.add_development_dependency 'rake', '~> 13.0' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.22' spec.add_development_dependency 'yard', '~> 0.9' diff --git a/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb b/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb index aa73cd033c..b8acf5b120 100644 --- a/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb +++ b/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: Apache-2.0 -# require 'cgi' +require 'uri' # OpenTelemetry is an open source observability framework, providing a # general-purpose API, SDK, and related tools required for the instrumentation @@ -75,7 +75,6 @@ def inject(carrier, context: Context.current, setter: Context::Propagation.text_ setter.set(carrier, IDENTITY_KEY, trace_span_identity_value) OpenTelemetry::Baggage.values(context: context).each do |key, value| baggage_key = 'uberctx-' + key - # encoded_value = CGI.escape(value) encoded_value = URI.encode_www_form_component(value) setter.set(carrier, baggage_key, encoded_value) end @@ -111,7 +110,6 @@ def context_with_extracted_baggage(carrier, context, getter) next unless baggage_key raw_value = getter.get(carrier, carrier_key) - # value = CGI.unescape(raw_value) value = URI.decode_www_form_component(raw_value) b.set_value(baggage_key, value) end diff --git a/registry/opentelemetry-registry.gemspec b/registry/opentelemetry-registry.gemspec index 158ff818e6..60a4a7ce76 100644 --- a/registry/opentelemetry-registry.gemspec +++ b/registry/opentelemetry-registry.gemspec @@ -29,8 +29,7 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'appraisal', '~> 2.2.0' spec.add_development_dependency 'minitest', '~> 5.0' - spec.add_development_dependency 'ostruct', '~> 0.6.3' - spec.add_development_dependency 'rake', '~> 12.3.3' + spec.add_development_dependency 'rake', '~> 13.3' spec.add_development_dependency 'rspec-mocks' spec.add_development_dependency 'rubocop', '~> 1.65' spec.add_development_dependency 'simplecov', '~> 0.17.1' diff --git a/test_all_gems.sh b/test_all_gems.sh deleted file mode 100755 index 8f89d04146..0000000000 --- a/test_all_gems.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/bash - -set -e - -test_gem() { - bundle update --all - bundle exec rake test - bundle exec rubocop -A - echo "testgem in $PWD" -} - -for dir in */; do - echo "Directory: $dir" - if [[ $dir == 'contrib/' || $dir == 'examples/' || $dir == 'rakelib/' ]]; then - continue - fi - - if [[ $dir == 'exporter/' || $dir == 'propagator/' ]]; then - cd $dir - for subdir in */; do - - if [[ $subdir == 'jaeger/' ]]; then - continue - fi - - echo "Directory: $subdir" - - cd $subdir - test_gem - cd /app/$dir - done - cd /app - continue - fi - - cd $dir - test_gem - cd - - # Add your logic here, e.g., check if it's a Ruby gem library -done From ab141a0163b5777451961c34ca641b9c35153f31 Mon Sep 17 00:00:00 2001 From: xuan-cao-swi Date: Thu, 15 Jan 2026 10:53:42 -0500 Subject: [PATCH 6/8] leave cgi replace for later --- .../baggage/propagation/text_map_propagator.rb | 6 +++--- .../lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb | 2 +- .../lib/opentelemetry/exporter/otlp/metrics/util.rb | 2 +- exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb | 2 +- .../opentelemetry/propagator/jaeger/text_map_propagator.rb | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb index 3fdd142258..53bb51b995 100644 --- a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb +++ b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: Apache-2.0 -require 'uri' +require 'cgi' module OpenTelemetry module Baggage @@ -63,7 +63,7 @@ def extract(carrier, context: Context.current, getter: Context::Propagation.text # the W3C spec where it's referred to as properties. We preserve # the properties (as-is) so that they can be propagated elsewhere. kv, meta = entry.split(';', 2) - k, v = kv.split('=').map!(&URI.method(:decode_www_form_component)) + k, v = kv.split('=').map!(&CGI.method(:unescape)) builder.set_value(k, v, metadata: meta) end end @@ -99,7 +99,7 @@ def encode(baggage) end def encode_value(key, entry) - result = +"#{URI.encode_www_form_component(key.to_s)}=#{URI.encode_www_form_component(entry.value.to_s)}" + result = +"#{CGI.escape(key.to_s)}=#{CGI.escape(entry.value.to_s)}" # We preserve metadata received on extract and assume it's already formatted # for transport. It's sent as-is without further processing. result << ";#{entry.metadata}" if entry.metadata diff --git a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb index 312458b500..9a53f69357 100644 --- a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb +++ b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb @@ -361,7 +361,7 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) + k, v = entry.split('=', 2).map(&CGI.method(:unescape)) begin k = k.to_s.strip v = v.to_s.strip diff --git a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb index 771329488c..14e0e395c2 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb @@ -74,7 +74,7 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) + k, v = entry.split('=', 2).map(&CGI.method(:unescape)) begin k = k.to_s.strip v = v.to_s.strip diff --git a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb index b820bcb775..603c95142e 100644 --- a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb +++ b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb @@ -450,7 +450,7 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) + k, v = entry.split('=', 2).map(&CGI.method(:unescape)) begin k = k.to_s.strip v = v.to_s.strip diff --git a/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb b/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb index b8acf5b120..08cbc3ef69 100644 --- a/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb +++ b/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb @@ -75,7 +75,7 @@ def inject(carrier, context: Context.current, setter: Context::Propagation.text_ setter.set(carrier, IDENTITY_KEY, trace_span_identity_value) OpenTelemetry::Baggage.values(context: context).each do |key, value| baggage_key = 'uberctx-' + key - encoded_value = URI.encode_www_form_component(value) + encoded_value = CGI.escape(value) setter.set(carrier, baggage_key, encoded_value) end carrier @@ -110,7 +110,7 @@ def context_with_extracted_baggage(carrier, context, getter) next unless baggage_key raw_value = getter.get(carrier, carrier_key) - value = URI.decode_www_form_component(raw_value) + value = CGI.unescape(raw_value) b.set_value(baggage_key, value) end end From 616748947f6e7dbc2a74c874c4238328ed890ac8 Mon Sep 17 00:00:00 2001 From: xuan-cao-swi Date: Thu, 15 Jan 2026 11:18:42 -0500 Subject: [PATCH 7/8] use cgi/escape --- .../opentelemetry/baggage/propagation/text_map_propagator.rb | 2 +- .../lib/opentelemetry/exporter/otlp/http/trace_exporter.rb | 3 ++- .../lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb | 1 + .../lib/opentelemetry/exporter/otlp/metrics/util.rb | 2 ++ exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb | 1 + .../lib/opentelemetry/propagator/jaeger/text_map_propagator.rb | 2 +- 6 files changed, 8 insertions(+), 3 deletions(-) diff --git a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb index 53bb51b995..0b63db882f 100644 --- a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb +++ b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: Apache-2.0 -require 'cgi' +require 'cgi/escape' module OpenTelemetry module Baggage diff --git a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb index 18bf640401..cee83622c7 100644 --- a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb +++ b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb @@ -9,6 +9,7 @@ require 'opentelemetry/sdk' require 'net/http' require 'zlib' +require 'cgi/escape' require 'google/rpc/status_pb' @@ -270,7 +271,7 @@ def parse_headers(raw) raise ArgumentError, ERROR_MESSAGE_INVALID_HEADERS if entries.empty? entries.each_with_object({}) do |entry, headers| - k, v = entry.split('=', 2).map(&URI.method(:decode_www_form_component)) + k, v = entry.split('=', 2).map(&CGI.method(:unescape)) begin k = k.to_s.strip v = v.to_s.strip diff --git a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb index 9a53f69357..f169b5b278 100644 --- a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb +++ b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb @@ -10,6 +10,7 @@ require 'opentelemetry/sdk/logs' require 'net/http' require 'zlib' +require 'cgi/escape' require 'google/rpc/status_pb' diff --git a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb index 14e0e395c2..fd5beab726 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb @@ -4,6 +4,8 @@ # # SPDX-License-Identifier: Apache-2.0 +require 'cgi/escape' + module OpenTelemetry module Exporter module OTLP diff --git a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb index 603c95142e..96e5f967bb 100644 --- a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb +++ b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb @@ -8,6 +8,7 @@ require 'opentelemetry/sdk' require 'net/http' require 'zlib' +require 'cgi/escape' require 'google/rpc/status_pb' diff --git a/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb b/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb index 08cbc3ef69..ce4956f925 100644 --- a/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb +++ b/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: Apache-2.0 -require 'uri' +require 'cgi/escape' # OpenTelemetry is an open source observability framework, providing a # general-purpose API, SDK, and related tools required for the instrumentation From a1a4250f67e337a1b4c74a3393bc02679f3be7cf Mon Sep 17 00:00:00 2001 From: xuan-cao-swi Date: Thu, 15 Jan 2026 11:38:06 -0500 Subject: [PATCH 8/8] cgi/escape only available for ruby 4+, will fail ruby 3+ test; remove for now --- .../opentelemetry/baggage/propagation/text_map_propagator.rb | 2 +- .../lib/opentelemetry/exporter/otlp/http/trace_exporter.rb | 1 - .../lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb | 1 - .../lib/opentelemetry/exporter/otlp/metrics/util.rb | 2 -- exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb | 1 - .../lib/opentelemetry/propagator/jaeger/text_map_propagator.rb | 2 +- 6 files changed, 2 insertions(+), 7 deletions(-) diff --git a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb index 0b63db882f..53bb51b995 100644 --- a/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb +++ b/api/lib/opentelemetry/baggage/propagation/text_map_propagator.rb @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: Apache-2.0 -require 'cgi/escape' +require 'cgi' module OpenTelemetry module Baggage diff --git a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb index cee83622c7..f6f0ecd98e 100644 --- a/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb +++ b/exporter/otlp-http/lib/opentelemetry/exporter/otlp/http/trace_exporter.rb @@ -9,7 +9,6 @@ require 'opentelemetry/sdk' require 'net/http' require 'zlib' -require 'cgi/escape' require 'google/rpc/status_pb' diff --git a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb index f169b5b278..9a53f69357 100644 --- a/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb +++ b/exporter/otlp-logs/lib/opentelemetry/exporter/otlp/logs/logs_exporter.rb @@ -10,7 +10,6 @@ require 'opentelemetry/sdk/logs' require 'net/http' require 'zlib' -require 'cgi/escape' require 'google/rpc/status_pb' diff --git a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb index fd5beab726..14e0e395c2 100644 --- a/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb +++ b/exporter/otlp-metrics/lib/opentelemetry/exporter/otlp/metrics/util.rb @@ -4,8 +4,6 @@ # # SPDX-License-Identifier: Apache-2.0 -require 'cgi/escape' - module OpenTelemetry module Exporter module OTLP diff --git a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb index 96e5f967bb..603c95142e 100644 --- a/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb +++ b/exporter/otlp/lib/opentelemetry/exporter/otlp/exporter.rb @@ -8,7 +8,6 @@ require 'opentelemetry/sdk' require 'net/http' require 'zlib' -require 'cgi/escape' require 'google/rpc/status_pb' diff --git a/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb b/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb index ce4956f925..f1bb4d2ec8 100644 --- a/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb +++ b/propagator/jaeger/lib/opentelemetry/propagator/jaeger/text_map_propagator.rb @@ -4,7 +4,7 @@ # # SPDX-License-Identifier: Apache-2.0 -require 'cgi/escape' +require 'cgi' # OpenTelemetry is an open source observability framework, providing a # general-purpose API, SDK, and related tools required for the instrumentation