instana 1.193.3.pre1 → 1.193.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +18 -12
  3. data/.gitignore +2 -1
  4. data/Appraisals +4 -0
  5. data/gemfiles/cuba_30.gemfile +1 -0
  6. data/gemfiles/dalli_20.gemfile +1 -0
  7. data/gemfiles/excon_02.gemfile +1 -0
  8. data/gemfiles/graphql_10.gemfile +1 -0
  9. data/gemfiles/grpc_10.gemfile +1 -0
  10. data/gemfiles/net_http_01.gemfile +1 -0
  11. data/gemfiles/rack_16.gemfile +1 -0
  12. data/gemfiles/rack_20.gemfile +1 -0
  13. data/gemfiles/rails_42.gemfile +2 -0
  14. data/gemfiles/rails_50.gemfile +2 -0
  15. data/gemfiles/rails_52.gemfile +2 -0
  16. data/gemfiles/rails_60.gemfile +2 -0
  17. data/gemfiles/redis_40.gemfile +1 -0
  18. data/gemfiles/resque_122.gemfile +1 -0
  19. data/gemfiles/resque_20.gemfile +1 -0
  20. data/gemfiles/rest_client_16.gemfile +1 -0
  21. data/gemfiles/rest_client_20.gemfile +1 -0
  22. data/gemfiles/roda_20.gemfile +1 -0
  23. data/gemfiles/roda_30.gemfile +1 -0
  24. data/gemfiles/sidekiq_42.gemfile +1 -0
  25. data/gemfiles/sidekiq_50.gemfile +1 -0
  26. data/gemfiles/sinatra_14.gemfile +1 -0
  27. data/lib/instana/activators/action_controller_api.rb +18 -0
  28. data/lib/instana/activators/action_controller_base.rb +18 -0
  29. data/lib/instana/activators/action_view.rb +18 -0
  30. data/lib/instana/activators/active_record.rb +18 -0
  31. data/lib/instana/frameworks/rails.rb +20 -32
  32. data/lib/instana/instrumentation/action_controller.rb +81 -0
  33. data/lib/instana/instrumentation/action_view.rb +27 -0
  34. data/lib/instana/instrumentation/active_record.rb +47 -0
  35. data/lib/instana/version.rb +1 -1
  36. data/test/{frameworks/rails/actioncontroller_test.rb → instrumentation/rails_action_controller_test.rb} +37 -21
  37. data/test/instrumentation/rails_action_view_test.rb +138 -0
  38. data/test/instrumentation/rails_active_record_test.rb +121 -0
  39. data/test/support/apps/active_record/active_record.rb +21 -0
  40. metadata +19 -23
  41. data/lib/instana/frameworks/instrumentation/abstract_mysql_adapter.rb +0 -56
  42. data/lib/instana/frameworks/instrumentation/action_controller.rb +0 -194
  43. data/lib/instana/frameworks/instrumentation/action_view.rb +0 -39
  44. data/lib/instana/frameworks/instrumentation/active_record.rb +0 -27
  45. data/lib/instana/frameworks/instrumentation/mysql2_adapter.rb +0 -83
  46. data/lib/instana/frameworks/instrumentation/mysql_adapter.rb +0 -60
  47. data/lib/instana/frameworks/instrumentation/postgresql_adapter.rb +0 -99
  48. data/test/frameworks/rails/actionview3_test.rb +0 -210
  49. data/test/frameworks/rails/actionview4_test.rb +0 -208
  50. data/test/frameworks/rails/actionview5_test.rb +0 -221
  51. data/test/frameworks/rails/activerecord_test.rb +0 -279
  52. data/test/frameworks/rails_test.rb +0 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 39072f3d9f182d124d30b3c7deddc9da5ea93cb9a2a6811a12b0484992578aa5
4
- data.tar.gz: 7db4cc14f93daf0fbd77a7bc64fa57822d3779a0ef5b54fbebef9e060d89f145
3
+ metadata.gz: '092873bb2c6b93365194d4cc70cbcdaf391c2423840358d1fc747fa063353b24'
4
+ data.tar.gz: 00bf12428b52ac42f97dc5d4a0182cdf5d6256913125ce38202560e2dcfb4dc8
5
5
  SHA512:
6
- metadata.gz: 3e5ca9bdb5bcb49fcd5084d37e0caa4fb9104a27fbc158850ac75a82cef098a1eed2af405d280ee7fda4e5b3f3e16e99442ce1576d60245bff500eea5a6658ca
7
- data.tar.gz: f271ea900f630a6bf26e4b578219df6f0f76225a2f94ee86da4a003fc4c52d1533019cbe830e4d47902f63ca6a5d8c432d5910c696fcdebc25196383f3768ffd
6
+ metadata.gz: 6029e3901cace8a446f00b438212b9aeaa073a5c3bb5051be7c8f7c68d361bfaabc2d3789e02eae6b2312a6066b874bb3a1ad4d193a71148510320e2b95d704f
7
+ data.tar.gz: 548311ebf421ff8df56b5c612dc75a509f290297b6de12d88c464832262a511e44ed4a9dc32125dc0c0856ebfe63da03854163e63ef4241dec886043ea3d945d
data/.circleci/config.yml CHANGED
@@ -7,6 +7,7 @@ executors:
7
7
  environment:
8
8
  MEMCACHED_HOST: '127.0.0.1:11211'
9
9
  REDIS_URL: 'redis://127.0.0.1:6379'
10
+ DATABASE_URL: 'sqlite3::memory:'
10
11
  - image: memcached
11
12
  - image: redis
12
13
  ruby_26:
@@ -15,6 +16,7 @@ executors:
15
16
  environment:
16
17
  MEMCACHED_HOST: '127.0.0.1:11211'
17
18
  REDIS_URL: 'redis://127.0.0.1:6379'
19
+ DATABASE_URL: 'sqlite3::memory:'
18
20
  - image: memcached
19
21
  - image: redis
20
22
  ruby_27:
@@ -23,8 +25,9 @@ executors:
23
25
  environment:
24
26
  MEMCACHED_HOST: '127.0.0.1:11211'
25
27
  REDIS_URL: 'redis://127.0.0.1:6379'
28
+ DATABASE_URL: 'sqlite3::memory:'
26
29
  - image: memcached
27
- - image: redis
30
+ - image: redis
28
31
  ruby_25_mysql2:
29
32
  docker:
30
33
  - image: circleci/ruby:2.5-node
@@ -72,7 +75,7 @@ executors:
72
75
  - image: postgres
73
76
  environment:
74
77
  POSTGRES_PASSWORD: 'test'
75
- POSTGRES_DB: 'ci_test'
78
+ POSTGRES_DB: 'ci_test'
76
79
  ruby_26_postgres:
77
80
  docker:
78
81
  - image: circleci/ruby:2.6-node
@@ -81,7 +84,7 @@ executors:
81
84
  - image: postgres
82
85
  environment:
83
86
  POSTGRES_PASSWORD: 'test'
84
- POSTGRES_DB: 'ci_test'
87
+ POSTGRES_DB: 'ci_test'
85
88
  ruby_27_postgres:
86
89
  docker:
87
90
  - image: circleci/ruby:2.7-node
@@ -90,7 +93,7 @@ executors:
90
93
  - image: postgres
91
94
  environment:
92
95
  POSTGRES_PASSWORD: 'test'
93
- POSTGRES_DB: 'ci_test'
96
+ POSTGRES_DB: 'ci_test'
94
97
 
95
98
  commands:
96
99
  setup:
@@ -99,7 +102,7 @@ commands:
99
102
  name: Install Java
100
103
  command: |
101
104
  sudo apt-get install openjdk-11-jdk
102
- - run:
105
+ - run:
103
106
  name: Update RubyGems
104
107
  command: |
105
108
  gem update --system
@@ -110,7 +113,7 @@ commands:
110
113
  gem install bundler
111
114
  bundler --version
112
115
  bundle config set path './vendor/bundle'
113
- - run:
116
+ - run:
114
117
  name: Install Depdendecies
115
118
  command: |
116
119
  bundle check || bundle install
@@ -215,12 +218,15 @@ workflows:
215
218
  jobs:
216
219
  - test_apprisal:
217
220
  matrix:
218
- parameters:
219
- stack:
220
- - ruby_27_postgres
221
- - ruby_26_postgres
222
- - ruby_25_postgres
223
- - ruby_27_mysql2
221
+ parameters:
222
+ stack:
223
+ - ruby_27
224
+ - ruby_26
225
+ - ruby_25
226
+ - ruby_27_postgres
227
+ - ruby_26_postgres
228
+ - ruby_25_postgres
229
+ - ruby_27_mysql2
224
230
  - ruby_26_mysql2
225
231
  - ruby_25_mysql2
226
232
  gemfile:
data/.gitignore CHANGED
@@ -15,4 +15,5 @@ gemfiles/*.lock
15
15
  *.iml
16
16
  .DS_Store
17
17
  vendor/bundle
18
- gemfiles/vendor/bundle
18
+ gemfiles/vendor/bundle
19
+ *.log
data/Appraisals CHANGED
@@ -30,24 +30,28 @@ appraise 'rails-42' do
30
30
  gem 'rails', '>= 4.2', '< 5.0'
31
31
  gem 'mysql2', '0.4.10'
32
32
  gem 'pg', '~> 0.21'
33
+ gem 'sqlite3', '~> 1.3', '< 1.4'
33
34
  end
34
35
 
35
36
  appraise 'rails-50' do
36
37
  gem 'rails', '>= 5.0', '< 5.1'
37
38
  gem 'mysql2', '0.4.10'
38
39
  gem 'pg'
40
+ gem 'sqlite3', '~> 1.3', '< 1.4'
39
41
  end
40
42
 
41
43
  appraise 'rails-52' do
42
44
  gem 'rails', '>= 5.2', '< 6.0'
43
45
  gem 'mysql2', '0.4.10'
44
46
  gem 'pg'
47
+ gem 'sqlite3', '~> 1.3', '< 1.4'
45
48
  end
46
49
 
47
50
  appraise 'rails-60' do
48
51
  gem 'rails', '>= 6.0', '< 6.1'
49
52
  gem 'mysql2', '0.4.10'
50
53
  gem 'pg'
54
+ gem 'sqlite3', '~> 1.4'
51
55
  end
52
56
 
53
57
  appraise 'redis-40' do
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "cuba", ">= 3.0", "< 4.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "dalli", ">= 2.0", "< 3.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "excon", ">= 0.21.0", "< 1.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "graphql", ">= 1.0", "< 2.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "grpc", ">= 1.0", "< 2.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
 
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "rack", "~> 1.6"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "rack", ">= 2.0", "< 3.0"
@@ -7,10 +7,12 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "rails", ">= 4.2", "< 5.0"
13
14
  gem "mysql2", "0.4.10"
14
15
  gem "pg", "~> 0.21"
16
+ gem "sqlite3", "~> 1.3", "< 1.4"
15
17
 
16
18
  gemspec path: "../"
@@ -7,10 +7,12 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "rails", ">= 5.0", "< 5.1"
13
14
  gem "mysql2", "0.4.10"
14
15
  gem "pg"
16
+ gem "sqlite3", "~> 1.3", "< 1.4"
15
17
 
16
18
  gemspec path: "../"
@@ -7,10 +7,12 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "rails", ">= 5.2", "< 6.0"
13
14
  gem "mysql2", "0.4.10"
14
15
  gem "pg"
16
+ gem "sqlite3", "~> 1.3", "< 1.4"
15
17
 
16
18
  gemspec path: "../"
@@ -7,10 +7,12 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "rails", ">= 6.0", "< 6.1"
13
14
  gem "mysql2", "0.4.10"
14
15
  gem "pg"
16
+ gem "sqlite3", "~> 1.4"
15
17
 
16
18
  gemspec path: "../"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "redis", ">= 4.0.0", "< 5.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "resque", ">= 1.22", "< 2.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "resque", ">= 2.0", "< 3.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "rest-client", ">= 1.6", "< 2.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "rest-client", ">= 2.0", "< 3.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "roda", ">= 2.0", "< 3.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "roda", ">= 3.0", "< 4.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "sidekiq", "~> 4.2.10"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "sidekiq", ">= 5.0", "< 6.0"
@@ -7,6 +7,7 @@ gem "minitest", "5.9.1"
7
7
  gem "minitest-reporters"
8
8
  gem "webmock"
9
9
  gem "puma"
10
+ gem "rubocop", "~> 1.9"
10
11
  gem "rack-test"
11
12
  gem "simplecov", "~> 0.21.2"
12
13
  gem "sinatra", "1.4.7"
@@ -0,0 +1,18 @@
1
+ module Instana
2
+ module Activators
3
+ class ActionControllerAPI < Activator
4
+ def can_instrument?
5
+ defined?(::ActionController::API)
6
+ end
7
+
8
+ def instrument
9
+ require 'instana/instrumentation/action_controller'
10
+
11
+ ::ActionController::API
12
+ .prepend(Instana::Instrumentation::ActionController)
13
+
14
+ true
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ module Instana
2
+ module Activators
3
+ class ActionControllerBase < Activator
4
+ def can_instrument?
5
+ defined?(::ActionController::Base)
6
+ end
7
+
8
+ def instrument
9
+ require 'instana/instrumentation/action_controller'
10
+
11
+ ::ActionController::Base
12
+ .prepend(Instana::Instrumentation::ActionController)
13
+
14
+ true
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ module Instana
2
+ module Activators
3
+ class ActionView < Activator
4
+ def can_instrument?
5
+ defined?(::ActionView::PartialRenderer)
6
+ end
7
+
8
+ def instrument
9
+ require 'instana/instrumentation/action_view'
10
+
11
+ ::ActionView::PartialRenderer
12
+ .prepend(Instana::Instrumentation::ActionView)
13
+
14
+ true
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,18 @@
1
+ module Instana
2
+ module Activators
3
+ class ActiveRecord < Activator
4
+ def can_instrument?
5
+ defined?(::ActiveRecord::ConnectionAdapters::AbstractAdapter)
6
+ end
7
+
8
+ def instrument
9
+ require 'instana/instrumentation/active_record'
10
+
11
+ ::ActiveRecord::ConnectionAdapters::AbstractAdapter
12
+ .prepend(Instana::Instrumentation::ActiveRecord)
13
+
14
+ true
15
+ end
16
+ end
17
+ end
18
+ end
@@ -1,39 +1,27 @@
1
- require "instana/rack"
1
+ if ::Rails::VERSION::MAJOR < 3
2
+ ::Rails.configuration.after_initialize do
3
+ # In Rails, let's use the Rails logger
4
+ ::Instana.logger = ::Rails.logger if ::Rails.logger
2
5
 
3
- if defined?(::Rails)
4
- if ::Rails::VERSION::MAJOR < 3
5
- ::Rails.configuration.after_initialize do
6
- # In Rails, let's use the Rails logger
7
- ::Instana.logger = ::Rails.logger if ::Rails.logger
8
-
9
- if ::Instana.config[:tracing][:enabled]
10
- ::Instana.logger.debug "Instrumenting Rack"
11
- ::Rails.configuration.middleware.insert 0, ::Instana::Rack
12
- else
13
- ::Instana.logger.info "Rack: Tracing disabled via config. Not enabling middleware."
14
- end
6
+ if ::Instana.config[:tracing][:enabled]
7
+ ::Instana.logger.debug "Instrumenting Rack"
8
+ ::Rails.configuration.middleware.insert 0, ::Instana::Rack
9
+ else
10
+ ::Instana.logger.info "Rack: Tracing disabled via config. Not enabling middleware."
15
11
  end
16
- else
17
- module ::Instana
18
- class Railtie < ::Rails::Railtie
19
- initializer 'instana.rack' do |app|
20
- # In Rails, let's use the Rails logger
21
- ::Instana.logger = ::Rails.logger if ::Rails.logger
22
-
23
- if ::Instana.config[:tracing][:enabled]
24
- ::Instana.logger.debug "Instrumenting Rack"
25
- app.config.middleware.insert 0, ::Instana::Rack
26
- else
27
- ::Instana.logger.info "Rack: Tracing disabled via config. Not enabling middleware."
28
- end
29
- end
12
+ end
13
+ else
14
+ module ::Instana
15
+ class Railtie < ::Rails::Railtie
16
+ initializer 'instana.rack' do |app|
17
+ # In Rails, let's use the Rails logger
18
+ ::Instana.logger = ::Rails.logger if ::Rails.logger
30
19
 
31
20
  if ::Instana.config[:tracing][:enabled]
32
- config.after_initialize do
33
- require "instana/frameworks/instrumentation/active_record"
34
- require "instana/frameworks/instrumentation/action_controller"
35
- require "instana/frameworks/instrumentation/action_view"
36
- end
21
+ ::Instana.logger.debug "Instrumenting Rack"
22
+ app.config.middleware.insert 0, ::Instana::Rack
23
+ else
24
+ ::Instana.logger.info "Rack: Tracing disabled via config. Not enabling middleware."
37
25
  end
38
26
  end
39
27
  end