instana 1.210.1 → 1.212.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +85 -38
- data/.github/ISSUE_TEMPLATE/bug.yml +1 -1
- data/.github/ISSUE_TEMPLATE/config.yml +1 -1
- data/.github/workflows/release-notification-on-slack.yml +34 -0
- data/Gemfile +3 -8
- data/README.md +4 -8
- data/Rakefile +21 -2
- data/bin/announce_release_on_slack.py +103 -0
- data/download.sh +85 -0
- data/gemfiles/aws_30.gemfile +7 -6
- data/gemfiles/aws_60.gemfile +19 -0
- data/gemfiles/coverage_merge.gemfile +9 -0
- data/gemfiles/cuba_30.gemfile +1 -1
- data/gemfiles/cuba_40.gemfile +1 -1
- data/gemfiles/dalli_20.gemfile +1 -1
- data/gemfiles/dalli_30.gemfile +1 -1
- data/gemfiles/dalli_32.gemfile +1 -1
- data/gemfiles/excon_02.gemfile +3 -2
- data/gemfiles/excon_021.gemfile +3 -1
- data/gemfiles/excon_079.gemfile +3 -2
- data/gemfiles/excon_100.gemfile +3 -2
- data/gemfiles/graphql_10.gemfile +1 -1
- data/gemfiles/graphql_20.gemfile +1 -1
- data/gemfiles/grpc_10.gemfile +1 -1
- data/gemfiles/mongo_216.gemfile +2 -2
- data/gemfiles/mongo_219.gemfile +15 -0
- data/gemfiles/net_http_01.gemfile +3 -2
- data/gemfiles/rack_16.gemfile +1 -1
- data/gemfiles/rack_20.gemfile +1 -1
- data/gemfiles/rack_30.gemfile +16 -0
- data/gemfiles/rails_42.gemfile +1 -1
- data/gemfiles/rails_50.gemfile +1 -1
- data/gemfiles/rails_52.gemfile +1 -1
- data/gemfiles/rails_60.gemfile +1 -1
- data/gemfiles/rails_61.gemfile +1 -1
- data/gemfiles/rails_70.gemfile +2 -2
- data/gemfiles/rails_71.gemfile +19 -0
- data/gemfiles/redis_40.gemfile +1 -1
- data/gemfiles/resque_122.gemfile +1 -1
- data/gemfiles/resque_20.gemfile +2 -2
- data/gemfiles/rest_client_16.gemfile +3 -2
- data/gemfiles/rest_client_20.gemfile +3 -2
- data/gemfiles/roda_20.gemfile +1 -1
- data/gemfiles/roda_30.gemfile +2 -2
- data/gemfiles/shoryuken_50.gemfile +2 -2
- data/gemfiles/shoryuken_60.gemfile +16 -0
- data/gemfiles/sidekiq_42.gemfile +1 -1
- data/gemfiles/sidekiq_50.gemfile +2 -2
- data/gemfiles/sidekiq_60.gemfile +2 -2
- data/gemfiles/sidekiq_65.gemfile +15 -0
- data/gemfiles/sidekiq_70.gemfile +2 -2
- data/gemfiles/sinatra_14.gemfile +2 -2
- data/gemfiles/sinatra_22.gemfile +15 -0
- data/gemfiles/sinatra_30.gemfile +15 -0
- data/lib/instana/activator.rb +20 -9
- data/lib/instana/activators/sidekiq_client.rb +1 -2
- data/lib/instana/activators/sidekiq_worker.rb +1 -2
- data/lib/instana/backend/serverless_agent.rb +1 -1
- data/lib/instana/instrumentation/sidekiq-client.rb +11 -2
- data/lib/instana/instrumentation/sidekiq-worker.rb +11 -2
- data/lib/instana/version.rb +1 -1
- data/test/activator_test.rb +20 -0
- data/test/backend/host_agent_reporting_observer_test.rb +5 -3
- data/test/instrumentation/aws_test.rb +5 -4
- data/test/instrumentation/rack_test.rb +13 -2
- data/test/instrumentation/rails_action_controller_test.rb +5 -1
- data/test/instrumentation/rails_action_view_test.rb +5 -1
- data/test/instrumentation/rails_active_record_database_missing_test.rb +5 -3
- data/test/instrumentation/sidekiq-client_test.rb +2 -18
- data/test/instrumentation/sidekiq-worker_test.rb +3 -45
- data/test/support/apps/http_endpoint/boot.rb +1 -1
- data/test/support/apps/sidekiq/worker.rb +8 -8
- data/test/test_helper.rb +8 -4
- data/test/tracing/custom_test.rb +64 -0
- metadata +14 -2
data/gemfiles/excon_02.gemfile
CHANGED
data/gemfiles/excon_021.gemfile
CHANGED
data/gemfiles/excon_079.gemfile
CHANGED
data/gemfiles/excon_100.gemfile
CHANGED
data/gemfiles/graphql_10.gemfile
CHANGED
data/gemfiles/graphql_20.gemfile
CHANGED
data/gemfiles/grpc_10.gemfile
CHANGED
data/gemfiles/mongo_216.gemfile
CHANGED
@@ -6,13 +6,13 @@
|
|
6
6
|
source "https://rubygems.org"
|
7
7
|
|
8
8
|
gem "rake"
|
9
|
-
gem "minitest", "5.
|
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", "<
|
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: "../"
|
data/gemfiles/rack_16.gemfile
CHANGED
data/gemfiles/rack_20.gemfile
CHANGED
@@ -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: "../"
|
data/gemfiles/rails_42.gemfile
CHANGED
data/gemfiles/rails_50.gemfile
CHANGED
data/gemfiles/rails_52.gemfile
CHANGED
data/gemfiles/rails_60.gemfile
CHANGED
data/gemfiles/rails_61.gemfile
CHANGED
data/gemfiles/rails_70.gemfile
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
5
|
gem "rake"
|
6
|
-
gem "minitest", "5.
|
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", "
|
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: "../"
|
data/gemfiles/redis_40.gemfile
CHANGED
data/gemfiles/resque_122.gemfile
CHANGED
data/gemfiles/resque_20.gemfile
CHANGED
@@ -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.
|
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.
|
17
|
+
gem "resque", ">= 2.5.0"
|
18
18
|
|
19
19
|
gemspec path: "../"
|
data/gemfiles/roda_20.gemfile
CHANGED
data/gemfiles/roda_30.gemfile
CHANGED
@@ -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.
|
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.
|
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
|
+
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", "
|
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: "../"
|
data/gemfiles/sidekiq_42.gemfile
CHANGED
data/gemfiles/sidekiq_50.gemfile
CHANGED
@@ -6,13 +6,13 @@
|
|
6
6
|
source "https://rubygems.org"
|
7
7
|
|
8
8
|
gem "rake"
|
9
|
-
gem "minitest", "5.
|
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", "
|
16
|
+
gem "sidekiq", "< 6.0"
|
17
17
|
|
18
18
|
gemspec path: "../"
|
data/gemfiles/sidekiq_60.gemfile
CHANGED
@@ -3,13 +3,13 @@
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
5
|
gem "rake"
|
6
|
-
gem "minitest", "5.
|
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", "<
|
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: "../"
|
data/gemfiles/sidekiq_70.gemfile
CHANGED
@@ -3,13 +3,13 @@
|
|
3
3
|
source "https://rubygems.org"
|
4
4
|
|
5
5
|
gem "rake"
|
6
|
-
gem "minitest", "5.
|
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: "../"
|
data/gemfiles/sinatra_14.gemfile
CHANGED
@@ -6,13 +6,13 @@
|
|
6
6
|
source "https://rubygems.org"
|
7
7
|
|
8
8
|
gem "rake"
|
9
|
-
gem "minitest", "5.
|
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.
|
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: "../"
|
data/lib/instana/activator.rb
CHANGED
@@ -43,16 +43,27 @@ module Instana
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
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
|
-
|
52
|
-
|
56
|
+
selected_activators = Set.new(ENV.fetch('INSTANA_ACTIVATE_SET', '').split(','))
|
57
|
+
all_activators & selected_activators
|
53
58
|
else
|
54
|
-
|
59
|
+
all_activators
|
55
60
|
end
|
56
|
-
# :nocov:
|
57
61
|
end
|
58
|
-
|
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
|
@@ -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
|
-
|
18
|
-
|
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
|
-
|
18
|
-
|
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 = {}
|