instana 1.12.0 → 1.193.3.pre1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +194 -133
  3. data/.editorconfig +10 -0
  4. data/.gitignore +2 -0
  5. data/.rubocop.yml +5 -1147
  6. data/.rubocop_todo.yml +1140 -0
  7. data/Appraisals +96 -0
  8. data/Gemfile +11 -32
  9. data/Rakefile +15 -49
  10. data/bin/console +5 -4
  11. data/gemfiles/.bundle/config +1 -2
  12. data/gemfiles/cuba_30.gemfile +14 -0
  13. data/gemfiles/dalli_20.gemfile +14 -0
  14. data/gemfiles/excon_02.gemfile +14 -0
  15. data/gemfiles/graphql_10.gemfile +14 -0
  16. data/gemfiles/grpc_10.gemfile +14 -0
  17. data/gemfiles/net_http_01.gemfile +13 -0
  18. data/gemfiles/rack_16.gemfile +14 -0
  19. data/gemfiles/rack_20.gemfile +14 -0
  20. data/gemfiles/rails_42.gemfile +16 -0
  21. data/gemfiles/rails_50.gemfile +16 -0
  22. data/gemfiles/rails_52.gemfile +16 -0
  23. data/gemfiles/rails_60.gemfile +16 -0
  24. data/gemfiles/redis_40.gemfile +14 -0
  25. data/gemfiles/resque_122.gemfile +15 -0
  26. data/gemfiles/resque_20.gemfile +14 -0
  27. data/gemfiles/rest_client_16.gemfile +14 -0
  28. data/gemfiles/rest_client_20.gemfile +14 -0
  29. data/gemfiles/roda_20.gemfile +14 -0
  30. data/gemfiles/roda_30.gemfile +14 -0
  31. data/gemfiles/sidekiq_42.gemfile +14 -0
  32. data/gemfiles/sidekiq_50.gemfile +14 -0
  33. data/gemfiles/sinatra_14.gemfile +14 -0
  34. data/instana.gemspec +1 -7
  35. data/lib/instana/activator.rb +41 -0
  36. data/lib/instana/activators/cuba.rb +18 -0
  37. data/lib/instana/activators/dalli.rb +20 -0
  38. data/lib/instana/activators/excon.rb +17 -0
  39. data/lib/instana/activators/graphql.rb +19 -0
  40. data/lib/instana/activators/grpc_client.rb +17 -0
  41. data/lib/instana/activators/grpc_server.rb +17 -0
  42. data/lib/instana/activators/net_http.rb +17 -0
  43. data/lib/instana/activators/rack.rb +13 -0
  44. data/lib/instana/activators/rails.rb +15 -0
  45. data/lib/instana/activators/redis.rb +17 -0
  46. data/lib/instana/activators/resque_client.rb +18 -0
  47. data/lib/instana/activators/resque_worker.rb +30 -0
  48. data/lib/instana/activators/rest_client.rb +17 -0
  49. data/lib/instana/activators/roda.rb +18 -0
  50. data/lib/instana/activators/sidekiq_client.rb +21 -0
  51. data/lib/instana/activators/sidekiq_worker.rb +21 -0
  52. data/lib/instana/activators/sinatra.rb +18 -0
  53. data/lib/instana/agent.rb +6 -0
  54. data/lib/instana/base.rb +2 -0
  55. data/lib/instana/config.rb +11 -0
  56. data/lib/instana/frameworks/cuba.rb +6 -13
  57. data/lib/instana/frameworks/instrumentation/abstract_mysql_adapter.rb +5 -7
  58. data/lib/instana/frameworks/instrumentation/action_view.rb +6 -10
  59. data/lib/instana/frameworks/instrumentation/active_record.rb +4 -4
  60. data/lib/instana/frameworks/instrumentation/mysql2_adapter.rb +17 -15
  61. data/lib/instana/frameworks/instrumentation/mysql_adapter.rb +11 -7
  62. data/lib/instana/frameworks/instrumentation/postgresql_adapter.rb +33 -19
  63. data/lib/instana/frameworks/rails.rb +0 -1
  64. data/lib/instana/frameworks/roda.rb +7 -13
  65. data/lib/instana/frameworks/sinatra.rb +1 -8
  66. data/lib/instana/instrumentation/dalli.rb +7 -18
  67. data/lib/instana/instrumentation/excon.rb +51 -57
  68. data/lib/instana/instrumentation/graphql.rb +75 -0
  69. data/lib/instana/instrumentation/grpc.rb +70 -66
  70. data/lib/instana/instrumentation/instrumented_request.rb +69 -0
  71. data/lib/instana/instrumentation/net-http.rb +43 -45
  72. data/lib/instana/instrumentation/rack.rb +14 -53
  73. data/lib/instana/instrumentation/redis.rb +10 -18
  74. data/lib/instana/instrumentation/resque.rb +14 -50
  75. data/lib/instana/instrumentation/rest-client.rb +2 -17
  76. data/lib/instana/instrumentation/sidekiq-client.rb +0 -9
  77. data/lib/instana/instrumentation/sidekiq-worker.rb +0 -9
  78. data/lib/instana/secrets.rb +42 -0
  79. data/lib/instana/setup.rb +4 -1
  80. data/lib/instana/tracer.rb +6 -0
  81. data/lib/instana/tracing/span.rb +14 -10
  82. data/lib/instana/util.rb +15 -69
  83. data/lib/instana/version.rb +1 -1
  84. data/test/activator_test.rb +27 -0
  85. data/test/config_test.rb +1 -17
  86. data/test/frameworks/cuba_test.rb +38 -40
  87. data/test/frameworks/rails/activerecord_test.rb +86 -34
  88. data/test/frameworks/rails_test.rb +15 -0
  89. data/test/frameworks/roda_test.rb +39 -41
  90. data/test/frameworks/sinatra_test.rb +61 -64
  91. data/test/instrumentation/excon_test.rb +1 -2
  92. data/test/instrumentation/graphql_test.rb +116 -0
  93. data/test/instrumentation/grpc_test.rb +2 -1
  94. data/test/instrumentation/{net-http_test.rb → net_http_test.rb} +1 -0
  95. data/test/instrumentation/rack_instrumented_request_test.rb +84 -0
  96. data/test/{frameworks → instrumentation}/rack_test.rb +32 -20
  97. data/test/instrumentation/redis_test.rb +10 -0
  98. data/test/instrumentation/resque_test.rb +3 -11
  99. data/test/instrumentation/{rest-client_test.rb → rest_client_test.rb} +6 -0
  100. data/test/instrumentation/sidekiq-client_test.rb +1 -0
  101. data/test/instrumentation/sidekiq-worker_test.rb +1 -0
  102. data/test/secrets_test.rb +73 -0
  103. data/test/{servers/grpc_50051.rb → support/apps/grpc/boot.rb} +1 -1
  104. data/test/{apps → support/apps/grpc}/grpc_server.rb +0 -0
  105. data/test/{servers/rackapp_6511.rb → support/apps/http_endpoint/boot.rb} +0 -0
  106. data/test/{servers/rails_3205.rb → support/apps/rails/boot.rb} +8 -14
  107. data/test/{models → support/apps/rails/models}/block.rb +1 -1
  108. data/test/{models → support/apps/rails/models}/block6.rb +0 -0
  109. data/test/support/apps/resque/boot.rb +2 -0
  110. data/test/{jobs → support/apps/resque/jobs}/resque_error_job.rb +0 -0
  111. data/test/{jobs → support/apps/resque/jobs}/resque_fast_job.rb +0 -0
  112. data/test/support/apps/sidekiq/boot.rb +21 -0
  113. data/test/{jobs → support/apps/sidekiq/jobs}/sidekiq_job_1.rb +0 -0
  114. data/test/{jobs → support/apps/sidekiq/jobs}/sidekiq_job_2.rb +0 -0
  115. data/test/{servers → support/apps}/sidekiq/worker.rb +2 -2
  116. data/test/support/helpers.rb +94 -0
  117. data/test/test_helper.rb +24 -144
  118. data/test/tracing/id_management_test.rb +4 -66
  119. metadata +98 -80
  120. data/gemfiles/libraries.gemfile +0 -71
  121. data/gemfiles/rails32.gemfile +0 -51
  122. data/gemfiles/rails42.gemfile +0 -50
  123. data/gemfiles/rails50.gemfile +0 -52
  124. data/gemfiles/rails52.gemfile +0 -52
  125. data/gemfiles/rails60.gemfile +0 -72
  126. data/lib/instana/instrumentation.rb +0 -25
  127. data/lib/instana/test.rb +0 -43
  128. data/test/apps/cuba.rb +0 -19
  129. data/test/apps/roda.rb +0 -13
  130. data/test/apps/sinatra.rb +0 -9
  131. data/test/servers/helpers/sidekiq_worker_initializer.rb +0 -27
data/Appraisals ADDED
@@ -0,0 +1,96 @@
1
+ appraise 'cuba-30' do
2
+ gem 'cuba', '>= 3.0', '< 4.0'
3
+ end
4
+
5
+ appraise 'dalli-20' do
6
+ gem 'dalli', '>= 2.0', '< 3.0'
7
+ end
8
+
9
+ appraise 'excon-02' do
10
+ gem 'excon', '>= 0.21.0', '< 1.0'
11
+ end
12
+
13
+ appraise 'grpc-10' do
14
+ gem 'grpc', '>= 1.0', '< 2.0'
15
+ end
16
+
17
+ appraise 'graphql-10' do
18
+ gem 'graphql', '>= 1.0', '< 2.0'
19
+ end
20
+
21
+ appraise 'rack-16' do
22
+ gem 'rack', '~> 1.6'
23
+ end
24
+
25
+ appraise 'rack-20' do
26
+ gem 'rack', '>= 2.0', '< 3.0'
27
+ end
28
+
29
+ appraise 'rails-42' do
30
+ gem 'rails', '>= 4.2', '< 5.0'
31
+ gem 'mysql2', '0.4.10'
32
+ gem 'pg', '~> 0.21'
33
+ end
34
+
35
+ appraise 'rails-50' do
36
+ gem 'rails', '>= 5.0', '< 5.1'
37
+ gem 'mysql2', '0.4.10'
38
+ gem 'pg'
39
+ end
40
+
41
+ appraise 'rails-52' do
42
+ gem 'rails', '>= 5.2', '< 6.0'
43
+ gem 'mysql2', '0.4.10'
44
+ gem 'pg'
45
+ end
46
+
47
+ appraise 'rails-60' do
48
+ gem 'rails', '>= 6.0', '< 6.1'
49
+ gem 'mysql2', '0.4.10'
50
+ gem 'pg'
51
+ end
52
+
53
+ appraise 'redis-40' do
54
+ gem 'redis', '>= 4.0.0', '< 5.0'
55
+ end
56
+
57
+ appraise 'rest-client-16' do
58
+ gem 'rest-client', '>= 1.6', '< 2.0'
59
+ end
60
+
61
+ appraise 'rest-client-20' do
62
+ gem 'rest-client', '>= 2.0', '< 3.0'
63
+ end
64
+
65
+ appraise 'resque-122' do
66
+ gem 'resque', '>= 1.22', '< 2.0'
67
+ gem 'redis', '~> 3.3', '>= 3.3.5'
68
+ end
69
+
70
+ appraise 'resque-20' do
71
+ gem 'resque', '>= 2.0', '< 3.0'
72
+ end
73
+
74
+ appraise 'roda-20' do
75
+ gem 'roda', '>= 2.0', '< 3.0'
76
+ end
77
+
78
+ appraise 'roda-30' do
79
+ gem 'roda', '>= 3.0', '< 4.0'
80
+ end
81
+
82
+ appraise 'net-http-01' do
83
+ # gem 'net-http', '~> 0.1.1'
84
+ end
85
+
86
+ appraise 'sinatra-14' do
87
+ gem 'sinatra', '1.4.7'
88
+ end
89
+
90
+ appraise 'sidekiq-42' do
91
+ gem 'sidekiq', '~> 4.2.10'
92
+ end
93
+
94
+ appraise 'sidekiq-50' do
95
+ gem 'sidekiq', '>= 5.0', '< 6.0'
96
+ end
data/Gemfile CHANGED
@@ -1,41 +1,20 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- group :development, :test do
4
- gem 'rake'
5
- gem 'minitest', '5.9.1'
6
- gem 'minitest-reporters'
7
- gem 'minitest-debugger', :require => false
8
- gem 'webmock'
9
- gem 'puma'
3
+ gem 'rake'
4
+ gem 'minitest', '5.9.1'
5
+ gem 'minitest-reporters'
6
+ gem 'webmock'
7
+ gem 'puma'
10
8
 
11
- # Rack v2 dropped support for Ruby 2.2 and higher.
12
- if RUBY_VERSION < '2.2'
13
- gem 'rack', '~> 1.6'
14
- end
15
- gem 'rack-test'
9
+ gem 'rubocop', '~> 1.9'
16
10
 
17
- # public_suffix dropped support for Ruby 2.1 and earlier.
18
- gem 'public_suffix', '< 3.0'
11
+ # Rack v2 dropped support for Ruby 2.2 and higher.
12
+ if RUBY_VERSION < '2.2'
13
+ gem 'rack', '~> 1.6'
19
14
  end
15
+ gem 'rack-test'
20
16
 
21
- group :development do
22
- gem 'ruby-debug', :platforms => [:mri_18, :jruby]
23
- gem 'debugger', :platform => :mri_19
24
- gem 'stackprof', :platform => [:mri_19, :mri_20]
25
-
26
- if RUBY_VERSION > '1.8.7'
27
- gem 'pry'
28
-
29
- if RUBY_VERSION < '2.2'
30
- gem 'byebug', '< 9.1.0', :platform => [:mri_19, :mri_20]
31
- gem 'pry-byebug', :platform => [:mri_19, :mri_20]
32
- else
33
- gem 'pry-byebug', :platform => :ruby
34
- end
35
- else
36
- gem 'pry', '0.9.12.4'
37
- end
38
- end
17
+ gem 'simplecov', '~> 0.21.2'
39
18
 
40
19
  # instana.gemspec
41
20
  gemspec
data/Rakefile CHANGED
@@ -1,5 +1,7 @@
1
- require "bundler/gem_tasks"
2
- require "rake/testtask"
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+
4
+ require 'json'
3
5
 
4
6
  Rake::TestTask.new(:test) do |t|
5
7
  t.verbose = false
@@ -8,54 +10,18 @@ Rake::TestTask.new(:test) do |t|
8
10
 
9
11
  t.libs << "test"
10
12
  t.libs << "lib"
11
- t.test_files = FileList['test/**/*_test.rb']
12
-
13
- if ENV.key?('BUNDLE_GEMFILE')
14
- case File.basename(ENV['BUNDLE_GEMFILE']).split('.').first
15
- when /rails6/
16
- t.test_files = %w(test/frameworks/rails/activerecord_test.rb
17
- test/frameworks/rails/actioncontroller_test.rb
18
- test/frameworks/rails/actionview5_test.rb)
19
- when /rails5/
20
- t.test_files = %w(test/frameworks/rails/activerecord_test.rb
21
- test/frameworks/rails/actioncontroller_test.rb
22
- test/frameworks/rails/actionview5_test.rb)
23
- when /rails42/
24
- t.test_files = %w(test/frameworks/rails/activerecord_test.rb
25
- test/frameworks/rails/actioncontroller_test.rb
26
- test/frameworks/rails/actionview4_test.rb)
27
- when /rails32/
28
- t.test_files = %w(test/frameworks/rails/activerecord_test.rb
29
- test/frameworks/rails/actioncontroller_test.rb
30
- test/frameworks/rails/actionview3_test.rb)
31
- when /libraries/
32
- t.test_files = FileList['test/instrumentation/*_test.rb',
33
- 'test/frameworks/cuba_test.rb',
34
- 'test/frameworks/rack_test.rb',
35
- 'test/frameworks/roda_test.rb',
36
- 'test/frameworks/sinatra_test.rb']
37
- else
38
- t.test_files = FileList['test/agent/*_test.rb'] +
39
- FileList['test/tracing/*_test.rb'] +
40
- FileList['test/profiling/*_test.rb'] +
41
- FileList['test/benchmarks/bench_*.rb']
42
- end
13
+
14
+ if ENV['APPRAISAL_INITIALIZED']
15
+ appraised_group = File.basename(ENV['BUNDLE_GEMFILE']).split(/_[0-9]+\./).first
16
+ suite_files = Dir['test/{instrumentation,frameworks}/*_test.rb']
17
+
18
+ t.test_files = suite_files.select { |f| File.basename(f).start_with?(appraised_group) }
43
19
  else
44
- t.test_files = FileList['test/agent/*_test.rb'] +
45
- FileList['test/tracing/*_test.rb'] +
46
- FileList['test/profiling/*_test.rb'] +
47
- FileList['test/benchmarks/bench_*.rb']
20
+ t.test_files = Dir[
21
+ 'test/*_test.rb',
22
+ 'test/{agent,tracing}/*_test.rb'
23
+ ]
48
24
  end
49
25
  end
50
26
 
51
- task :environment do
52
- ENV['INSTANA_DEBUG'] = 'true'
53
- Bundler.require(:default, :development)
54
- end
55
-
56
- task :console => :environment do
57
- ARGV.clear
58
- Pry.start
59
- end
60
-
61
- task :default => :spec
27
+ task :default => :test
data/bin/console CHANGED
@@ -1,7 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "instana"
3
+ require 'irb'
5
4
 
6
- require "pry"
7
- Pry.start
5
+ require 'bundler/setup'
6
+ require 'instana'
7
+
8
+ IRB.start
@@ -1,3 +1,2 @@
1
1
  ---
2
- BUNDLE_BUILD__LIBV8: "--with-system-v8"
3
- BUNDLE_WITH: "development"
2
+ BUNDLE_RETRY: "1"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+ gem "cuba", ">= 3.0", "< 4.0"
13
+
14
+ gemspec path: "../"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+ gem "dalli", ">= 2.0", "< 3.0"
13
+
14
+ gemspec path: "../"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+ gem "excon", ">= 0.21.0", "< 1.0"
13
+
14
+ gemspec path: "../"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+ gem "graphql", ">= 1.0", "< 2.0"
13
+
14
+ gemspec path: "../"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+ gem "grpc", ">= 1.0", "< 2.0"
13
+
14
+ gemspec path: "../"
@@ -0,0 +1,13 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+
13
+ gemspec path: "../"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+ gem "rack", "~> 1.6"
13
+
14
+ gemspec path: "../"
@@ -0,0 +1,14 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+ gem "rack", ">= 2.0", "< 3.0"
13
+
14
+ gemspec path: "../"
@@ -0,0 +1,16 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+ gem "rails", ">= 4.2", "< 5.0"
13
+ gem "mysql2", "0.4.10"
14
+ gem "pg", "~> 0.21"
15
+
16
+ gemspec path: "../"
@@ -0,0 +1,16 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+ gem "rails", ">= 5.0", "< 5.1"
13
+ gem "mysql2", "0.4.10"
14
+ gem "pg"
15
+
16
+ gemspec path: "../"
@@ -0,0 +1,16 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+ gem "rails", ">= 5.2", "< 6.0"
13
+ gem "mysql2", "0.4.10"
14
+ gem "pg"
15
+
16
+ gemspec path: "../"
@@ -0,0 +1,16 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rake"
6
+ gem "minitest", "5.9.1"
7
+ gem "minitest-reporters"
8
+ gem "webmock"
9
+ gem "puma"
10
+ gem "rack-test"
11
+ gem "simplecov", "~> 0.21.2"
12
+ gem "rails", ">= 6.0", "< 6.1"
13
+ gem "mysql2", "0.4.10"
14
+ gem "pg"
15
+
16
+ gemspec path: "../"