ddtrace 0.35.1 → 0.39.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 +3 -1
- data/.gitignore +2 -0
- data/.gitlab-ci.yml +26 -0
- data/.rubocop.yml +4 -0
- data/Appraisals +52 -11
- data/CHANGELOG.md +135 -1
- data/Rakefile +109 -75
- data/ddtrace.gemspec +5 -0
- data/docker-compose.yml +37 -2
- data/docs/GettingStarted.md +146 -82
- data/lib/ddtrace.rb +3 -0
- data/lib/ddtrace/configuration/base.rb +1 -1
- data/lib/ddtrace/configuration/options.rb +1 -1
- data/lib/ddtrace/configuration/pin_setup.rb +3 -2
- data/lib/ddtrace/configuration/settings.rb +27 -3
- data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/action_cable/ext.rb +5 -2
- data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +7 -0
- data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/action_pack/ext.rb +5 -2
- data/lib/ddtrace/contrib/action_view/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/action_view/ext.rb +5 -2
- data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/active_model_serializers/ext.rb +5 -2
- data/lib/ddtrace/contrib/active_record/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/active_record/ext.rb +5 -2
- data/lib/ddtrace/contrib/active_support/cache/redis.rb +1 -1
- data/lib/ddtrace/contrib/active_support/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/active_support/ext.rb +5 -2
- data/lib/ddtrace/contrib/active_support/notifications/event.rb +3 -1
- data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +1 -1
- data/lib/ddtrace/contrib/aws/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/aws/ext.rb +5 -2
- data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +5 -0
- data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +9 -3
- data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +1 -0
- data/lib/ddtrace/contrib/configuration/settings.rb +20 -1
- data/lib/ddtrace/contrib/dalli/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/dalli/ext.rb +5 -2
- data/lib/ddtrace/contrib/dalli/patcher.rb +1 -5
- data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/delayed_job/ext.rb +5 -2
- data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/elasticsearch/ext.rb +5 -2
- data/lib/ddtrace/contrib/elasticsearch/patcher.rb +1 -2
- data/lib/ddtrace/contrib/ethon/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/ethon/ext.rb +5 -2
- data/lib/ddtrace/contrib/excon/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/excon/ext.rb +5 -2
- data/lib/ddtrace/contrib/extensions.rb +39 -5
- data/lib/ddtrace/contrib/faraday/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/faraday/ext.rb +5 -2
- data/lib/ddtrace/contrib/faraday/middleware.rb +5 -3
- data/lib/ddtrace/contrib/faraday/patcher.rb +13 -5
- data/lib/ddtrace/contrib/grape/configuration/settings.rb +7 -3
- data/lib/ddtrace/contrib/grape/ext.rb +5 -2
- data/lib/ddtrace/contrib/grape/patcher.rb +1 -1
- data/lib/ddtrace/contrib/graphql/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/graphql/ext.rb +5 -2
- data/lib/ddtrace/contrib/graphql/patcher.rb +6 -3
- data/lib/ddtrace/contrib/grpc/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +1 -1
- data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +1 -3
- data/lib/ddtrace/contrib/grpc/ext.rb +5 -2
- data/lib/ddtrace/contrib/grpc/patcher.rb +1 -5
- data/lib/ddtrace/contrib/http/circuit_breaker.rb +8 -32
- data/lib/ddtrace/contrib/http/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/http/ext.rb +5 -2
- data/lib/ddtrace/contrib/http/instrumentation.rb +13 -8
- data/lib/ddtrace/contrib/httprb/configuration/settings.rb +32 -0
- data/lib/ddtrace/contrib/httprb/ext.rb +17 -0
- data/lib/ddtrace/contrib/httprb/instrumentation.rb +160 -0
- data/lib/ddtrace/contrib/httprb/integration.rb +43 -0
- data/lib/ddtrace/contrib/httprb/patcher.rb +35 -0
- data/lib/ddtrace/contrib/kafka/configuration/settings.rb +30 -0
- data/lib/ddtrace/contrib/kafka/consumer_event.rb +14 -0
- data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +14 -0
- data/lib/ddtrace/contrib/kafka/event.rb +51 -0
- data/lib/ddtrace/contrib/kafka/events.rb +44 -0
- data/lib/ddtrace/contrib/kafka/events/connection/request.rb +34 -0
- data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +41 -0
- data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +39 -0
- data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +39 -0
- data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +29 -0
- data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +29 -0
- data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +29 -0
- data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +32 -0
- data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +35 -0
- data/lib/ddtrace/contrib/kafka/ext.rb +41 -0
- data/lib/ddtrace/contrib/kafka/integration.rb +39 -0
- data/lib/ddtrace/contrib/kafka/patcher.rb +26 -0
- data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/mongodb/ext.rb +5 -2
- data/lib/ddtrace/contrib/mongodb/instrumentation.rb +1 -2
- data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/mysql2/ext.rb +5 -2
- data/lib/ddtrace/contrib/mysql2/instrumentation.rb +1 -1
- data/lib/ddtrace/contrib/patcher.rb +14 -8
- data/lib/ddtrace/contrib/presto/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/presto/ext.rb +5 -2
- data/lib/ddtrace/contrib/racecar/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/racecar/ext.rb +5 -2
- data/lib/ddtrace/contrib/rack/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/rack/ext.rb +5 -2
- data/lib/ddtrace/contrib/rack/middlewares.rb +15 -12
- data/lib/ddtrace/contrib/rails/configuration/settings.rb +20 -13
- data/lib/ddtrace/contrib/rails/ext.rb +5 -2
- data/lib/ddtrace/contrib/rails/framework.rb +52 -46
- data/lib/ddtrace/contrib/rails/integration.rb +1 -1
- data/lib/ddtrace/contrib/rake/configuration/settings.rb +7 -3
- data/lib/ddtrace/contrib/rake/ext.rb +5 -2
- data/lib/ddtrace/contrib/redis/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/redis/ext.rb +5 -2
- data/lib/ddtrace/contrib/redis/patcher.rb +1 -1
- data/lib/ddtrace/contrib/resque/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/resque/ext.rb +5 -2
- data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/rest_client/ext.rb +5 -2
- data/lib/ddtrace/contrib/rest_client/request_patch.rb +2 -2
- data/lib/ddtrace/contrib/sequel/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/sequel/database.rb +1 -1
- data/lib/ddtrace/contrib/sequel/ext.rb +5 -2
- data/lib/ddtrace/contrib/sequel/utils.rb +19 -1
- data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/shoryuken/ext.rb +5 -2
- data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/sidekiq/ext.rb +6 -2
- data/lib/ddtrace/contrib/sidekiq/patcher.rb +8 -1
- data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +1 -0
- data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/sinatra/ext.rb +5 -2
- data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +32 -0
- data/lib/ddtrace/contrib/sneakers/ext.rb +22 -0
- data/lib/ddtrace/contrib/sneakers/integration.rb +41 -0
- data/lib/ddtrace/contrib/sneakers/patcher.rb +24 -0
- data/lib/ddtrace/contrib/sneakers/tracer.rb +58 -0
- data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +7 -2
- data/lib/ddtrace/contrib/sucker_punch/ext.rb +5 -2
- data/lib/ddtrace/contrib/sucker_punch/patcher.rb +1 -1
- data/lib/ddtrace/diagnostics/environment_logger.rb +278 -0
- data/lib/ddtrace/environment.rb +17 -3
- data/lib/ddtrace/ext/diagnostics.rb +3 -0
- data/lib/ddtrace/ext/environment.rb +2 -0
- data/lib/ddtrace/ext/transport.rb +1 -0
- data/lib/ddtrace/logger.rb +1 -1
- data/lib/ddtrace/pin.rb +39 -15
- data/lib/ddtrace/pipeline/span_filter.rb +15 -15
- data/lib/ddtrace/runtime/metrics.rb +18 -4
- data/lib/ddtrace/sampler.rb +2 -0
- data/lib/ddtrace/span.rb +10 -0
- data/lib/ddtrace/tracer.rb +15 -8
- data/lib/ddtrace/transport/http.rb +15 -0
- data/lib/ddtrace/transport/http/adapters/net.rb +8 -0
- data/lib/ddtrace/transport/http/adapters/test.rb +6 -0
- data/lib/ddtrace/transport/http/adapters/unix_socket.rb +4 -0
- data/lib/ddtrace/transport/response.rb +11 -0
- data/lib/ddtrace/version.rb +2 -2
- data/lib/ddtrace/workers/trace_writer.rb +3 -0
- data/lib/ddtrace/writer.rb +33 -12
- metadata +114 -29
data/Rakefile
CHANGED
@@ -11,7 +11,7 @@ Dir.glob('tasks/*.rake').each { |r| import r }
|
|
11
11
|
desc 'Run RSpec'
|
12
12
|
# rubocop:disable Metrics/BlockLength
|
13
13
|
namespace :spec do
|
14
|
-
task all: [:main,
|
14
|
+
task all: [:main, :benchmark,
|
15
15
|
:rails, :railsredis, :railsactivejob,
|
16
16
|
:elasticsearch, :http, :redis, :sidekiq, :sinatra]
|
17
17
|
|
@@ -21,6 +21,11 @@ namespace :spec do
|
|
21
21
|
t.rspec_opts = args.to_a.join(' ')
|
22
22
|
end
|
23
23
|
|
24
|
+
RSpec::Core::RakeTask.new(:benchmark) do |t, args|
|
25
|
+
t.pattern = 'spec/ddtrace/benchmark/**/*_spec.rb'
|
26
|
+
t.rspec_opts = args.to_a.join(' ')
|
27
|
+
end
|
28
|
+
|
24
29
|
RSpec::Core::RakeTask.new(:opentracer) do |t, args|
|
25
30
|
t.pattern = 'spec/ddtrace/opentracer/**/*_spec.rb'
|
26
31
|
t.rspec_opts = args.to_a.join(' ')
|
@@ -90,6 +95,8 @@ namespace :spec do
|
|
90
95
|
:graphql,
|
91
96
|
:grpc,
|
92
97
|
:http,
|
98
|
+
:httprb,
|
99
|
+
:kafka,
|
93
100
|
:mongodb,
|
94
101
|
:mysql2,
|
95
102
|
:presto,
|
@@ -100,10 +107,12 @@ namespace :spec do
|
|
100
107
|
:resque,
|
101
108
|
:rest_client,
|
102
109
|
:sequel,
|
110
|
+
:shoryuken,
|
103
111
|
:sidekiq,
|
104
112
|
:sinatra,
|
113
|
+
:sneakers,
|
105
114
|
:sucker_punch,
|
106
|
-
:
|
115
|
+
:suite
|
107
116
|
].each do |contrib|
|
108
117
|
RSpec::Core::RakeTask.new(contrib) do |t, args|
|
109
118
|
t.pattern = "spec/ddtrace/contrib/#{contrib}/**/*_spec.rb"
|
@@ -115,7 +124,7 @@ end
|
|
115
124
|
namespace :test do
|
116
125
|
task all: [:main,
|
117
126
|
:rails,
|
118
|
-
:
|
127
|
+
:monkey]
|
119
128
|
|
120
129
|
Rake::TestTask.new(:main) do |t|
|
121
130
|
t.libs << %w[test lib]
|
@@ -134,7 +143,6 @@ namespace :test do
|
|
134
143
|
|
135
144
|
[
|
136
145
|
:grape,
|
137
|
-
:sidekiq,
|
138
146
|
:sucker_punch
|
139
147
|
].each do |contrib|
|
140
148
|
Rake::TestTask.new(contrib) do |t|
|
@@ -187,11 +195,12 @@ task :ci do
|
|
187
195
|
sh 'bundle exec rake test:main'
|
188
196
|
sh 'bundle exec rake spec:main'
|
189
197
|
sh 'bundle exec rake spec:contrib'
|
198
|
+
# Benchmarks
|
199
|
+
sh 'bundle exec rake spec:benchmark'
|
190
200
|
|
191
201
|
if RUBY_PLATFORM != 'java'
|
192
202
|
# Contrib minitests
|
193
203
|
sh 'bundle exec appraisal contrib-old rake test:monkey'
|
194
|
-
sh 'bundle exec appraisal contrib-old rake test:sidekiq'
|
195
204
|
sh 'bundle exec appraisal contrib-old rake test:sucker_punch'
|
196
205
|
# Contrib specs
|
197
206
|
sh 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
|
@@ -206,6 +215,7 @@ task :ci do
|
|
206
215
|
sh 'bundle exec appraisal contrib-old rake spec:excon'
|
207
216
|
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
208
217
|
sh 'bundle exec appraisal contrib-old rake spec:http'
|
218
|
+
sh 'bundle exec appraisal contrib-old rake spec:httprb'
|
209
219
|
sh 'bundle exec appraisal contrib-old rake spec:mongodb'
|
210
220
|
sh 'bundle exec appraisal contrib-old rake spec:mysql2'
|
211
221
|
sh 'bundle exec appraisal contrib-old rake spec:rack'
|
@@ -217,6 +227,7 @@ task :ci do
|
|
217
227
|
sh 'bundle exec appraisal contrib-old rake spec:sidekiq'
|
218
228
|
sh 'bundle exec appraisal contrib-old rake spec:sinatra'
|
219
229
|
sh 'bundle exec appraisal contrib-old rake spec:sucker_punch'
|
230
|
+
sh 'bundle exec appraisal contrib-old rake spec:suite'
|
220
231
|
# Rails minitests
|
221
232
|
sh 'bundle exec appraisal rails30-postgres rake test:rails'
|
222
233
|
sh 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
@@ -241,11 +252,12 @@ task :ci do
|
|
241
252
|
sh 'bundle exec rake spec:main'
|
242
253
|
sh 'bundle exec rake spec:contrib'
|
243
254
|
sh 'bundle exec rake spec:opentracer'
|
255
|
+
# Benchmarks
|
256
|
+
sh 'bundle exec rake spec:benchmark'
|
244
257
|
|
245
258
|
if RUBY_PLATFORM != 'java'
|
246
259
|
# Contrib minitests
|
247
260
|
sh 'bundle exec appraisal contrib-old rake test:monkey'
|
248
|
-
sh 'bundle exec appraisal contrib-old rake test:sidekiq'
|
249
261
|
sh 'bundle exec appraisal contrib-old rake test:sucker_punch'
|
250
262
|
# Contrib specs
|
251
263
|
sh 'bundle exec appraisal contrib-old rake spec:active_model_serializers'
|
@@ -260,6 +272,7 @@ task :ci do
|
|
260
272
|
sh 'bundle exec appraisal contrib-old rake spec:excon'
|
261
273
|
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
262
274
|
sh 'bundle exec appraisal contrib-old rake spec:http'
|
275
|
+
sh 'bundle exec appraisal contrib-old rake spec:httprb'
|
263
276
|
sh 'bundle exec appraisal contrib-old rake spec:mongodb'
|
264
277
|
sh 'bundle exec appraisal contrib-old rake spec:mysql2'
|
265
278
|
sh 'bundle exec appraisal contrib-old rake spec:presto'
|
@@ -272,6 +285,7 @@ task :ci do
|
|
272
285
|
sh 'bundle exec appraisal contrib-old rake spec:sidekiq'
|
273
286
|
sh 'bundle exec appraisal contrib-old rake spec:sinatra'
|
274
287
|
sh 'bundle exec appraisal contrib-old rake spec:sucker_punch'
|
288
|
+
sh 'bundle exec appraisal contrib-old rake spec:suite'
|
275
289
|
# Rails minitests
|
276
290
|
sh 'bundle exec appraisal rails30-postgres rake test:rails'
|
277
291
|
sh 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
@@ -302,11 +316,12 @@ task :ci do
|
|
302
316
|
sh 'bundle exec rake spec:main'
|
303
317
|
sh 'bundle exec rake spec:contrib'
|
304
318
|
sh 'bundle exec rake spec:opentracer'
|
319
|
+
# Benchmarks
|
320
|
+
sh 'bundle exec rake spec:benchmark'
|
305
321
|
|
306
322
|
if RUBY_PLATFORM != 'java'
|
307
323
|
# Contrib minitests
|
308
324
|
sh 'bundle exec appraisal contrib rake test:grape'
|
309
|
-
sh 'bundle exec appraisal contrib rake test:sidekiq'
|
310
325
|
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
311
326
|
# Contrib specs
|
312
327
|
sh 'bundle exec appraisal contrib rake spec:action_pack'
|
@@ -326,6 +341,7 @@ task :ci do
|
|
326
341
|
sh 'bundle exec appraisal contrib rake spec:graphql'
|
327
342
|
sh 'bundle exec appraisal contrib rake spec:grpc'
|
328
343
|
sh 'bundle exec appraisal contrib rake spec:http'
|
344
|
+
sh 'bundle exec appraisal contrib rake spec:httprb'
|
329
345
|
sh 'bundle exec appraisal contrib rake spec:mongodb'
|
330
346
|
sh 'bundle exec appraisal contrib rake spec:mysql2'
|
331
347
|
sh 'bundle exec appraisal contrib rake spec:presto'
|
@@ -339,7 +355,9 @@ task :ci do
|
|
339
355
|
sh 'bundle exec appraisal contrib rake spec:shoryuken'
|
340
356
|
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
341
357
|
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
358
|
+
sh 'bundle exec appraisal contrib rake spec:sneakers'
|
342
359
|
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
360
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
343
361
|
# Rails minitests
|
344
362
|
sh 'bundle exec appraisal rails30-postgres rake test:rails'
|
345
363
|
sh 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
@@ -374,11 +392,12 @@ task :ci do
|
|
374
392
|
sh 'bundle exec rake spec:main'
|
375
393
|
sh 'bundle exec rake spec:contrib'
|
376
394
|
sh 'bundle exec rake spec:opentracer'
|
395
|
+
# Benchmarks
|
396
|
+
sh 'bundle exec rake spec:benchmark'
|
377
397
|
|
378
398
|
if RUBY_PLATFORM != 'java'
|
379
399
|
# Contrib minitests
|
380
400
|
sh 'bundle exec appraisal contrib rake test:grape'
|
381
|
-
sh 'bundle exec appraisal contrib rake test:sidekiq'
|
382
401
|
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
383
402
|
# Contrib specs
|
384
403
|
sh 'bundle exec appraisal contrib rake spec:action_pack'
|
@@ -398,6 +417,7 @@ task :ci do
|
|
398
417
|
sh 'bundle exec appraisal contrib rake spec:graphql'
|
399
418
|
sh 'bundle exec appraisal contrib rake spec:grpc'
|
400
419
|
sh 'bundle exec appraisal contrib rake spec:http'
|
420
|
+
sh 'bundle exec appraisal contrib rake spec:httprb'
|
401
421
|
sh 'bundle exec appraisal contrib rake spec:mongodb'
|
402
422
|
sh 'bundle exec appraisal contrib rake spec:mysql2'
|
403
423
|
sh 'bundle exec appraisal contrib rake spec:presto'
|
@@ -411,7 +431,9 @@ task :ci do
|
|
411
431
|
sh 'bundle exec appraisal contrib rake spec:shoryuken'
|
412
432
|
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
413
433
|
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
434
|
+
sh 'bundle exec appraisal contrib rake spec:sneakers'
|
414
435
|
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
436
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
415
437
|
# Contrib specs with old gem versions
|
416
438
|
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
417
439
|
# Rails minitests
|
@@ -449,13 +471,14 @@ task :ci do
|
|
449
471
|
sh 'bundle exec rake spec:contrib'
|
450
472
|
sh 'bundle exec rake spec:opentracer'
|
451
473
|
sh 'bundle exec rake spec:opentelemetry'
|
474
|
+
# Benchmarks
|
475
|
+
sh 'bundle exec rake spec:benchmark'
|
452
476
|
|
453
477
|
if RUBY_PLATFORM != 'java'
|
454
478
|
# Benchmarks
|
455
479
|
sh 'bundle exec rake benchmark'
|
456
480
|
# Contrib minitests
|
457
481
|
sh 'bundle exec appraisal contrib rake test:grape'
|
458
|
-
sh 'bundle exec appraisal contrib rake test:sidekiq'
|
459
482
|
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
460
483
|
# Contrib specs
|
461
484
|
sh 'bundle exec appraisal contrib rake spec:action_pack'
|
@@ -475,6 +498,7 @@ task :ci do
|
|
475
498
|
sh 'bundle exec appraisal contrib rake spec:graphql'
|
476
499
|
sh 'bundle exec appraisal contrib rake spec:grpc'
|
477
500
|
sh 'bundle exec appraisal contrib rake spec:http'
|
501
|
+
sh 'bundle exec appraisal contrib rake spec:httprb'
|
478
502
|
sh 'bundle exec appraisal contrib rake spec:mongodb'
|
479
503
|
sh 'bundle exec appraisal contrib rake spec:mysql2'
|
480
504
|
sh 'bundle exec appraisal contrib rake spec:presto'
|
@@ -488,7 +512,9 @@ task :ci do
|
|
488
512
|
sh 'bundle exec appraisal contrib rake spec:shoryuken'
|
489
513
|
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
490
514
|
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
515
|
+
sh 'bundle exec appraisal contrib rake spec:sneakers'
|
491
516
|
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
517
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
492
518
|
# Contrib specs with old gem versions
|
493
519
|
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
494
520
|
# Rails minitests
|
@@ -511,70 +537,70 @@ task :ci do
|
|
511
537
|
sh 'bundle exec rake spec:contrib'
|
512
538
|
sh 'bundle exec rake spec:opentracer'
|
513
539
|
sh 'bundle exec rake spec:opentelemetry'
|
514
|
-
|
515
|
-
if RUBY_PLATFORM != 'java'
|
516
|
-
|
517
|
-
|
518
|
-
|
519
|
-
|
520
|
-
|
521
|
-
|
522
|
-
|
523
|
-
|
524
|
-
|
525
|
-
|
526
|
-
|
527
|
-
|
528
|
-
|
529
|
-
|
530
|
-
|
531
|
-
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
536
|
-
|
537
|
-
|
538
|
-
|
539
|
-
|
540
|
-
|
541
|
-
|
542
|
-
|
543
|
-
|
544
|
-
|
545
|
-
|
546
|
-
|
547
|
-
|
548
|
-
|
549
|
-
|
550
|
-
|
551
|
-
|
552
|
-
|
553
|
-
|
554
|
-
|
555
|
-
|
556
|
-
|
557
|
-
|
558
|
-
|
559
|
-
|
560
|
-
|
561
|
-
|
562
|
-
|
563
|
-
|
564
|
-
|
565
|
-
|
566
|
-
|
567
|
-
|
568
|
-
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
540
|
+
# Benchmarks
|
541
|
+
sh 'bundle exec rake spec:benchmark' if RUBY_PLATFORM != 'java' # Too slow due to repeated JVM instantiation
|
542
|
+
sh 'bundle exec rake benchmark'
|
543
|
+
# Contrib minitests
|
544
|
+
sh 'bundle exec appraisal contrib rake test:grape'
|
545
|
+
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
546
|
+
# Contrib specs
|
547
|
+
sh 'bundle exec appraisal contrib rake spec:action_pack'
|
548
|
+
sh 'bundle exec appraisal contrib rake spec:action_view'
|
549
|
+
sh 'bundle exec appraisal contrib rake spec:active_model_serializers'
|
550
|
+
sh 'bundle exec appraisal contrib rake spec:active_record'
|
551
|
+
sh 'bundle exec appraisal contrib rake spec:active_support'
|
552
|
+
sh 'bundle exec appraisal contrib rake spec:aws'
|
553
|
+
sh 'bundle exec appraisal contrib rake spec:concurrent_ruby'
|
554
|
+
sh 'bundle exec appraisal contrib rake spec:dalli'
|
555
|
+
sh 'bundle exec appraisal contrib rake spec:delayed_job'
|
556
|
+
sh 'bundle exec appraisal contrib rake spec:elasticsearch'
|
557
|
+
sh 'bundle exec appraisal contrib rake spec:ethon'
|
558
|
+
sh 'bundle exec appraisal contrib rake spec:excon'
|
559
|
+
sh 'bundle exec appraisal contrib rake spec:faraday'
|
560
|
+
sh 'bundle exec appraisal contrib rake spec:grape'
|
561
|
+
sh 'bundle exec appraisal contrib rake spec:graphql'
|
562
|
+
sh 'bundle exec appraisal contrib rake spec:grpc' if RUBY_PLATFORM != 'java' # protobuf not supported
|
563
|
+
sh 'bundle exec appraisal contrib rake spec:http'
|
564
|
+
sh 'bundle exec appraisal contrib rake spec:httprb'
|
565
|
+
sh 'bundle exec appraisal contrib rake spec:mongodb'
|
566
|
+
sh 'bundle exec appraisal contrib rake spec:mysql2' if RUBY_PLATFORM != 'java' # built-in jdbc is used instead
|
567
|
+
sh 'bundle exec appraisal contrib rake spec:presto'
|
568
|
+
sh 'bundle exec appraisal contrib rake spec:racecar'
|
569
|
+
sh 'bundle exec appraisal contrib rake spec:rack'
|
570
|
+
sh 'bundle exec appraisal contrib rake spec:rake'
|
571
|
+
sh 'bundle exec appraisal contrib rake spec:redis'
|
572
|
+
sh 'bundle exec appraisal contrib rake spec:resque'
|
573
|
+
sh 'bundle exec appraisal contrib rake spec:rest_client'
|
574
|
+
sh 'bundle exec appraisal contrib rake spec:sequel'
|
575
|
+
sh 'bundle exec appraisal contrib rake spec:shoryuken'
|
576
|
+
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
577
|
+
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
578
|
+
sh 'bundle exec appraisal contrib rake spec:sneakers'
|
579
|
+
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
580
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
581
|
+
# Contrib specs with old gem versions
|
582
|
+
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
583
|
+
# Rails minitests
|
584
|
+
# We only test Rails 5+ because older versions require Bundler < 2.0
|
585
|
+
sh 'bundle exec appraisal rails5-mysql2 rake test:rails'
|
586
|
+
sh 'bundle exec appraisal rails5-postgres rake test:rails'
|
587
|
+
sh 'bundle exec appraisal rails5-postgres-redis rake spec:railsredis'
|
588
|
+
sh 'bundle exec appraisal rails5-postgres-redis-activesupport rake spec:railsredis'
|
589
|
+
sh 'bundle exec appraisal rails5-postgres-sidekiq rake spec:railsactivejob'
|
590
|
+
sh 'bundle exec appraisal rails5-postgres rake spec:railsdisableenv'
|
591
|
+
sh 'bundle exec appraisal rails6-mysql2 rake test:rails'
|
592
|
+
sh 'bundle exec appraisal rails6-postgres rake test:rails'
|
593
|
+
sh 'bundle exec appraisal rails6-postgres-redis rake spec:railsredis'
|
594
|
+
sh 'bundle exec appraisal rails6-postgres-redis-activesupport rake spec:railsredis'
|
595
|
+
sh 'bundle exec appraisal rails6-postgres-sidekiq rake spec:railsactivejob'
|
596
|
+
sh 'bundle exec appraisal rails6-postgres rake spec:railsdisableenv'
|
597
|
+
# Rails specs
|
598
|
+
sh 'bundle exec appraisal rails5-mysql2 rake spec:action_cable'
|
599
|
+
sh 'bundle exec appraisal rails5-mysql2 rake spec:rails'
|
600
|
+
sh 'bundle exec appraisal rails5-postgres rake spec:rails'
|
601
|
+
# sh 'bundle exec appraisal rails6-mysql2 rake spec:action_cable' # TODO: Hangs CI jobs... fix and re-enable.
|
602
|
+
sh 'bundle exec appraisal rails6-mysql2 rake spec:rails'
|
603
|
+
sh 'bundle exec appraisal rails6-postgres rake spec:rails'
|
578
604
|
elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
|
579
605
|
&& Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
|
580
606
|
# Main library
|
@@ -583,13 +609,14 @@ task :ci do
|
|
583
609
|
sh 'bundle exec rake spec:contrib'
|
584
610
|
sh 'bundle exec rake spec:opentracer'
|
585
611
|
sh 'bundle exec rake spec:opentelemetry'
|
612
|
+
# Benchmarks
|
613
|
+
sh 'bundle exec rake spec:benchmark'
|
586
614
|
|
587
615
|
if RUBY_PLATFORM != 'java'
|
588
616
|
# Benchmarks
|
589
617
|
sh 'bundle exec rake benchmark'
|
590
618
|
# Contrib minitests
|
591
619
|
sh 'bundle exec appraisal contrib rake test:grape'
|
592
|
-
sh 'bundle exec appraisal contrib rake test:sidekiq'
|
593
620
|
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
594
621
|
# Contrib specs
|
595
622
|
sh 'bundle exec appraisal contrib rake spec:action_pack'
|
@@ -609,6 +636,7 @@ task :ci do
|
|
609
636
|
sh 'bundle exec appraisal contrib rake spec:graphql'
|
610
637
|
sh 'bundle exec appraisal contrib rake spec:grpc'
|
611
638
|
sh 'bundle exec appraisal contrib rake spec:http'
|
639
|
+
sh 'bundle exec appraisal contrib rake spec:httprb'
|
612
640
|
sh 'bundle exec appraisal contrib rake spec:mongodb'
|
613
641
|
sh 'bundle exec appraisal contrib rake spec:mysql2'
|
614
642
|
sh 'bundle exec appraisal contrib rake spec:presto'
|
@@ -622,7 +650,9 @@ task :ci do
|
|
622
650
|
sh 'bundle exec appraisal contrib rake spec:shoryuken'
|
623
651
|
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
624
652
|
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
653
|
+
sh 'bundle exec appraisal contrib rake spec:sneakers'
|
625
654
|
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
655
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
626
656
|
# Contrib specs with old gem versions
|
627
657
|
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
628
658
|
# Rails minitests
|
@@ -654,13 +684,14 @@ task :ci do
|
|
654
684
|
sh 'bundle exec rake spec:contrib'
|
655
685
|
sh 'bundle exec rake spec:opentracer'
|
656
686
|
sh 'bundle exec rake spec:opentelemetry'
|
687
|
+
# Benchmarks
|
688
|
+
sh 'bundle exec rake spec:benchmark'
|
657
689
|
|
658
690
|
if RUBY_PLATFORM != 'java'
|
659
691
|
# Benchmarks
|
660
692
|
sh 'bundle exec rake benchmark'
|
661
693
|
# Contrib minitests
|
662
694
|
sh 'bundle exec appraisal contrib rake test:grape'
|
663
|
-
sh 'bundle exec appraisal contrib rake test:sidekiq'
|
664
695
|
sh 'bundle exec appraisal contrib rake test:sucker_punch'
|
665
696
|
# Contrib specs
|
666
697
|
sh 'bundle exec appraisal contrib rake spec:action_pack'
|
@@ -680,6 +711,7 @@ task :ci do
|
|
680
711
|
sh 'bundle exec appraisal contrib rake spec:graphql'
|
681
712
|
sh 'bundle exec appraisal contrib rake spec:grpc'
|
682
713
|
sh 'bundle exec appraisal contrib rake spec:http'
|
714
|
+
sh 'bundle exec appraisal contrib rake spec:httprb'
|
683
715
|
sh 'bundle exec appraisal contrib rake spec:mongodb'
|
684
716
|
sh 'bundle exec appraisal contrib rake spec:mysql2'
|
685
717
|
sh 'bundle exec appraisal contrib rake spec:presto'
|
@@ -693,7 +725,9 @@ task :ci do
|
|
693
725
|
sh 'bundle exec appraisal contrib rake spec:shoryuken'
|
694
726
|
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
695
727
|
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
728
|
+
sh 'bundle exec appraisal contrib rake spec:sneakers'
|
696
729
|
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
730
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
697
731
|
# Contrib specs with old gem versions
|
698
732
|
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
699
733
|
# Rails minitests
|
data/ddtrace.gemspec
CHANGED
@@ -46,6 +46,8 @@ Gem::Specification.new do |spec|
|
|
46
46
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
47
47
|
spec.add_development_dependency 'rspec-collection_matchers', '~> 1.1'
|
48
48
|
spec.add_development_dependency 'minitest', '= 5.10.1'
|
49
|
+
spec.add_development_dependency 'minitest-around', '0.5.0'
|
50
|
+
spec.add_development_dependency 'minitest-stub_any_instance', '1.0.2'
|
49
51
|
spec.add_development_dependency 'appraisal', '~> 2.2'
|
50
52
|
spec.add_development_dependency 'yard', '~> 0.9'
|
51
53
|
spec.add_development_dependency 'webmock', '~> 2.0'
|
@@ -59,6 +61,9 @@ Gem::Specification.new do |spec|
|
|
59
61
|
|
60
62
|
# locking transitive dependency of webmock
|
61
63
|
spec.add_development_dependency 'addressable', '~> 2.4.0'
|
64
|
+
spec.add_development_dependency 'benchmark-ips', '~> 2.8'
|
65
|
+
spec.add_development_dependency 'benchmark-memory', '~> 0.1'
|
66
|
+
spec.add_development_dependency 'memory_profiler', '~> 0.9'
|
62
67
|
spec.add_development_dependency 'redcarpet', '~> 3.4' if RUBY_PLATFORM != 'java'
|
63
68
|
spec.add_development_dependency 'pry', '~> 0.10.4'
|
64
69
|
spec.add_development_dependency 'pry-stack_explorer', '~> 0.4.9.2'
|
data/docker-compose.yml
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
version: '3.2'
|
2
2
|
services:
|
3
|
+
# MRI
|
3
4
|
tracer-2.0:
|
4
5
|
image: palazzem/docker-library:ddtrace_rb_2_0_0
|
5
6
|
command: /bin/bash
|
@@ -247,12 +248,44 @@ services:
|
|
247
248
|
- .:/app
|
248
249
|
- bundle-2.7:/usr/local/bundle
|
249
250
|
- gemfiles-2.7:/app/gemfiles
|
251
|
+
# JRuby
|
252
|
+
tracer-jruby-9.2:
|
253
|
+
image: marcotc/docker-library:ddtrace_rb_jruby_9_2
|
254
|
+
command: /bin/bash
|
255
|
+
depends_on:
|
256
|
+
- ddagent
|
257
|
+
- elasticsearch
|
258
|
+
- memcached
|
259
|
+
- mongodb
|
260
|
+
- mysql
|
261
|
+
- postgres
|
262
|
+
- presto
|
263
|
+
- redis
|
264
|
+
env_file: ./.env
|
265
|
+
environment:
|
266
|
+
- BUNDLE_GEMFILE=/app/Gemfile
|
267
|
+
- DD_AGENT_HOST=ddagent
|
268
|
+
- TEST_DATADOG_INTEGRATION=1
|
269
|
+
- TEST_ELASTICSEARCH_HOST=elasticsearch
|
270
|
+
- TEST_MEMCACHED_HOST=memcached
|
271
|
+
- TEST_MONGODB_HOST=mongodb
|
272
|
+
- TEST_MYSQL_HOST=mysql
|
273
|
+
- TEST_POSTGRES_HOST=postgres
|
274
|
+
- TEST_PRESTO_HOST=presto
|
275
|
+
- TEST_PRESTO_PORT=8080
|
276
|
+
- TEST_REDIS_HOST=redis
|
277
|
+
stdin_open: true
|
278
|
+
tty: true
|
279
|
+
volumes:
|
280
|
+
- .:/app
|
281
|
+
- bundle-jruby-9.2:/usr/local/bundle
|
282
|
+
- gemfiles-jruby-9.2:/app/gemfiles
|
250
283
|
ddagent:
|
251
|
-
image: datadog/
|
284
|
+
image: datadog/agent
|
252
285
|
environment:
|
253
286
|
- DD_APM_ENABLED=true
|
254
287
|
- DD_BIND_HOST=0.0.0.0
|
255
|
-
- DD_API_KEY=
|
288
|
+
- DD_API_KEY=00000000000000000000000000000000
|
256
289
|
expose:
|
257
290
|
- "8125/udp"
|
258
291
|
- "8126"
|
@@ -325,6 +358,7 @@ volumes:
|
|
325
358
|
bundle-2.5:
|
326
359
|
bundle-2.6:
|
327
360
|
bundle-2.7:
|
361
|
+
bundle-jruby-9.2:
|
328
362
|
gemfiles-2.0:
|
329
363
|
gemfiles-2.1:
|
330
364
|
gemfiles-2.2:
|
@@ -333,3 +367,4 @@ volumes:
|
|
333
367
|
gemfiles-2.5:
|
334
368
|
gemfiles-2.6:
|
335
369
|
gemfiles-2.7:
|
370
|
+
gemfiles-jruby-9.2:
|