ddtrace 0.44.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +48 -1
  3. data/Appraisals +16 -7
  4. data/CHANGELOG.md +43 -1
  5. data/README.md +1 -0
  6. data/Rakefile +51 -2
  7. data/ddtrace.gemspec +1 -0
  8. data/docs/GettingStarted.md +65 -6
  9. data/lib/ddtrace.rb +7 -0
  10. data/lib/ddtrace/auto_instrument.rb +3 -0
  11. data/lib/ddtrace/auto_instrument_base.rb +6 -0
  12. data/lib/ddtrace/contrib/action_cable/integration.rb +7 -0
  13. data/lib/ddtrace/contrib/action_pack/integration.rb +7 -0
  14. data/lib/ddtrace/contrib/action_view/integration.rb +7 -0
  15. data/lib/ddtrace/contrib/active_record/integration.rb +7 -0
  16. data/lib/ddtrace/contrib/active_record/utils.rb +56 -20
  17. data/lib/ddtrace/contrib/active_support/integration.rb +7 -1
  18. data/lib/ddtrace/contrib/auto_instrument.rb +48 -0
  19. data/lib/ddtrace/contrib/cucumber/integration.rb +5 -0
  20. data/lib/ddtrace/contrib/ethon/easy_patch.rb +5 -4
  21. data/lib/ddtrace/contrib/extensions.rb +27 -1
  22. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +32 -0
  23. data/lib/ddtrace/contrib/httpclient/ext.rb +17 -0
  24. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +152 -0
  25. data/lib/ddtrace/contrib/httpclient/integration.rb +43 -0
  26. data/lib/ddtrace/contrib/httpclient/patcher.rb +35 -0
  27. data/lib/ddtrace/contrib/patchable.rb +18 -7
  28. data/lib/ddtrace/contrib/rack/integration.rb +7 -0
  29. data/lib/ddtrace/contrib/rack/middlewares.rb +1 -1
  30. data/lib/ddtrace/contrib/rack/request_queue.rb +6 -1
  31. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
  32. data/lib/ddtrace/contrib/rails/utils.rb +4 -0
  33. data/lib/ddtrace/contrib/rake/integration.rb +1 -1
  34. data/lib/ddtrace/contrib/rspec/integration.rb +5 -0
  35. data/lib/ddtrace/ext/ci.rb +42 -9
  36. data/lib/ddtrace/ext/git.rb +0 -1
  37. data/lib/ddtrace/propagation/http_propagator.rb +17 -2
  38. data/lib/ddtrace/version.rb +1 -1
  39. metadata +29 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9bab61fb7855f2281cbaa808536cc7f7f6fe857657c49f91b532e6780c05187f
4
- data.tar.gz: 463065e1f917522e19b2ace842cf117bfaf747b2e41e2bae405073080cf6f077
3
+ metadata.gz: 9d5d1f968ae142a829712c88c018d2a36c50684921cb3e92c4f3f44f098c94a3
4
+ data.tar.gz: 1296fb1dd4b26cc15e6cef392b364abb19192252d6f99167a6fde82418cce557
5
5
  SHA512:
6
- metadata.gz: 688c0fb395d61cb53609eb872f32eba8337c810d7d83d4751822e31487a34cf5322284f025b512bc3e7251369406b77467754aecf327403dcf0128fcfebbdfc6
7
- data.tar.gz: a484ea8f729a3736209c8182ea729e7e2f9475eff4742d366f1824b8d50bf78ebd92d0eb4afbf0c6fc01e2bedcb0e553d11c246e2cbcfd299d64819e64902d99
6
+ metadata.gz: 91c0cea0127c496224ba589eb67cb516c59915a038396fdcf5f70d97ca99a688926b7092f7e0e0ffb7f0690c59876e007da58694ce3a2d9f3cea52fd8b988e7a
7
+ data.tar.gz: f2f6578f4fc3dcca0df0ff12a246303e5fab195cfa4faaa92ffcfc0e6290e2678827ed121dad8cb1a39aae2561fdef678041458649a1d8dc042e7fc4ee97fd43
@@ -43,28 +43,36 @@ test_containers:
43
43
  - POSTGRES_PASSWORD=postgres
44
44
  - POSTGRES_USER=postgres
45
45
  - POSTGRES_DB=postgres
46
+ - &postgres_port 5432
46
47
  - &container_presto
47
48
  image: prestosql/presto
49
+ - &presto_port 8080
48
50
  - &container_mysql
49
51
  image: mysql:5.6
50
52
  environment:
51
53
  - MYSQL_ROOT_PASSWORD=root
52
54
  - MYSQL_PASSWORD=mysql
53
55
  - MYSQL_USER=mysql
56
+ - &mysql_port 3306
54
57
  - &container_elasticsearch
55
58
  image: elasticsearch:2.4
59
+ - &elasticsearch_port 9200
56
60
  - &container_redis
57
61
  image: redis:3.0
62
+ - &redis_port 6379
58
63
  - &container_mongo
59
64
  image: mongo:3.5
65
+ - &mongo_port 27017
60
66
  - &container_memcached
61
67
  image: memcached:1.5-alpine
68
+ - &memcached_port 11211
62
69
  - &container_agent
63
70
  image: datadog/docker-dd-agent
64
71
  environment:
65
72
  - DD_APM_ENABLED=true
66
73
  - DD_BIND_HOST=0.0.0.0
67
74
  - DD_API_KEY=invalid_key_but_this_is_fine
75
+ - &agent_port 8126
68
76
 
69
77
  step_init_bundle_checksum: &step_init_bundle_checksum
70
78
  run:
@@ -96,7 +104,13 @@ step_compute_bundle_checksum: &step_compute_bundle_checksum
96
104
  step_run_all_tests: &step_run_all_tests
97
105
  run:
98
106
  name: Run tests
99
- command: bundle exec rake ci
107
+ command: |
108
+ echo "
109
+ --format=progress
110
+ --format=RspecJunitFormatter
111
+ --out='/tmp/rspec/-<%= ARGV.join.gsub('/', '-') %>.xml'
112
+ " > .rspec-local # Configure RSpec metadata exporter
113
+ bundle exec rake ci
100
114
  step_release_docs: &step_release_docs
101
115
  run:
102
116
  name: Upload release docs
@@ -172,7 +186,26 @@ orbs:
172
186
  command: |
173
187
  # Create a unique coverage directory for this job, to avoid conflicts when merging all results
174
188
  echo 'export COVERAGE_DIR="$COVERAGE_BASE_DIR/versions/$CIRCLE_JOB/$CIRCLE_NODE_INDEX"' >> $BASH_ENV
189
+ # Wait for containers to start
190
+ - docker-wait:
191
+ port: *postgres_port
192
+ - docker-wait:
193
+ port: *presto_port
194
+ - docker-wait:
195
+ port: *mysql_port
196
+ - docker-wait:
197
+ port: *elasticsearch_port
198
+ - docker-wait:
199
+ port: *redis_port
200
+ - docker-wait:
201
+ port: *mongo_port
202
+ - docker-wait:
203
+ port: *memcached_port
204
+ - docker-wait:
205
+ port: *agent_port
175
206
  - *step_run_all_tests
207
+ - store_test_results:
208
+ path: /tmp/rspec
176
209
  - persist_to_workspace:
177
210
  root: .
178
211
  paths:
@@ -251,6 +284,20 @@ orbs:
251
284
  echo "Please run 'bundle exec rake changelog:format' and commit the results."
252
285
  fi
253
286
  commands:
287
+ docker-wait:
288
+ description: Wait for containers to listen on a TCP port.
289
+ parameters:
290
+ port:
291
+ description: TCP port the container is listening on.
292
+ type: integer
293
+ timeout:
294
+ description: How long to wait for the port to be responsive.
295
+ type: string
296
+ default: 1m
297
+ steps:
298
+ - run:
299
+ name: Wait for container on port <<parameters.port>>
300
+ command: dockerize -wait 'tcp://localhost:<<parameters.port>>' -timeout '<<parameters.timeout>>'
254
301
  executors:
255
302
 
256
303
  jobs:
data/Appraisals CHANGED
@@ -87,6 +87,7 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
87
87
  gem 'excon'
88
88
  gem 'hiredis'
89
89
  gem 'http'
90
+ gem 'httpclient'
90
91
  gem 'mongo', '< 2.5'
91
92
  gem 'mysql2', '0.3.21', platform: :ruby
92
93
  gem 'pg', '< 1.0', platform: :ruby
@@ -211,6 +212,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
211
212
  gem 'excon'
212
213
  gem 'hiredis'
213
214
  gem 'http'
215
+ gem 'httpclient'
214
216
  gem 'mongo', '< 2.5'
215
217
  gem 'mysql2', '0.3.21', platform: :ruby
216
218
  gem 'pg', '< 1.0', platform: :ruby
@@ -388,10 +390,11 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
388
390
  gem 'excon'
389
391
  gem 'faraday'
390
392
  gem 'grape'
391
- gem 'graphql', '< 1.9.4'
393
+ gem 'graphql', '>= 1.12.0'
392
394
  gem 'grpc', '~> 1.21.0' # Last version to support Ruby < 2.3
393
395
  gem 'hiredis'
394
396
  gem 'http'
397
+ gem 'httpclient'
395
398
  gem 'mongo', '>= 2.8.0'
396
399
  gem 'mysql2', '< 0.5', platform: :ruby
397
400
  gem 'qless'
@@ -580,11 +583,12 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
580
583
  gem 'excon'
581
584
  gem 'faraday'
582
585
  gem 'grape'
583
- gem 'graphql'
586
+ gem 'graphql', '>= 1.12.0'
584
587
  gem 'grpc'
585
588
  gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
586
589
  gem 'hiredis'
587
590
  gem 'http'
591
+ gem 'httpclient'
588
592
  gem 'mongo', '>= 2.8.0'
589
593
  gem 'mysql2', '< 0.5', platform: :ruby
590
594
  gem 'pg', platform: :ruby
@@ -684,11 +688,12 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
684
688
  gem 'excon'
685
689
  gem 'faraday'
686
690
  gem 'grape'
687
- gem 'graphql'
691
+ gem 'graphql', '>= 1.12.0'
688
692
  gem 'grpc'
689
693
  gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
690
694
  gem 'hiredis'
691
695
  gem 'http'
696
+ gem 'httpclient'
692
697
  gem 'mongo', '>= 2.8.0'
693
698
  gem 'mysql2', '< 0.5', platform: :ruby
694
699
  gem 'pg', platform: :ruby
@@ -870,10 +875,11 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
870
875
  gem 'excon'
871
876
  gem 'faraday'
872
877
  gem 'grape'
873
- gem 'graphql'
878
+ gem 'graphql', '>= 1.12.0'
874
879
  gem 'grpc', platform: :ruby
875
880
  gem 'hiredis'
876
881
  gem 'http'
882
+ gem 'httpclient'
877
883
  gem 'mongo', '>= 2.8.0'
878
884
  gem 'mysql2', '< 1', platform: :ruby
879
885
  gem 'activerecord-jdbcmysql-adapter', '>= 60.2', platform: :jruby
@@ -1044,10 +1050,11 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
1044
1050
  gem 'excon'
1045
1051
  gem 'faraday'
1046
1052
  gem 'grape'
1047
- gem 'graphql'
1053
+ gem 'graphql', '>= 1.12.0'
1048
1054
  gem 'grpc'
1049
1055
  gem 'hiredis'
1050
1056
  gem 'http'
1057
+ gem 'httpclient'
1051
1058
  gem 'mongo', '>= 2.8.0'
1052
1059
  gem 'mysql2', '< 1', platform: :ruby
1053
1060
  gem 'pg', platform: :ruby
@@ -1219,10 +1226,11 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION) \
1219
1226
  gem 'ethon'
1220
1227
  gem 'excon'
1221
1228
  gem 'grape'
1222
- gem 'graphql'
1229
+ gem 'graphql', '>= 1.12.0'
1223
1230
  gem 'grpc'
1224
1231
  gem 'hiredis'
1225
1232
  gem 'http'
1233
+ gem 'httpclient'
1226
1234
  gem 'mongo', '>= 2.8.0'
1227
1235
  gem 'mysql2', '< 1', platform: :ruby
1228
1236
  gem 'pg', platform: :ruby
@@ -1310,10 +1318,11 @@ elsif Gem::Version.new('3.0.0') <= Gem::Version.new(RUBY_VERSION)
1310
1318
  gem 'ethon'
1311
1319
  gem 'excon'
1312
1320
  gem 'grape'
1313
- gem 'graphql'
1321
+ gem 'graphql', '>= 1.12.0'
1314
1322
  # gem 'grpc' # Pending 3.0 support by transient protobuf dependency https://github.com/protocolbuffers/protobuf/issues/7922
1315
1323
  gem 'hiredis'
1316
1324
  gem 'http'
1325
+ gem 'httpclient'
1317
1326
  gem 'mongo', '>= 2.8.0'
1318
1327
  gem 'mysql2', '>= 0.5.3', platform: :ruby
1319
1328
  gem 'pg', '>= 1.1', platform: :ruby
@@ -2,6 +2,30 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.45.0] - 2021-01-26
6
+
7
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.45.0
8
+
9
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.44.0...v0.45.0
10
+
11
+ ### Added
12
+
13
+ - Option to auto enable all instrumentations ([#1260][])
14
+ - httpclient support ([#1311][]) ([@agrobbin][])
15
+
16
+ ### Changed
17
+
18
+ - Promote request_queuing out of experimental ([#1320][])
19
+ - Safeguards around distributed HTTP propagator ([#1304][])
20
+ - Improvements to test integrations ([#1291][], [#1303][], [#1307][])
21
+
22
+ ### Refactored
23
+
24
+ - Direct object_id lookup for ActiveRecord connections ([#1317][])
25
+ - Avoid multiple parsing of Ethon URIs ([#1302][]) ([@callumj][])
26
+ - Improvements to test suite & CI ([#1309][], [#1318][], [#1321][], [#1323][], [#1325][], [#1331][])
27
+ - Improvements to documentation ([#1326][])
28
+
5
29
  ## [0.44.0] - 2021-01-06
6
30
 
7
31
  Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.44.0
@@ -1522,7 +1546,8 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
1522
1546
 
1523
1547
  Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
1524
1548
 
1525
- [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.41.0...master
1549
+ [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.45.0...master
1550
+ [0.45.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.44.0...v0.45.0
1526
1551
  [0.44.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.43.0...v0.44.0
1527
1552
  [0.43.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.42.0...v0.43.0
1528
1553
  [0.41.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.40.0...v0.41.0
@@ -2089,6 +2114,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2089
2114
  [#1248]: https://github.com/DataDog/dd-trace-rb/issues/1248
2090
2115
  [#1256]: https://github.com/DataDog/dd-trace-rb/issues/1256
2091
2116
  [#1257]: https://github.com/DataDog/dd-trace-rb/issues/1257
2117
+ [#1260]: https://github.com/DataDog/dd-trace-rb/issues/1260
2092
2118
  [#1262]: https://github.com/DataDog/dd-trace-rb/issues/1262
2093
2119
  [#1263]: https://github.com/DataDog/dd-trace-rb/issues/1263
2094
2120
  [#1264]: https://github.com/DataDog/dd-trace-rb/issues/1264
@@ -2110,12 +2136,27 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2110
2136
  [#1286]: https://github.com/DataDog/dd-trace-rb/issues/1286
2111
2137
  [#1287]: https://github.com/DataDog/dd-trace-rb/issues/1287
2112
2138
  [#1289]: https://github.com/DataDog/dd-trace-rb/issues/1289
2139
+ [#1291]: https://github.com/DataDog/dd-trace-rb/issues/1291
2113
2140
  [#1293]: https://github.com/DataDog/dd-trace-rb/issues/1293
2114
2141
  [#1295]: https://github.com/DataDog/dd-trace-rb/issues/1295
2115
2142
  [#1296]: https://github.com/DataDog/dd-trace-rb/issues/1296
2116
2143
  [#1297]: https://github.com/DataDog/dd-trace-rb/issues/1297
2117
2144
  [#1298]: https://github.com/DataDog/dd-trace-rb/issues/1298
2118
2145
  [#1299]: https://github.com/DataDog/dd-trace-rb/issues/1299
2146
+ [#1302]: https://github.com/DataDog/dd-trace-rb/issues/1302
2147
+ [#1303]: https://github.com/DataDog/dd-trace-rb/issues/1303
2148
+ [#1304]: https://github.com/DataDog/dd-trace-rb/issues/1304
2149
+ [#1307]: https://github.com/DataDog/dd-trace-rb/issues/1307
2150
+ [#1309]: https://github.com/DataDog/dd-trace-rb/issues/1309
2151
+ [#1311]: https://github.com/DataDog/dd-trace-rb/issues/1311
2152
+ [#1317]: https://github.com/DataDog/dd-trace-rb/issues/1317
2153
+ [#1318]: https://github.com/DataDog/dd-trace-rb/issues/1318
2154
+ [#1320]: https://github.com/DataDog/dd-trace-rb/issues/1320
2155
+ [#1321]: https://github.com/DataDog/dd-trace-rb/issues/1321
2156
+ [#1323]: https://github.com/DataDog/dd-trace-rb/issues/1323
2157
+ [#1325]: https://github.com/DataDog/dd-trace-rb/issues/1325
2158
+ [#1326]: https://github.com/DataDog/dd-trace-rb/issues/1326
2159
+ [#1331]: https://github.com/DataDog/dd-trace-rb/issues/1331
2119
2160
  [@Azure7111]: https://github.com/Azure7111
2120
2161
  [@BabyGroot]: https://github.com/BabyGroot
2121
2162
  [@DocX]: https://github.com/DocX
@@ -2132,6 +2173,7 @@ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
2132
2173
  [@Yurokle]: https://github.com/Yurokle
2133
2174
  [@ZimbiX]: https://github.com/ZimbiX
2134
2175
  [@agirlnamedsophia]: https://github.com/agirlnamedsophia
2176
+ [@agrobbin]: https://github.com/agrobbin
2135
2177
  [@ahammel]: https://github.com/ahammel
2136
2178
  [@al-kudryavtsev]: https://github.com/al-kudryavtsev
2137
2179
  [@alksl]: https://github.com/alksl
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Datadog Trace Client
2
2
 
3
3
  [![CircleCI](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master.svg?style=svg&circle-token=b0bd5ef866ec7f7b018f48731bb495f2d1372cc1)](https://circleci.com/gh/DataDog/dd-trace-rb/tree/master)
4
+ [![codecov](https://codecov.io/gh/DataDog/dd-trace-rb/branch/master/graph/badge.svg)](https://app.codecov.io/gh/DataDog/dd-trace-rb/branch/master)
4
5
 
5
6
  ``ddtrace`` is Datadog’s tracing client for Ruby. It is used to trace requests as they flow across web servers,
6
7
  databases and microservices so that developers have great visiblity into bottlenecks and troublesome requests.
data/Rakefile CHANGED
@@ -17,7 +17,8 @@ namespace :spec do
17
17
 
18
18
  RSpec::Core::RakeTask.new(:main) do |t, args|
19
19
  t.pattern = 'spec/**/*_spec.rb'
20
- t.exclude_pattern = 'spec/**/{contrib,benchmark,redis,opentracer,opentelemetry}/**/*_spec.rb'
20
+ t.exclude_pattern = 'spec/**/{contrib,benchmark,redis,opentracer,opentelemetry,auto_instrument}/**/*_spec.rb,'\
21
+ ' spec/**/auto_instrument_spec.rb'
21
22
  t.rspec_opts = args.to_a.join(' ')
22
23
  end
23
24
 
@@ -38,7 +39,7 @@ namespace :spec do
38
39
 
39
40
  RSpec::Core::RakeTask.new(:rails) do |t, args|
40
41
  t.pattern = 'spec/ddtrace/contrib/rails/**/*_spec.rb'
41
- t.exclude_pattern = 'spec/ddtrace/contrib/rails/**/*{active_job,disable_env,redis_cache}*_spec.rb'
42
+ t.exclude_pattern = 'spec/ddtrace/contrib/rails/**/*{active_job,disable_env,redis_cache,auto_instrument}*_spec.rb'
42
43
  t.rspec_opts = args.to_a.join(' ')
43
44
  end
44
45
 
@@ -57,6 +58,16 @@ namespace :spec do
57
58
  t.rspec_opts = args.to_a.join(' ')
58
59
  end
59
60
 
61
+ RSpec::Core::RakeTask.new(:railsautoinstrument) do |t, args|
62
+ t.pattern = 'spec/ddtrace/contrib/rails/**/*auto_instrument*_spec.rb'
63
+ t.rspec_opts = args.to_a.join(' ')
64
+ end
65
+
66
+ RSpec::Core::RakeTask.new(:autoinstrument) do |t, args|
67
+ t.pattern = 'spec/ddtrace/auto_instrument_spec.rb'
68
+ t.rspec_opts = args.to_a.join(' ')
69
+ end
70
+
60
71
  RSpec::Core::RakeTask.new(:contrib) do |t, args|
61
72
  contrib_paths = [
62
73
  'analytics',
@@ -96,6 +107,7 @@ namespace :spec do
96
107
  :graphql,
97
108
  :grpc,
98
109
  :http,
110
+ :httpclient,
99
111
  :httprb,
100
112
  :kafka,
101
113
  :mongodb,
@@ -220,6 +232,7 @@ task :ci do
220
232
  declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
221
233
  declare 'bundle exec appraisal contrib-old rake spec:active_record'
222
234
  declare 'bundle exec appraisal contrib-old rake spec:active_support'
235
+ declare 'bundle exec appraisal contrib-old rake spec:autoinstrument'
223
236
  declare 'bundle exec appraisal contrib-old rake spec:aws'
224
237
  declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
225
238
  declare 'bundle exec appraisal contrib-old rake spec:dalli'
@@ -229,6 +242,7 @@ task :ci do
229
242
  declare 'bundle exec appraisal contrib-old rake spec:excon'
230
243
  declare 'bundle exec appraisal contrib-old rake spec:faraday'
231
244
  declare 'bundle exec appraisal contrib-old rake spec:http'
245
+ declare 'bundle exec appraisal contrib-old rake spec:httpclient'
232
246
  declare 'bundle exec appraisal contrib-old rake spec:httprb'
233
247
  declare 'bundle exec appraisal contrib-old rake spec:mongodb'
234
248
  declare 'bundle exec appraisal contrib-old rake spec:mysql2'
@@ -246,10 +260,12 @@ task :ci do
246
260
  # Rails minitests
247
261
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
248
262
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
263
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
249
264
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
250
265
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
251
266
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
252
267
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
268
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
253
269
  # Rails specs
254
270
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
255
271
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -275,6 +291,7 @@ task :ci do
275
291
  declare 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
276
292
  declare 'bundle exec appraisal contrib-old rake spec:active_record'
277
293
  declare 'bundle exec appraisal contrib-old rake spec:active_support'
294
+ declare 'bundle exec appraisal contrib-old rake spec:autoinstrument'
278
295
  declare 'bundle exec appraisal contrib-old rake spec:aws'
279
296
  declare 'bundle exec appraisal contrib-old rake spec:concurrent_ruby'
280
297
  declare 'bundle exec appraisal contrib-old rake spec:dalli'
@@ -284,6 +301,7 @@ task :ci do
284
301
  declare 'bundle exec appraisal contrib-old rake spec:excon'
285
302
  declare 'bundle exec appraisal contrib-old rake spec:faraday'
286
303
  declare 'bundle exec appraisal contrib-old rake spec:http'
304
+ declare 'bundle exec appraisal contrib-old rake spec:httpclient'
287
305
  declare 'bundle exec appraisal contrib-old rake spec:httprb'
288
306
  declare 'bundle exec appraisal contrib-old rake spec:kafka'
289
307
  declare 'bundle exec appraisal contrib-old rake spec:mongodb'
@@ -303,14 +321,17 @@ task :ci do
303
321
  # Rails minitests
304
322
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
305
323
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
324
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
306
325
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
307
326
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
308
327
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
309
328
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
329
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
310
330
  declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
311
331
  declare 'bundle exec appraisal rails4-postgres rake test:rails'
312
332
  declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
313
333
  declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
334
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
314
335
  # Rails specs
315
336
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
316
337
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -339,6 +360,7 @@ task :ci do
339
360
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
340
361
  declare 'bundle exec appraisal contrib rake spec:active_record'
341
362
  declare 'bundle exec appraisal contrib rake spec:active_support'
363
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
342
364
  declare 'bundle exec appraisal contrib rake spec:aws'
343
365
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
344
366
  declare 'bundle exec appraisal contrib rake spec:dalli'
@@ -351,6 +373,7 @@ task :ci do
351
373
  declare 'bundle exec appraisal contrib rake spec:graphql'
352
374
  declare 'bundle exec appraisal contrib rake spec:grpc'
353
375
  declare 'bundle exec appraisal contrib rake spec:http'
376
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
354
377
  declare 'bundle exec appraisal contrib rake spec:httprb'
355
378
  declare 'bundle exec appraisal contrib rake spec:kafka'
356
379
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -375,14 +398,17 @@ task :ci do
375
398
  # Rails minitests
376
399
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
377
400
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
401
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
378
402
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
379
403
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
380
404
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
381
405
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
406
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
382
407
  declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
383
408
  declare 'bundle exec appraisal rails4-postgres rake test:rails'
384
409
  declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
385
410
  declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
411
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
386
412
  declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
387
413
  declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
388
414
  declare 'bundle exec appraisal rails5-postgres rake test:rails'
@@ -390,6 +416,7 @@ task :ci do
390
416
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
391
417
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
392
418
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
419
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
393
420
  # Rails specs
394
421
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
395
422
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -415,6 +442,7 @@ task :ci do
415
442
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
416
443
  declare 'bundle exec appraisal contrib rake spec:active_record'
417
444
  declare 'bundle exec appraisal contrib rake spec:active_support'
445
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
418
446
  declare 'bundle exec appraisal contrib rake spec:aws'
419
447
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
420
448
  declare 'bundle exec appraisal contrib rake spec:dalli'
@@ -427,6 +455,7 @@ task :ci do
427
455
  declare 'bundle exec appraisal contrib rake spec:graphql'
428
456
  declare 'bundle exec appraisal contrib rake spec:grpc'
429
457
  declare 'bundle exec appraisal contrib rake spec:http'
458
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
430
459
  declare 'bundle exec appraisal contrib rake spec:httprb'
431
460
  declare 'bundle exec appraisal contrib rake spec:kafka'
432
461
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -452,14 +481,17 @@ task :ci do
452
481
  # Rails minitests
453
482
  declare 'bundle exec appraisal rails30-postgres rake test:rails'
454
483
  declare 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
484
+ declare 'bundle exec appraisal rails30-postgres rake spec:railsautoinstrument'
455
485
  declare 'bundle exec appraisal rails32-mysql2 rake test:rails'
456
486
  declare 'bundle exec appraisal rails32-postgres rake test:rails'
457
487
  declare 'bundle exec appraisal rails32-postgres-redis rake spec:railsredis'
458
488
  declare 'bundle exec appraisal rails32-postgres rake spec:railsdisableenv'
489
+ declare 'bundle exec appraisal rails32-postgres rake spec:railsautoinstrument'
459
490
  declare 'bundle exec appraisal rails4-mysql2 rake test:rails'
460
491
  declare 'bundle exec appraisal rails4-postgres rake test:rails'
461
492
  declare 'bundle exec appraisal rails4-postgres-redis rake spec:railsredis'
462
493
  declare 'bundle exec appraisal rails4-postgres rake spec:railsdisableenv'
494
+ declare 'bundle exec appraisal rails4-postgres rake spec:railsautoinstrument'
463
495
  declare 'bundle exec appraisal rails4-postgres-sidekiq rake spec:railsactivejob'
464
496
  declare 'bundle exec appraisal rails5-mysql2 rake test:rails'
465
497
  declare 'bundle exec appraisal rails5-postgres rake test:rails'
@@ -467,6 +499,7 @@ task :ci do
467
499
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
468
500
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
469
501
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
502
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
470
503
  # Rails specs
471
504
  declare 'bundle exec appraisal rails30-postgres rake spec:rails'
472
505
  declare 'bundle exec appraisal rails32-mysql2 rake spec:rails'
@@ -497,6 +530,7 @@ task :ci do
497
530
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
498
531
  declare 'bundle exec appraisal contrib rake spec:active_record'
499
532
  declare 'bundle exec appraisal contrib rake spec:active_support'
533
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
500
534
  declare 'bundle exec appraisal contrib rake spec:aws'
501
535
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
502
536
  declare 'bundle exec appraisal contrib rake spec:dalli'
@@ -509,6 +543,7 @@ task :ci do
509
543
  declare 'bundle exec appraisal contrib rake spec:graphql'
510
544
  declare 'bundle exec appraisal contrib rake spec:grpc'
511
545
  declare 'bundle exec appraisal contrib rake spec:http'
546
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
512
547
  declare 'bundle exec appraisal contrib rake spec:httprb'
513
548
  declare 'bundle exec appraisal contrib rake spec:kafka'
514
549
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -539,6 +574,7 @@ task :ci do
539
574
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
540
575
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
541
576
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
577
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
542
578
  # Rails specs
543
579
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
544
580
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
@@ -566,6 +602,7 @@ task :ci do
566
602
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
567
603
  declare 'bundle exec appraisal contrib rake spec:active_record'
568
604
  declare 'bundle exec appraisal contrib rake spec:active_support'
605
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
569
606
  declare 'bundle exec appraisal contrib rake spec:aws'
570
607
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
571
608
  declare 'bundle exec appraisal contrib rake spec:cucumber'
@@ -579,6 +616,7 @@ task :ci do
579
616
  declare 'bundle exec appraisal contrib rake spec:graphql'
580
617
  declare 'bundle exec appraisal contrib rake spec:grpc' if RUBY_PLATFORM != 'java' # protobuf not supported
581
618
  declare 'bundle exec appraisal contrib rake spec:http'
619
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
582
620
  declare 'bundle exec appraisal contrib rake spec:httprb'
583
621
  declare 'bundle exec appraisal contrib rake spec:kafka'
584
622
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -610,12 +648,14 @@ task :ci do
610
648
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
611
649
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
612
650
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
651
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
613
652
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
614
653
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
615
654
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
616
655
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
617
656
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
618
657
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
658
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
619
659
  # Rails specs
620
660
  declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
621
661
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
@@ -657,6 +697,7 @@ task :ci do
657
697
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
658
698
  declare 'bundle exec appraisal contrib rake spec:active_record'
659
699
  declare 'bundle exec appraisal contrib rake spec:active_support'
700
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
660
701
  declare 'bundle exec appraisal contrib rake spec:aws'
661
702
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
662
703
  declare 'bundle exec appraisal contrib rake spec:cucumber'
@@ -670,6 +711,7 @@ task :ci do
670
711
  declare 'bundle exec appraisal contrib rake spec:graphql'
671
712
  declare 'bundle exec appraisal contrib rake spec:grpc'
672
713
  declare 'bundle exec appraisal contrib rake spec:http'
714
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
673
715
  declare 'bundle exec appraisal contrib rake spec:httprb'
674
716
  declare 'bundle exec appraisal contrib rake spec:kafka'
675
717
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -702,12 +744,14 @@ task :ci do
702
744
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
703
745
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
704
746
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
747
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
705
748
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
706
749
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
707
750
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
708
751
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
709
752
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
710
753
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
754
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
711
755
  # Rails specs
712
756
  declare 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
713
757
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
@@ -750,6 +794,7 @@ task :ci do
750
794
  declare 'bundle exec appraisal contrib rake spec:active_model_serializers'
751
795
  declare 'bundle exec appraisal contrib rake spec:active_record'
752
796
  declare 'bundle exec appraisal contrib rake spec:active_support'
797
+ declare 'bundle exec appraisal contrib rake spec:autoinstrument'
753
798
  declare 'bundle exec appraisal contrib rake spec:aws'
754
799
  declare 'bundle exec appraisal contrib rake spec:concurrent_ruby'
755
800
  declare 'bundle exec appraisal contrib rake spec:cucumber'
@@ -763,6 +808,7 @@ task :ci do
763
808
  declare 'bundle exec appraisal contrib rake spec:graphql'
764
809
  declare 'bundle exec appraisal contrib rake spec:grpc'
765
810
  declare 'bundle exec appraisal contrib rake spec:http'
811
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
766
812
  declare 'bundle exec appraisal contrib rake spec:httprb'
767
813
  declare 'bundle exec appraisal contrib rake spec:kafka'
768
814
  declare 'bundle exec appraisal contrib rake spec:mongodb'
@@ -795,12 +841,14 @@ task :ci do
795
841
  declare 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
796
842
  declare 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
797
843
  declare 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
844
+ declare 'bundle exec appraisal rails5-postgres rake spec:railsautoinstrument'
798
845
  declare 'bundle exec appraisal rails6-mysql2 rake test:rails'
799
846
  declare 'bundle exec appraisal rails6-postgres rake test:rails'
800
847
  declare 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
801
848
  declare 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
802
849
  declare 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
803
850
  declare 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
851
+ declare 'bundle exec appraisal rails6-postgres rake spec:railsautoinstrument'
804
852
  # Rails specs
805
853
  declare 'bundle exec appraisal rails5-mysql2 rake spec:rails'
806
854
  declare 'bundle exec appraisal rails5-postgres rake spec:rails'
@@ -854,6 +902,7 @@ task :ci do
854
902
  declare 'bundle exec appraisal contrib rake spec:graphql'
855
903
  # declare 'bundle exec appraisal contrib rake spec:grpc' # Pending https://github.com/protocolbuffers/protobuf/issues/7922
856
904
  declare 'bundle exec appraisal contrib rake spec:http'
905
+ declare 'bundle exec appraisal contrib rake spec:httpclient'
857
906
  declare 'bundle exec appraisal contrib rake spec:httprb'
858
907
  declare 'bundle exec appraisal contrib rake spec:kafka'
859
908
  declare 'bundle exec appraisal contrib rake spec:mongodb'