instana 1.210.1 → 1.212.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +85 -38
  3. data/.github/ISSUE_TEMPLATE/bug.yml +1 -1
  4. data/.github/ISSUE_TEMPLATE/config.yml +1 -1
  5. data/.github/workflows/release-notification-on-slack.yml +34 -0
  6. data/Gemfile +3 -8
  7. data/README.md +4 -8
  8. data/Rakefile +21 -2
  9. data/bin/announce_release_on_slack.py +103 -0
  10. data/download.sh +85 -0
  11. data/gemfiles/aws_30.gemfile +7 -6
  12. data/gemfiles/aws_60.gemfile +19 -0
  13. data/gemfiles/coverage_merge.gemfile +9 -0
  14. data/gemfiles/cuba_30.gemfile +1 -1
  15. data/gemfiles/cuba_40.gemfile +1 -1
  16. data/gemfiles/dalli_20.gemfile +1 -1
  17. data/gemfiles/dalli_30.gemfile +1 -1
  18. data/gemfiles/dalli_32.gemfile +1 -1
  19. data/gemfiles/excon_02.gemfile +3 -2
  20. data/gemfiles/excon_021.gemfile +3 -1
  21. data/gemfiles/excon_079.gemfile +3 -2
  22. data/gemfiles/excon_100.gemfile +3 -2
  23. data/gemfiles/graphql_10.gemfile +1 -1
  24. data/gemfiles/graphql_20.gemfile +1 -1
  25. data/gemfiles/grpc_10.gemfile +1 -1
  26. data/gemfiles/mongo_216.gemfile +2 -2
  27. data/gemfiles/mongo_219.gemfile +15 -0
  28. data/gemfiles/net_http_01.gemfile +3 -2
  29. data/gemfiles/rack_16.gemfile +1 -1
  30. data/gemfiles/rack_20.gemfile +1 -1
  31. data/gemfiles/rack_30.gemfile +16 -0
  32. data/gemfiles/rails_42.gemfile +1 -1
  33. data/gemfiles/rails_50.gemfile +1 -1
  34. data/gemfiles/rails_52.gemfile +1 -1
  35. data/gemfiles/rails_60.gemfile +1 -1
  36. data/gemfiles/rails_61.gemfile +1 -1
  37. data/gemfiles/rails_70.gemfile +2 -2
  38. data/gemfiles/rails_71.gemfile +19 -0
  39. data/gemfiles/redis_40.gemfile +1 -1
  40. data/gemfiles/resque_122.gemfile +1 -1
  41. data/gemfiles/resque_20.gemfile +2 -2
  42. data/gemfiles/rest_client_16.gemfile +3 -2
  43. data/gemfiles/rest_client_20.gemfile +3 -2
  44. data/gemfiles/roda_20.gemfile +1 -1
  45. data/gemfiles/roda_30.gemfile +2 -2
  46. data/gemfiles/shoryuken_50.gemfile +2 -2
  47. data/gemfiles/shoryuken_60.gemfile +16 -0
  48. data/gemfiles/sidekiq_42.gemfile +1 -1
  49. data/gemfiles/sidekiq_50.gemfile +2 -2
  50. data/gemfiles/sidekiq_60.gemfile +2 -2
  51. data/gemfiles/sidekiq_65.gemfile +15 -0
  52. data/gemfiles/sidekiq_70.gemfile +2 -2
  53. data/gemfiles/sinatra_14.gemfile +2 -2
  54. data/gemfiles/sinatra_22.gemfile +15 -0
  55. data/gemfiles/sinatra_30.gemfile +15 -0
  56. data/lib/instana/activator.rb +20 -9
  57. data/lib/instana/activators/sidekiq_client.rb +1 -2
  58. data/lib/instana/activators/sidekiq_worker.rb +1 -2
  59. data/lib/instana/backend/serverless_agent.rb +1 -1
  60. data/lib/instana/instrumentation/sidekiq-client.rb +11 -2
  61. data/lib/instana/instrumentation/sidekiq-worker.rb +11 -2
  62. data/lib/instana/version.rb +1 -1
  63. data/test/activator_test.rb +20 -0
  64. data/test/backend/host_agent_reporting_observer_test.rb +5 -3
  65. data/test/instrumentation/aws_test.rb +5 -4
  66. data/test/instrumentation/rack_test.rb +13 -2
  67. data/test/instrumentation/rails_action_controller_test.rb +5 -1
  68. data/test/instrumentation/rails_action_view_test.rb +5 -1
  69. data/test/instrumentation/rails_active_record_database_missing_test.rb +5 -3
  70. data/test/instrumentation/sidekiq-client_test.rb +2 -18
  71. data/test/instrumentation/sidekiq-worker_test.rb +3 -45
  72. data/test/support/apps/http_endpoint/boot.rb +1 -1
  73. data/test/support/apps/sidekiq/worker.rb +8 -8
  74. data/test/test_helper.rb +8 -4
  75. data/test/tracing/custom_test.rb +64 -0
  76. metadata +14 -2
@@ -5,9 +5,10 @@
5
5
 
6
6
  source "https://rubygems.org"
7
7
 
8
- gem "rack", "<3.0.0"
8
+ gem "rack"
9
+ gem "rackup"
9
10
  gem "rake"
10
- gem "minitest", "5.9.1"
11
+ gem "minitest", "5.20.0"
11
12
  gem "minitest-reporters"
12
13
  gem "webmock"
13
14
  gem "puma"
@@ -5,8 +5,10 @@
5
5
 
6
6
  source "https://rubygems.org"
7
7
 
8
+ gem "rack"
9
+ gem "rackup"
8
10
  gem "rake"
9
- gem "minitest", "5.9.1"
11
+ gem "minitest", "5.20.0"
10
12
  gem "minitest-reporters"
11
13
  gem "webmock"
12
14
  gem "puma"
@@ -5,9 +5,10 @@
5
5
 
6
6
  source "https://rubygems.org"
7
7
 
8
- gem "rack", "<3.0.0"
8
+ gem "rack"
9
+ gem "rackup"
9
10
  gem "rake"
10
- gem "minitest", "5.9.1"
11
+ gem "minitest", "5.20.0"
11
12
  gem "minitest-reporters"
12
13
  gem "webmock"
13
14
  gem "puma"
@@ -2,9 +2,10 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "rack", "<3.0.0"
5
+ gem "rack"
6
+ gem "rackup"
6
7
  gem "rake"
7
- gem "minitest", "5.9.1"
8
+ gem "minitest", "5.20.0"
8
9
  gem "minitest-reporters"
9
10
  gem "webmock"
10
11
  gem "puma"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -6,13 +6,13 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
13
13
  gem "rubocop", "~> 1.9"
14
14
  gem "rack-test"
15
15
  gem "simplecov", "~> 0.21.2"
16
- gem "mongo", ">= 2.16", "< 3"
16
+ gem "mongo", ">= 2.16", "< 2.19"
17
17
 
18
18
  gemspec path: "../"
@@ -0,0 +1,15 @@
1
+ # (c) Copyright IBM Corp. 2023
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.20.0"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rubocop", "~> 1.9"
11
+ gem "rack-test"
12
+ gem "simplecov", "~> 0.21.2"
13
+ gem "mongo", ">= 2.19"
14
+
15
+ gemspec path: "../"
@@ -5,9 +5,10 @@
5
5
 
6
6
  source "https://rubygems.org"
7
7
 
8
- gem "rack", "<3.0.0"
8
+ gem "rack"
9
+ gem "rackup"
9
10
  gem "rake"
10
- gem "minitest", "5.9.1"
11
+ gem "minitest", "5.20.0"
11
12
  gem "minitest-reporters"
12
13
  gem "webmock"
13
14
  gem "puma"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -0,0 +1,16 @@
1
+ # (c) Copyright IBM Corp. 2023
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.20.0"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rubocop", "~> 1.9"
11
+ gem "rack-test"
12
+ gem "simplecov", "~> 0.21.2"
13
+ gem "rack", ">= 3.0.8"
14
+ gem "rackup", ">= 2.1.0"
15
+
16
+ gemspec path: "../"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -3,7 +3,7 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake"
6
- gem "minitest", "5.9.1"
6
+ gem "minitest", "5.20.0"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
@@ -11,7 +11,7 @@ gem "rubocop", "~> 1.9"
11
11
  gem "rack-test"
12
12
  gem "simplecov", "~> 0.21.2"
13
13
  gem "mail", ">= 2.8.1"
14
- gem "rails", ">= 7.0"
14
+ gem "rails", "7.0.8"
15
15
  gem "mysql2", "0.5.5"
16
16
  gem "pg"
17
17
  gem "sqlite3", "~> 1.4"
@@ -0,0 +1,19 @@
1
+ # (c) Copyright IBM Corp. 2023
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.20.0"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rubocop", "~> 1.9"
11
+ gem "rack-test"
12
+ gem "simplecov", "~> 0.21.2"
13
+ gem "mail", ">= 2.8.1"
14
+ gem "rails", ">= 7.1"
15
+ gem "mysql2", "0.5.5"
16
+ gem "pg"
17
+ gem "sqlite3", "~> 1.4"
18
+
19
+ gemspec path: "../"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -7,13 +7,13 @@ source "https://rubygems.org"
7
7
 
8
8
  gem "redis", "< 5.0.0"
9
9
  gem "rake"
10
- gem "minitest", "5.9.1"
10
+ gem "minitest", "5.20.0"
11
11
  gem "minitest-reporters"
12
12
  gem "webmock"
13
13
  gem "puma"
14
14
  gem "rubocop", "~> 1.9"
15
15
  gem "rack-test"
16
16
  gem "simplecov", "~> 0.21.2"
17
- gem "resque", ">= 2.0", "< 2.3.0"
17
+ gem "resque", ">= 2.5.0"
18
18
 
19
19
  gemspec path: "../"
@@ -5,9 +5,10 @@
5
5
 
6
6
  source "https://rubygems.org"
7
7
 
8
- gem "rack", "<3.0.0"
8
+ gem "rack"
9
+ gem "rackup"
9
10
  gem "rake"
10
- gem "minitest", "5.9.1"
11
+ gem "minitest", "5.20.0"
11
12
  gem "minitest-reporters"
12
13
  gem "webmock"
13
14
  gem "puma"
@@ -5,9 +5,10 @@
5
5
 
6
6
  source "https://rubygems.org"
7
7
 
8
- gem "rack", "<3.0.0"
8
+ gem "rack"
9
+ gem "rackup"
9
10
  gem "rake"
10
- gem "minitest", "5.9.1"
11
+ gem "minitest", "5.20.0"
11
12
  gem "minitest-reporters"
12
13
  gem "webmock"
13
14
  gem "puma"
@@ -7,7 +7,7 @@ source "https://rubygems.org"
7
7
 
8
8
  gem "rack", "<3.0.0"
9
9
  gem "rake"
10
- gem "minitest", "5.9.1"
10
+ gem "minitest", "5.20.0"
11
11
  gem "minitest-reporters"
12
12
  gem "webmock"
13
13
  gem "puma"
@@ -7,13 +7,13 @@ source "https://rubygems.org"
7
7
 
8
8
  gem "rack", "<3.0.0"
9
9
  gem "rake"
10
- gem "minitest", "5.9.1"
10
+ gem "minitest", "5.20.0"
11
11
  gem "minitest-reporters"
12
12
  gem "webmock"
13
13
  gem "puma"
14
14
  gem "rubocop", "~> 1.9"
15
15
  gem "rack-test"
16
16
  gem "simplecov", "~> 0.21.2"
17
- gem "roda", ">= 3.0", "< 4.0"
17
+ gem "roda", ">= 3.69.0"
18
18
 
19
19
  gemspec path: "../"
@@ -6,14 +6,14 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
13
13
  gem "rubocop", "~> 1.9"
14
14
  gem "rack-test"
15
15
  gem "simplecov", "~> 0.21.2"
16
- gem "shoryuken", "~> 5.2"
16
+ gem "shoryuken", ">= 5.2", "< 6.0"
17
17
  gem "aws-sdk-sqs", "~> 1.36"
18
18
 
19
19
  gemspec path: "../"
@@ -0,0 +1,16 @@
1
+ # (c) Copyright IBM Corp. 2023
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.20.0"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rubocop", "~> 1.9"
11
+ gem "rack-test"
12
+ gem "simplecov", "~> 0.21.2"
13
+ gem "shoryuken", ">= 6.0"
14
+ gem "aws-sdk-sqs", "~> 1.59"
15
+
16
+ gemspec path: "../"
@@ -6,7 +6,7 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
@@ -6,13 +6,13 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
13
13
  gem "rubocop", "~> 1.9"
14
14
  gem "rack-test"
15
15
  gem "simplecov", "~> 0.21.2"
16
- gem "sidekiq", ">= 5.0", "< 6.0"
16
+ gem "sidekiq", "< 6.0"
17
17
 
18
18
  gemspec path: "../"
@@ -3,13 +3,13 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake"
6
- gem "minitest", "5.9.1"
6
+ gem "minitest", "5.20.0"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
10
  gem "rubocop", "~> 1.9"
11
11
  gem "rack-test"
12
12
  gem "simplecov", "~> 0.21.2"
13
- gem "sidekiq", ">= 6.0", "< 7.0"
13
+ gem "sidekiq", ">= 6.0.0", "< 6.5.0"
14
14
 
15
15
  gemspec path: "../"
@@ -0,0 +1,15 @@
1
+ # (c) Copyright IBM Corp. 2023
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.20.0"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rubocop", "~> 1.9"
11
+ gem "rack-test"
12
+ gem "simplecov", "~> 0.21.2"
13
+ gem "sidekiq", ">= 6.5.12", "< 7.0.0"
14
+
15
+ gemspec path: "../"
@@ -3,13 +3,13 @@
3
3
  source "https://rubygems.org"
4
4
 
5
5
  gem "rake"
6
- gem "minitest", "5.9.1"
6
+ gem "minitest", "5.20.0"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
10
  gem "rubocop", "~> 1.9"
11
11
  gem "rack-test"
12
12
  gem "simplecov", "~> 0.21.2"
13
- gem "sidekiq", ">= 7.0"
13
+ gem "sidekiq", ">= 7.2.0"
14
14
 
15
15
  gemspec path: "../"
@@ -6,13 +6,13 @@
6
6
  source "https://rubygems.org"
7
7
 
8
8
  gem "rake"
9
- gem "minitest", "5.9.1"
9
+ gem "minitest", "5.20.0"
10
10
  gem "minitest-reporters"
11
11
  gem "webmock"
12
12
  gem "puma"
13
13
  gem "rubocop", "~> 1.9"
14
14
  gem "rack-test"
15
15
  gem "simplecov", "~> 0.21.2"
16
- gem "sinatra", "1.4.7"
16
+ gem "sinatra", ">= 1.4.8", "< 2.0"
17
17
 
18
18
  gemspec path: "../"
@@ -0,0 +1,15 @@
1
+ # (c) Copyright IBM Corp. 2023
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.20.0"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rubocop", "~> 1.9"
11
+ gem "rack-test"
12
+ gem "simplecov", "~> 0.21.2"
13
+ gem "sinatra", ">= 2.2.4", "< 3.0"
14
+
15
+ gemspec path: "../"
@@ -0,0 +1,15 @@
1
+ # (c) Copyright IBM Corp. 2023
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.20.0"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rubocop", "~> 1.9"
11
+ gem "rack-test"
12
+ gem "simplecov", "~> 0.21.2"
13
+ gem "sinatra", ">= 3.0.6"
14
+
15
+ gemspec path: "../"
@@ -43,16 +43,27 @@ module Instana
43
43
  end
44
44
  end
45
45
 
46
- Dir["#{__dir__}/activators/*.rb"]
47
- .sort
48
- .select do |f|
49
- # :nocov:
46
+ DIRECTORY_OF_ACTIVATORS = "#{__dir__}/activators/".freeze
47
+
48
+ def activated_set
49
+ all_activators = Set.new(
50
+ Dir["*.rb", base: DIRECTORY_OF_ACTIVATORS].map do |f|
51
+ File.basename(f, '.rb')
52
+ end
53
+ )
54
+
50
55
  if ENV['INSTANA_ACTIVATE_SET']
51
- base = File.basename(f, '.rb')
52
- ENV.fetch('INSTANA_ACTIVATE_SET', '').split(',').include?(base)
56
+ selected_activators = Set.new(ENV.fetch('INSTANA_ACTIVATE_SET', '').split(','))
57
+ all_activators & selected_activators
53
58
  else
54
- true
59
+ all_activators
55
60
  end
56
- # :nocov:
57
61
  end
58
- .each { |f| require(f) }
62
+
63
+ def require_selected_activator_files
64
+ activated_set.each do |f|
65
+ require("#{DIRECTORY_OF_ACTIVATORS}#{f}.rb")
66
+ end
67
+ end
68
+
69
+ require_selected_activator_files
@@ -5,8 +5,7 @@ module Instana
5
5
  module Activators
6
6
  class SidekiqClient < Activator
7
7
  def can_instrument?
8
- defined?(::Sidekiq) && ::Sidekiq.respond_to?(:configure_client) && ::Instana.config[:'sidekiq-client'][:enabled] &&
9
- Gem::Specification.find_by_name('sidekiq').version < Gem::Version.new('5.3')
8
+ defined?(::Sidekiq) && ::Sidekiq.respond_to?(:configure_client) && ::Instana.config[:'sidekiq-client'][:enabled]
10
9
  end
11
10
 
12
11
  def instrument
@@ -5,8 +5,7 @@ module Instana
5
5
  module Activators
6
6
  class SidekiqWorker < Activator
7
7
  def can_instrument?
8
- defined?(::Sidekiq) && ::Sidekiq.respond_to?(:configure_server) && ::Instana.config[:'sidekiq-worker'][:enabled] &&
9
- Gem::Specification.find_by_name('sidekiq').version < Gem::Version.new('5.3')
8
+ defined?(::Sidekiq) && ::Sidekiq.respond_to?(:configure_server) && ::Instana.config[:'sidekiq-worker'][:enabled]
10
9
  end
11
10
 
12
11
  def instrument
@@ -98,7 +98,7 @@ module Instana
98
98
  @logger.error(e.message)
99
99
  nil
100
100
  end
101
- end.reject { |_, v| v.nil? }
101
+ end.reject { |v| v.nil? }
102
102
  end
103
103
 
104
104
  def host_name
@@ -14,8 +14,17 @@ module Instana
14
14
  # Temporary until we move connection collection to redis
15
15
  # instrumentation
16
16
  Sidekiq.redis_pool.with do |client|
17
- opts = client.respond_to?(:connection) ? client.connection : client.client.options
18
- kv_payload[:'sidekiq-client'][:'redis-url'] = "#{opts[:host]}:#{opts[:port]}"
17
+ sidekiq_version = Gem::Specification.find_by_name('sidekiq').version
18
+ host, port = if sidekiq_version >= Gem::Version.new('7.0') && client.respond_to?(:config) && client.config.respond_to?(:host) && client.config.respond_to?(:port)
19
+ [client.config.host, client.config.port]
20
+ elsif client.respond_to?(:connection)
21
+ [client.connection[:host], client.connection[:port]]
22
+ elsif client.respond_to?(:client) && client.client.respond_to?(:options)
23
+ [client.client.options[:host], client.client.options[:port]]
24
+ else # Unexpected version, continue without recording any redis-url
25
+ break
26
+ end
27
+ kv_payload[:'sidekiq-client'][:'redis-url'] = "#{host}:#{port}"
19
28
  end
20
29
 
21
30
  context = ::Instana.tracer.context
@@ -14,8 +14,17 @@ module Instana
14
14
  # Temporary until we move connection collection to redis
15
15
  # instrumentation
16
16
  Sidekiq.redis_pool.with do |client|
17
- opts = client.respond_to?(:connection) ? client.connection : client.client.options
18
- kv_payload[:'sidekiq-worker'][:'redis-url'] = "#{opts[:host]}:#{opts[:port]}"
17
+ sidekiq_version = Gem::Specification.find_by_name('sidekiq').version
18
+ host, port = if sidekiq_version >= Gem::Version.new('7.0') && client.respond_to?(:config) && client.config.respond_to?(:host) && client.config.respond_to?(:port)
19
+ [client.config.host, client.config.port]
20
+ elsif client.respond_to?(:connection)
21
+ [client.connection[:host], client.connection[:port]]
22
+ elsif client.respond_to?(:client) && client.client.respond_to?(:options)
23
+ [client.client.options[:host], client.client.options[:port]]
24
+ else # Unexpected version, continue without recording any redis-url
25
+ break
26
+ end
27
+ kv_payload[:'sidekiq-worker'][:'redis-url'] = "#{host}:#{port}"
19
28
  end
20
29
 
21
30
  context = {}
@@ -2,6 +2,6 @@
2
2
  # (c) Copyright Instana Inc. 2016
3
3
 
4
4
  module Instana
5
- VERSION = "1.210.1"
5
+ VERSION = "1.212.0"
6
6
  VERSION_FULL = "instana-#{VERSION}"
7
7
  end