From 6e09652e73ed6b28a331ff2faca2927f1b5c266b Mon Sep 17 00:00:00 2001 From: Tony Hsu Date: Wed, 14 Dec 2022 13:20:01 +0100 Subject: [PATCH] WIP --- Appraisals | 6 + gemfiles/ruby_3.1.2_sidekiq_5.gemfile.lock | 190 ++++++++++++++++++ gemfiles/ruby_3.1.2_sidekiq_6.gemfile.lock | 187 +++++++++++++++++ gemfiles/ruby_3.1.2_sidekiq_7.gemfile.lock | 189 +++++++++++++++++ .../server_internal_tracer/heartbeat_spec.rb | 2 + .../server_internal_tracer/job_fetch_spec.rb | 2 + .../server_internal_tracer/redis_info_spec.rb | 1 + .../scheduled_poller_spec.rb | 19 +- .../tracing/contrib/sidekiq/support/helper.rb | 21 +- 9 files changed, 608 insertions(+), 9 deletions(-) create mode 100644 gemfiles/ruby_3.1.2_sidekiq_5.gemfile.lock create mode 100644 gemfiles/ruby_3.1.2_sidekiq_6.gemfile.lock create mode 100644 gemfiles/ruby_3.1.2_sidekiq_7.gemfile.lock diff --git a/Appraisals b/Appraisals index aae67dac0b0..a15df924176 100644 --- a/Appraisals +++ b/Appraisals @@ -1535,6 +1535,12 @@ elsif ruby_version?('3.0') || ruby_version?('3.1') end end + [5,6,7].each do |n| + appraise "sidekiq-#{n}" do + gem 'sidekiq', "~> #{n}" + end + end + appraise 'sinatra' do gem 'sinatra', '>= 3' gem 'rack-test' diff --git a/gemfiles/ruby_3.1.2_sidekiq_5.gemfile.lock b/gemfiles/ruby_3.1.2_sidekiq_5.gemfile.lock new file mode 100644 index 00000000000..d6e5ff4fb7a --- /dev/null +++ b/gemfiles/ruby_3.1.2_sidekiq_5.gemfile.lock @@ -0,0 +1,190 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + ddtrace (1.7.0) + debase-ruby_core_source (>= 0.10.16, <= 0.10.18) + libdatadog (~> 0.9.0.1.0) + libddwaf (~> 1.5.1.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.4.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.10.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + binding_of_caller (1.0.0) + debug_inspector (>= 0.0.1) + builder (3.2.4) + byebug (11.1.3) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.1.10) + connection_pool (2.3.0) + crack (0.4.5) + rexml + cri (2.15.11) + debase-ruby_core_source (0.10.18) + debug_inspector (1.1.0) + diff-lcs (1.5.0) + docile (1.4.0) + dogstatsd-ruby (5.5.0) + extlz4 (0.3.3) + ffi (1.15.5) + google-protobuf (3.21.11) + hashdiff (1.0.1) + json (2.6.3) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (0.9.0.1.0-aarch64-linux) + libddwaf (1.5.1.0.0-aarch64-linux) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.0.0) + msgpack (1.6.0) + opentracing (0.5.0) + os (1.1.4) + parallel (1.22.1) + parser (3.1.3.0) + ast (~> 2.4.1) + pimpmychangelog (0.1.3) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.10.1) + byebug (~> 11.0) + pry (>= 0.13, < 0.15) + pry-stack_explorer (0.6.1) + binding_of_caller (~> 1.0) + pry (~> 0.13) + rack (2.2.4) + rack-protection (3.0.4) + rack + rainbow (3.1.1) + rake (13.0.6) + rake-compiler (1.2.0) + rake + redcarpet (3.5.1) + redis (4.5.1) + regexp_parser (2.6.1) + rexml (3.2.5) + rspec (3.12.0) + rspec-core (~> 3.12.0) + rspec-expectations (~> 3.12.0) + rspec-mocks (~> 3.12.0) + rspec-collection_matchers (1.2.0) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.12.0) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.12.0) + rspec-mocks (3.12.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.12.0) + rspec-support (3.12.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.5.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + rubocop (1.32.0) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.1.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.19.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.24.0) + parser (>= 3.1.1.0) + rubocop-packaging (0.5.1) + rubocop (>= 0.89, < 2.0) + rubocop-performance (1.15.1) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + rubocop-rspec (2.12.1) + rubocop (~> 1.31) + ruby-prof (1.4.3) + ruby-progressbar (1.11.0) + sidekiq (5.2.10) + connection_pool (~> 2.2, >= 2.2.2) + rack (~> 2.0) + rack-protection (>= 1.5.0) + redis (~> 4.5, < 4.6.0) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + thor (1.2.1) + unicode-display_width (2.3.0) + warning (1.3.0) + webmock (3.13.0) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.7.0) + yard (0.9.28) + webrick (~> 1.7.0) + +PLATFORMS + aarch64-linux + +DEPENDENCIES + addressable (~> 2.4.0) + appraisal (~> 2.2) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + json-schema (< 3) + memory_profiler (~> 0.9) + opentracing (>= 0.4.1) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-byebug + pry-stack_explorer + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + redcarpet (~> 3.4) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + rubocop (~> 1.10, < 1.33.0) + rubocop-packaging (~> 0.5) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.2) + ruby-prof (~> 1.4) + sidekiq (~> 5) + simplecov! + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_3.1.2_sidekiq_6.gemfile.lock b/gemfiles/ruby_3.1.2_sidekiq_6.gemfile.lock new file mode 100644 index 00000000000..14f66c4006c --- /dev/null +++ b/gemfiles/ruby_3.1.2_sidekiq_6.gemfile.lock @@ -0,0 +1,187 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + ddtrace (1.7.0) + debase-ruby_core_source (>= 0.10.16, <= 0.10.18) + libdatadog (~> 0.9.0.1.0) + libddwaf (~> 1.5.1.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.4.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.10.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + binding_of_caller (1.0.0) + debug_inspector (>= 0.0.1) + builder (3.2.4) + byebug (11.1.3) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.1.10) + connection_pool (2.3.0) + crack (0.4.5) + rexml + cri (2.15.11) + debase-ruby_core_source (0.10.18) + debug_inspector (1.1.0) + diff-lcs (1.5.0) + docile (1.4.0) + dogstatsd-ruby (5.5.0) + extlz4 (0.3.3) + ffi (1.15.5) + google-protobuf (3.21.11) + hashdiff (1.0.1) + json (2.6.3) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (0.9.0.1.0-aarch64-linux) + libddwaf (1.5.1.0.0-aarch64-linux) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.0.0) + msgpack (1.6.0) + opentracing (0.5.0) + os (1.1.4) + parallel (1.22.1) + parser (3.1.3.0) + ast (~> 2.4.1) + pimpmychangelog (0.1.3) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.10.1) + byebug (~> 11.0) + pry (>= 0.13, < 0.15) + pry-stack_explorer (0.6.1) + binding_of_caller (~> 1.0) + pry (~> 0.13) + rack (2.2.4) + rainbow (3.1.1) + rake (13.0.6) + rake-compiler (1.2.0) + rake + redcarpet (3.5.1) + redis (4.8.0) + regexp_parser (2.6.1) + rexml (3.2.5) + rspec (3.12.0) + rspec-core (~> 3.12.0) + rspec-expectations (~> 3.12.0) + rspec-mocks (~> 3.12.0) + rspec-collection_matchers (1.2.0) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.12.0) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.12.0) + rspec-mocks (3.12.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.12.0) + rspec-support (3.12.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.5.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + rubocop (1.32.0) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.1.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.19.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.24.0) + parser (>= 3.1.1.0) + rubocop-packaging (0.5.1) + rubocop (>= 0.89, < 2.0) + rubocop-performance (1.15.1) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + rubocop-rspec (2.12.1) + rubocop (~> 1.31) + ruby-prof (1.4.3) + ruby-progressbar (1.11.0) + sidekiq (6.5.8) + connection_pool (>= 2.2.5, < 3) + rack (~> 2.0) + redis (>= 4.5.0, < 5) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + thor (1.2.1) + unicode-display_width (2.3.0) + warning (1.3.0) + webmock (3.13.0) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.7.0) + yard (0.9.28) + webrick (~> 1.7.0) + +PLATFORMS + aarch64-linux + +DEPENDENCIES + addressable (~> 2.4.0) + appraisal (~> 2.2) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + json-schema (< 3) + memory_profiler (~> 0.9) + opentracing (>= 0.4.1) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-byebug + pry-stack_explorer + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + redcarpet (~> 3.4) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + rubocop (~> 1.10, < 1.33.0) + rubocop-packaging (~> 0.5) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.2) + ruby-prof (~> 1.4) + sidekiq (~> 6) + simplecov! + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/gemfiles/ruby_3.1.2_sidekiq_7.gemfile.lock b/gemfiles/ruby_3.1.2_sidekiq_7.gemfile.lock new file mode 100644 index 00000000000..4283d56ddfc --- /dev/null +++ b/gemfiles/ruby_3.1.2_sidekiq_7.gemfile.lock @@ -0,0 +1,189 @@ +GIT + remote: https://github.com/DataDog/simplecov + revision: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + ref: 3bb6b7ee58bf4b1954ca205f50dd44d6f41c57db + specs: + simplecov (0.21.2) + docile (~> 1.1) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + +PATH + remote: .. + specs: + ddtrace (1.7.0) + debase-ruby_core_source (>= 0.10.16, <= 0.10.18) + libdatadog (~> 0.9.0.1.0) + libddwaf (~> 1.5.1.0.0) + msgpack + +GEM + remote: https://rubygems.org/ + specs: + addressable (2.4.0) + appraisal (2.4.1) + bundler + rake + thor (>= 0.14.0) + ast (2.4.2) + benchmark-ips (2.10.0) + benchmark-memory (0.1.2) + memory_profiler (~> 0.9) + binding_of_caller (1.0.0) + debug_inspector (>= 0.0.1) + builder (3.2.4) + byebug (11.1.3) + climate_control (0.2.0) + coderay (1.1.3) + colorize (0.8.1) + concurrent-ruby (1.1.10) + connection_pool (2.3.0) + crack (0.4.5) + rexml + cri (2.15.11) + debase-ruby_core_source (0.10.18) + debug_inspector (1.1.0) + diff-lcs (1.5.0) + docile (1.4.0) + dogstatsd-ruby (5.5.0) + extlz4 (0.3.3) + ffi (1.15.5) + google-protobuf (3.21.11) + hashdiff (1.0.1) + json (2.6.3) + json-schema (2.8.1) + addressable (>= 2.4) + libdatadog (0.9.0.1.0-aarch64-linux) + libddwaf (1.5.1.0.0-aarch64-linux) + ffi (~> 1.0) + memory_profiler (0.9.14) + method_source (1.0.0) + msgpack (1.6.0) + opentracing (0.5.0) + os (1.1.4) + parallel (1.22.1) + parser (3.1.3.0) + ast (~> 2.4.1) + pimpmychangelog (0.1.3) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) + pry-byebug (3.10.1) + byebug (~> 11.0) + pry (>= 0.13, < 0.15) + pry-stack_explorer (0.6.1) + binding_of_caller (~> 1.0) + pry (~> 0.13) + rack (3.0.2) + rainbow (3.1.1) + rake (13.0.6) + rake-compiler (1.2.0) + rake + redcarpet (3.5.1) + redis-client (0.11.2) + connection_pool + regexp_parser (2.6.1) + rexml (3.2.5) + rspec (3.12.0) + rspec-core (~> 3.12.0) + rspec-expectations (~> 3.12.0) + rspec-mocks (~> 3.12.0) + rspec-collection_matchers (1.2.0) + rspec-expectations (>= 2.99.0.beta1) + rspec-core (3.12.0) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.0) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.12.0) + rspec-mocks (3.12.1) + diff-lcs (>= 1.2.0, < 2.0) + rspec-support (~> 3.12.0) + rspec-support (3.12.0) + rspec_junit_formatter (0.6.0) + rspec-core (>= 2, < 4, != 2.12.0) + rspec_n (1.5.0) + colorize (~> 0.8.0) + cri (~> 2.15.3) + rubocop (1.32.0) + json (~> 2.3) + parallel (~> 1.10) + parser (>= 3.1.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.19.1, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.24.0) + parser (>= 3.1.1.0) + rubocop-packaging (0.5.1) + rubocop (>= 0.89, < 2.0) + rubocop-performance (1.15.1) + rubocop (>= 1.7.0, < 2.0) + rubocop-ast (>= 0.4.0) + rubocop-rspec (2.12.1) + rubocop (~> 1.31) + ruby-prof (1.4.3) + ruby-progressbar (1.11.0) + sidekiq (7.0.2) + concurrent-ruby (< 2) + connection_pool (>= 2.3.0) + rack (>= 2.2.4) + redis-client (>= 0.11.0) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) + thor (1.2.1) + unicode-display_width (2.3.0) + warning (1.3.0) + webmock (3.13.0) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) + webrick (1.7.0) + yard (0.9.28) + webrick (~> 1.7.0) + +PLATFORMS + aarch64-linux + +DEPENDENCIES + addressable (~> 2.4.0) + appraisal (~> 2.2) + benchmark-ips (~> 2.8) + benchmark-memory (< 0.2) + builder + climate_control (~> 0.2.0) + concurrent-ruby + ddtrace! + dogstatsd-ruby (>= 3.3.0, != 5.1.0, != 5.0.1, != 5.0.0) + extlz4 (~> 0.3, >= 0.3.3) + google-protobuf (~> 3.0, != 3.7.1, != 3.7.0) + json-schema (< 3) + memory_profiler (~> 0.9) + opentracing (>= 0.4.1) + os (~> 1.1) + pimpmychangelog (>= 0.1.2) + pry + pry-byebug + pry-stack_explorer + rake (>= 10.5) + rake-compiler (~> 1.1, >= 1.1.1) + redcarpet (~> 3.4) + rspec (~> 3.12) + rspec-collection_matchers (~> 1.1) + rspec_junit_formatter (>= 0.5.1) + rspec_n (~> 1.3) + rubocop (~> 1.10, < 1.33.0) + rubocop-packaging (~> 0.5) + rubocop-performance (~> 1.9) + rubocop-rspec (~> 2.2) + ruby-prof (~> 1.4) + sidekiq (~> 7) + simplecov! + warning (~> 1) + webmock (>= 3.10.0) + webrick (>= 1.7.0) + yard (~> 0.9) + +BUNDLED WITH + 2.3.26 diff --git a/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat_spec.rb b/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat_spec.rb index bcf7685de48..3495a898cae 100644 --- a/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat_spec.rb +++ b/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/heartbeat_spec.rb @@ -4,6 +4,8 @@ require_relative '../support/helper' RSpec.describe 'Server internal tracer heartbeat' do + include SidekiqServerExpectations + before do unless Datadog::Tracing::Contrib::Sidekiq::Integration.compatible_with_server_internal_tracing? skip 'Sidekiq internal server tracing is not supported on this version.' diff --git a/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch_spec.rb b/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch_spec.rb index 34c32b44cd3..a4a844d20f6 100644 --- a/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch_spec.rb +++ b/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/job_fetch_spec.rb @@ -4,6 +4,8 @@ require_relative '../support/helper' RSpec.describe 'Server internal tracer' do + include SidekiqServerExpectations + before do unless Datadog::Tracing::Contrib::Sidekiq::Integration.compatible_with_server_internal_tracing? skip 'Sidekiq internal server tracing is not supported on this version.' diff --git a/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/redis_info_spec.rb b/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/redis_info_spec.rb index 44f355b48fe..a299835f290 100644 --- a/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/redis_info_spec.rb +++ b/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/redis_info_spec.rb @@ -4,6 +4,7 @@ require_relative '../support/helper' RSpec.describe 'Server internal tracer' do + include SidekiqServerExpectations before do unless Datadog::Tracing::Contrib::Sidekiq::Integration.compatible_with_server_internal_tracing? skip 'Sidekiq internal server tracing is not supported on this version.' diff --git a/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller_spec.rb b/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller_spec.rb index 842b69d2b1e..0e11cc5ecfd 100644 --- a/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller_spec.rb +++ b/spec/datadog/tracing/contrib/sidekiq/server_internal_tracer/scheduled_poller_spec.rb @@ -4,6 +4,8 @@ require_relative '../support/helper' RSpec.describe 'Server internal tracer' do + include SidekiqServerExpectations + before do unless Datadog::Tracing::Contrib::Sidekiq::Integration.compatible_with_server_internal_tracing? skip 'Sidekiq internal server tracing is not supported on this version.' @@ -13,12 +15,21 @@ end around do |example| - original_poll_interval_average = Sidekiq.default_configuration[:poll_interval_average] - Sidekiq.default_configuration[:poll_interval_average] = 0 + if Sidekiq.respond_to? :default_configuration + original_poll_interval_average = Sidekiq.default_configuration[:poll_interval_average] + Sidekiq.default_configuration[:poll_interval_average] = 0 + + example.run - example.run + Sidekiq.default_configuration[:poll_interval_average] = original_poll_interval_average + else + original_poll_interval_average = Sidekiq.options[:poll_interval_average] + Sidekiq.options[:poll_interval_average] = 0 - Sidekiq.default_configuration[:poll_interval_average] = original_poll_interval_average + example.run + + Sidekiq.options[:poll_interval_average] = original_poll_interval_average + end end it 'traces the looping scheduled push' do diff --git a/spec/datadog/tracing/contrib/sidekiq/support/helper.rb b/spec/datadog/tracing/contrib/sidekiq/support/helper.rb index bf737ec9348..67f88de7ee4 100644 --- a/spec/datadog/tracing/contrib/sidekiq/support/helper.rb +++ b/spec/datadog/tracing/contrib/sidekiq/support/helper.rb @@ -81,7 +81,7 @@ def expect_in_sidekiq_server(wait_until: nil) end def expect_after_stopping_sidekiq_server - expect_in_fork do + # expect_in_fork do # NB: This is needed because we want to patch within a forked process. if Datadog::Tracing::Contrib::Sidekiq::Patcher.instance_variable_get(:@patch_only_once) Datadog::Tracing::Contrib::Sidekiq::Patcher @@ -98,8 +98,20 @@ def expect_after_stopping_sidekiq_server # Change options and constants for Sidekiq to stop faster: # Reduce number of threads and shutdown timeout. - binding.pry - options = cli.send(:options).merge(concurrency: 1, timeout: 0) + # binding.pry + puts Sidekiq::VERSION + + options = if Sidekiq.respond_to? :default_configuration + Sidekiq.default_configuration.tap do |c| + c[:concurrency] = 1 + c[:timeout] = 0 + end + else + Sidekiq.options.tap do |c| + c[:concurrency] = 1 + c[:timeout] = 0 + end + end # `Sidekiq::Launcher#stop` sleeps before actually starting to shutting down Sidekiq. # Settings `Manager::PAUSE_TIME` to zero removes that wait. @@ -119,11 +131,10 @@ def expect_after_stopping_sidekiq_server # Setting this value to 3 seconds or higher makes the shutdown process almost immediate, as # `Util#wait_for` checks immediately if workers have shut down, which is normally the case at this point. stub_const('Sidekiq::Util::PAUSE_TIME', 3) - launcher = Sidekiq::Launcher.new(options) launcher.stop yield - end + # end end end