ddtrace 0.35.1 → 0.39.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (161) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +3 -1
  3. data/.gitignore +2 -0
  4. data/.gitlab-ci.yml +26 -0
  5. data/.rubocop.yml +4 -0
  6. data/Appraisals +52 -11
  7. data/CHANGELOG.md +135 -1
  8. data/Rakefile +109 -75
  9. data/ddtrace.gemspec +5 -0
  10. data/docker-compose.yml +37 -2
  11. data/docs/GettingStarted.md +146 -82
  12. data/lib/ddtrace.rb +3 -0
  13. data/lib/ddtrace/configuration/base.rb +1 -1
  14. data/lib/ddtrace/configuration/options.rb +1 -1
  15. data/lib/ddtrace/configuration/pin_setup.rb +3 -2
  16. data/lib/ddtrace/configuration/settings.rb +27 -3
  17. data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +7 -2
  18. data/lib/ddtrace/contrib/action_cable/ext.rb +5 -2
  19. data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +7 -0
  20. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +7 -2
  21. data/lib/ddtrace/contrib/action_pack/ext.rb +5 -2
  22. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +7 -2
  23. data/lib/ddtrace/contrib/action_view/ext.rb +5 -2
  24. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +7 -2
  25. data/lib/ddtrace/contrib/active_model_serializers/ext.rb +5 -2
  26. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +7 -2
  27. data/lib/ddtrace/contrib/active_record/ext.rb +5 -2
  28. data/lib/ddtrace/contrib/active_support/cache/redis.rb +1 -1
  29. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +7 -2
  30. data/lib/ddtrace/contrib/active_support/ext.rb +5 -2
  31. data/lib/ddtrace/contrib/active_support/notifications/event.rb +3 -1
  32. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +1 -1
  33. data/lib/ddtrace/contrib/aws/configuration/settings.rb +7 -2
  34. data/lib/ddtrace/contrib/aws/ext.rb +5 -2
  35. data/lib/ddtrace/contrib/concurrent_ruby/configuration/settings.rb +5 -0
  36. data/lib/ddtrace/contrib/concurrent_ruby/context_composite_executor_service.rb +9 -3
  37. data/lib/ddtrace/contrib/concurrent_ruby/ext.rb +1 -0
  38. data/lib/ddtrace/contrib/configuration/settings.rb +20 -1
  39. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +7 -2
  40. data/lib/ddtrace/contrib/dalli/ext.rb +5 -2
  41. data/lib/ddtrace/contrib/dalli/patcher.rb +1 -5
  42. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +7 -2
  43. data/lib/ddtrace/contrib/delayed_job/ext.rb +5 -2
  44. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +7 -2
  45. data/lib/ddtrace/contrib/elasticsearch/ext.rb +5 -2
  46. data/lib/ddtrace/contrib/elasticsearch/patcher.rb +1 -2
  47. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +7 -2
  48. data/lib/ddtrace/contrib/ethon/ext.rb +5 -2
  49. data/lib/ddtrace/contrib/excon/configuration/settings.rb +7 -2
  50. data/lib/ddtrace/contrib/excon/ext.rb +5 -2
  51. data/lib/ddtrace/contrib/extensions.rb +39 -5
  52. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +7 -2
  53. data/lib/ddtrace/contrib/faraday/ext.rb +5 -2
  54. data/lib/ddtrace/contrib/faraday/middleware.rb +5 -3
  55. data/lib/ddtrace/contrib/faraday/patcher.rb +13 -5
  56. data/lib/ddtrace/contrib/grape/configuration/settings.rb +7 -3
  57. data/lib/ddtrace/contrib/grape/ext.rb +5 -2
  58. data/lib/ddtrace/contrib/grape/patcher.rb +1 -1
  59. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +7 -2
  60. data/lib/ddtrace/contrib/graphql/ext.rb +5 -2
  61. data/lib/ddtrace/contrib/graphql/patcher.rb +6 -3
  62. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +7 -2
  63. data/lib/ddtrace/contrib/grpc/datadog_interceptor.rb +1 -1
  64. data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +1 -3
  65. data/lib/ddtrace/contrib/grpc/ext.rb +5 -2
  66. data/lib/ddtrace/contrib/grpc/patcher.rb +1 -5
  67. data/lib/ddtrace/contrib/http/circuit_breaker.rb +8 -32
  68. data/lib/ddtrace/contrib/http/configuration/settings.rb +7 -2
  69. data/lib/ddtrace/contrib/http/ext.rb +5 -2
  70. data/lib/ddtrace/contrib/http/instrumentation.rb +13 -8
  71. data/lib/ddtrace/contrib/httprb/configuration/settings.rb +32 -0
  72. data/lib/ddtrace/contrib/httprb/ext.rb +17 -0
  73. data/lib/ddtrace/contrib/httprb/instrumentation.rb +160 -0
  74. data/lib/ddtrace/contrib/httprb/integration.rb +43 -0
  75. data/lib/ddtrace/contrib/httprb/patcher.rb +35 -0
  76. data/lib/ddtrace/contrib/kafka/configuration/settings.rb +30 -0
  77. data/lib/ddtrace/contrib/kafka/consumer_event.rb +14 -0
  78. data/lib/ddtrace/contrib/kafka/consumer_group_event.rb +14 -0
  79. data/lib/ddtrace/contrib/kafka/event.rb +51 -0
  80. data/lib/ddtrace/contrib/kafka/events.rb +44 -0
  81. data/lib/ddtrace/contrib/kafka/events/connection/request.rb +34 -0
  82. data/lib/ddtrace/contrib/kafka/events/consumer/process_batch.rb +41 -0
  83. data/lib/ddtrace/contrib/kafka/events/consumer/process_message.rb +39 -0
  84. data/lib/ddtrace/contrib/kafka/events/consumer_group/heartbeat.rb +39 -0
  85. data/lib/ddtrace/contrib/kafka/events/consumer_group/join_group.rb +29 -0
  86. data/lib/ddtrace/contrib/kafka/events/consumer_group/leave_group.rb +29 -0
  87. data/lib/ddtrace/contrib/kafka/events/consumer_group/sync_group.rb +29 -0
  88. data/lib/ddtrace/contrib/kafka/events/produce_operation/send_messages.rb +32 -0
  89. data/lib/ddtrace/contrib/kafka/events/producer/deliver_messages.rb +35 -0
  90. data/lib/ddtrace/contrib/kafka/ext.rb +41 -0
  91. data/lib/ddtrace/contrib/kafka/integration.rb +39 -0
  92. data/lib/ddtrace/contrib/kafka/patcher.rb +26 -0
  93. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +7 -2
  94. data/lib/ddtrace/contrib/mongodb/ext.rb +5 -2
  95. data/lib/ddtrace/contrib/mongodb/instrumentation.rb +1 -2
  96. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +7 -2
  97. data/lib/ddtrace/contrib/mysql2/ext.rb +5 -2
  98. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +1 -1
  99. data/lib/ddtrace/contrib/patcher.rb +14 -8
  100. data/lib/ddtrace/contrib/presto/configuration/settings.rb +7 -2
  101. data/lib/ddtrace/contrib/presto/ext.rb +5 -2
  102. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +7 -2
  103. data/lib/ddtrace/contrib/racecar/ext.rb +5 -2
  104. data/lib/ddtrace/contrib/rack/configuration/settings.rb +7 -2
  105. data/lib/ddtrace/contrib/rack/ext.rb +5 -2
  106. data/lib/ddtrace/contrib/rack/middlewares.rb +15 -12
  107. data/lib/ddtrace/contrib/rails/configuration/settings.rb +20 -13
  108. data/lib/ddtrace/contrib/rails/ext.rb +5 -2
  109. data/lib/ddtrace/contrib/rails/framework.rb +52 -46
  110. data/lib/ddtrace/contrib/rails/integration.rb +1 -1
  111. data/lib/ddtrace/contrib/rake/configuration/settings.rb +7 -3
  112. data/lib/ddtrace/contrib/rake/ext.rb +5 -2
  113. data/lib/ddtrace/contrib/redis/configuration/settings.rb +7 -2
  114. data/lib/ddtrace/contrib/redis/ext.rb +5 -2
  115. data/lib/ddtrace/contrib/redis/patcher.rb +1 -1
  116. data/lib/ddtrace/contrib/resque/configuration/settings.rb +7 -2
  117. data/lib/ddtrace/contrib/resque/ext.rb +5 -2
  118. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +7 -2
  119. data/lib/ddtrace/contrib/rest_client/ext.rb +5 -2
  120. data/lib/ddtrace/contrib/rest_client/request_patch.rb +2 -2
  121. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +7 -2
  122. data/lib/ddtrace/contrib/sequel/database.rb +1 -1
  123. data/lib/ddtrace/contrib/sequel/ext.rb +5 -2
  124. data/lib/ddtrace/contrib/sequel/utils.rb +19 -1
  125. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +7 -2
  126. data/lib/ddtrace/contrib/shoryuken/ext.rb +5 -2
  127. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +7 -2
  128. data/lib/ddtrace/contrib/sidekiq/ext.rb +6 -2
  129. data/lib/ddtrace/contrib/sidekiq/patcher.rb +8 -1
  130. data/lib/ddtrace/contrib/sidekiq/server_tracer.rb +1 -0
  131. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +7 -2
  132. data/lib/ddtrace/contrib/sinatra/ext.rb +5 -2
  133. data/lib/ddtrace/contrib/sneakers/configuration/settings.rb +32 -0
  134. data/lib/ddtrace/contrib/sneakers/ext.rb +22 -0
  135. data/lib/ddtrace/contrib/sneakers/integration.rb +41 -0
  136. data/lib/ddtrace/contrib/sneakers/patcher.rb +24 -0
  137. data/lib/ddtrace/contrib/sneakers/tracer.rb +58 -0
  138. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +7 -2
  139. data/lib/ddtrace/contrib/sucker_punch/ext.rb +5 -2
  140. data/lib/ddtrace/contrib/sucker_punch/patcher.rb +1 -1
  141. data/lib/ddtrace/diagnostics/environment_logger.rb +278 -0
  142. data/lib/ddtrace/environment.rb +17 -3
  143. data/lib/ddtrace/ext/diagnostics.rb +3 -0
  144. data/lib/ddtrace/ext/environment.rb +2 -0
  145. data/lib/ddtrace/ext/transport.rb +1 -0
  146. data/lib/ddtrace/logger.rb +1 -1
  147. data/lib/ddtrace/pin.rb +39 -15
  148. data/lib/ddtrace/pipeline/span_filter.rb +15 -15
  149. data/lib/ddtrace/runtime/metrics.rb +18 -4
  150. data/lib/ddtrace/sampler.rb +2 -0
  151. data/lib/ddtrace/span.rb +10 -0
  152. data/lib/ddtrace/tracer.rb +15 -8
  153. data/lib/ddtrace/transport/http.rb +15 -0
  154. data/lib/ddtrace/transport/http/adapters/net.rb +8 -0
  155. data/lib/ddtrace/transport/http/adapters/test.rb +6 -0
  156. data/lib/ddtrace/transport/http/adapters/unix_socket.rb +4 -0
  157. data/lib/ddtrace/transport/response.rb +11 -0
  158. data/lib/ddtrace/version.rb +2 -2
  159. data/lib/ddtrace/workers/trace_writer.rb +3 -0
  160. data/lib/ddtrace/writer.rb +33 -12
  161. metadata +114 -29
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 178723b7546b1beef31f3bec8a9baeaa487a88108bc7e29e4af2f44bc1500ed6
4
- data.tar.gz: 823361a5e7f249cf3dac93d0b5f6b534f40c3ad6c1d6256d3104d12d3f222583
3
+ metadata.gz: dabe2325911d2a18a25e4b4e09f07bd0c132e68725b455f2313742ddceaff878
4
+ data.tar.gz: c3e395ea4faba49b4220842eb89f3aaac353bbf2d30d286b382d1b59f17b248f
5
5
  SHA512:
6
- metadata.gz: 8a1585205668fac0e4579dad9687d8a69953ad01ad4660dfa2293d0e253db65759264a5e08c617939b71a74bd5a13854708b6fcabd7666f0c2428e68d792c546
7
- data.tar.gz: 21ec2235e47dbb0eee68358fc9d4943a7d54dcc6df2e40d1713a9af231cc8f3cd7f1665933f4d69fff231ed4ff4ba88a4f3f910eef8a667a86ae92c6d80812d1
6
+ metadata.gz: 0bcecad99a9d2ee23ac3b57ff7f82724837bdcdebaaae3fb6014367b06d36d990aaabd7c8284da08f20970d47b15852aa011b3e94821472e53371f6b419d5cbd
7
+ data.tar.gz: 9c64c7a12a16524b388d62534765799041f6c9466272042184703b6a1776e2f3dcb489a04e7edbc96b1d8c78ede8855067488f1ae9ab824ea29293c18bf4e626
@@ -54,7 +54,9 @@ step_rubocop: &step_rubocop
54
54
  step_appraisal_install: &step_appraisal_install
55
55
  run:
56
56
  name: Install Appraisal gems
57
- command: bundle exec appraisal install
57
+ command: |
58
+ bundle exec appraisal clean # Ensure we fetch the latest version of dependencies
59
+ bundle exec appraisal install
58
60
  step_compute_bundle_checksum: &step_compute_bundle_checksum
59
61
  run:
60
62
  name: Compute bundle checksum
data/.gitignore CHANGED
@@ -50,6 +50,8 @@ build-iPhoneSimulator/
50
50
 
51
51
  # unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
52
52
  .rvmrc
53
+ # Ignore local variables
54
+ .envrc
53
55
 
54
56
  # lock files
55
57
  Gemfile.lock
@@ -0,0 +1,26 @@
1
+ stages:
2
+ - deploy
3
+
4
+ variables:
5
+ INDEX_FILE: index.txt
6
+
7
+ .common: &common
8
+ tags: [ "runner:main", "size:large" ]
9
+
10
+ copy_to_s3:
11
+ <<: *common
12
+ stage: deploy
13
+ image: registry.gitlab.com/gitlab-org/cloud-deploy/aws-base:latest
14
+ rules:
15
+ - if: '$CI_COMMIT_BRANCH == "master"'
16
+ when: on_success
17
+ - when: manual
18
+ script:
19
+ - export ACCESS_KEY_ID=$(aws ssm get-parameter --region us-east-1 --name ci.dd-trace-rb.secret_key_id --with-decryption --query "Parameter.Value" --out text)
20
+ - export SECRET_ACCESS_KEY=$(aws ssm get-parameter --region us-east-1 --name ci.dd-trace-rb.secret_sec_key_id --with-decryption --query "Parameter.Value" --out text)
21
+ - export AWS_ACCESS_KEY_ID=$ACCESS_KEY_ID
22
+ - export AWS_SECRET_ACCESS_KEY=$SECRET_ACCESS_KEY
23
+ - echo $CI_COMMIT_REF_NAME >> $INDEX_FILE
24
+ - echo $CI_COMMIT_SHA >> $INDEX_FILE
25
+ - echo $GITLAB_USER_NAME >> $INDEX_FILE
26
+ - aws s3 cp $INDEX_FILE s3://datadog-reliability-env/ruby/$INDEX_FILE
@@ -67,6 +67,10 @@ Metrics/PerceivedComplexity:
67
67
  Lint/UnusedMethodArgument:
68
68
  Enabled: false
69
69
 
70
+ # alias and alias_method are not equivalent
71
+ Style/Alias:
72
+ Enabled: false
73
+
70
74
  # Disabling advices that would lead to incompatible Ruby 1.9 code
71
75
  Style/SymbolArray:
72
76
  Enabled: false
data/Appraisals CHANGED
@@ -73,8 +73,10 @@ elsif Gem::Version.new('2.0.0') <= Gem::Version.new(RUBY_VERSION) \
73
73
  gem 'ethon'
74
74
  gem 'excon'
75
75
  gem 'hiredis'
76
+ gem 'http'
76
77
  gem 'mongo', '< 2.5'
77
78
  gem 'mysql2', '0.3.21', platform: :ruby
79
+ gem 'pg', '< 1.0', platform: :ruby
78
80
  gem 'rack', '1.4.7'
79
81
  gem 'rack-cache', '1.7.1'
80
82
  gem 'rack-test', '0.7.0'
@@ -184,8 +186,10 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
184
186
  gem 'ethon'
185
187
  gem 'excon'
186
188
  gem 'hiredis'
189
+ gem 'http'
187
190
  gem 'mongo', '< 2.5'
188
191
  gem 'mysql2', '0.3.21', platform: :ruby
192
+ gem 'pg', '< 1.0', platform: :ruby
189
193
  gem 'rack', '1.4.7'
190
194
  gem 'rack-cache', '1.7.1'
191
195
  gem 'rack-test', '0.7.0'
@@ -193,6 +197,7 @@ elsif Gem::Version.new('2.1.0') <= Gem::Version.new(RUBY_VERSION) \
193
197
  gem 'redis', '< 4.0'
194
198
  gem 'rest-client'
195
199
  gem 'resque', '< 2.0'
200
+ gem 'ruby-kafka', '>= 0.7.10'
196
201
  gem 'sequel', '~> 4.0', '< 4.37'
197
202
  gem 'shoryuken'
198
203
  gem 'sidekiq', '~> 3.5.4'
@@ -292,33 +297,33 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
292
297
  end
293
298
 
294
299
  appraise 'rails5-mysql2' do
295
- gem 'rails', '~> 5.2.1', '!= 5.2.4.1', '!= 5.2.4.2'
300
+ gem 'rails', '5.2.3'
296
301
  gem 'mysql2', '< 1', platform: :ruby
297
302
  gem 'sprockets', '< 4'
298
303
  end
299
304
 
300
305
  appraise 'rails5-postgres' do
301
- gem 'rails', '~> 5.2.1', '!= 5.2.4.1', '!= 5.2.4.2'
306
+ gem 'rails', '5.2.3'
302
307
  gem 'pg', '< 1.0', platform: :ruby
303
308
  gem 'sprockets', '< 4'
304
309
  end
305
310
 
306
311
  appraise 'rails5-postgres-redis' do
307
- gem 'rails', '~> 5.2.1', '!= 5.2.4.1', '!= 5.2.4.2'
312
+ gem 'rails', '5.2.3'
308
313
  gem 'pg', '< 1.0', platform: :ruby
309
314
  gem 'redis', '>= 4.0.1'
310
315
  gem 'sprockets', '< 4'
311
316
  end
312
317
 
313
318
  appraise 'rails5-postgres-redis-activesupport' do
314
- gem 'rails', '~> 5.2.1', '!= 5.2.4.1', '!= 5.2.4.2'
319
+ gem 'rails', '5.2.3'
315
320
  gem 'pg', '< 1.0', platform: :ruby
316
321
  gem 'redis', '>= 4.0.1'
317
322
  gem 'sprockets', '< 4'
318
323
  end
319
324
 
320
325
  appraise 'rails5-postgres-sidekiq' do
321
- gem 'rails', '~> 5.2.1', '!= 5.2.4.1', '!= 5.2.4.2'
326
+ gem 'rails', '5.2.3'
322
327
  gem 'pg', '< 1.0', platform: :ruby
323
328
  gem 'sidekiq'
324
329
  gem 'activejob'
@@ -336,14 +341,16 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
336
341
  gem 'delayed_job'
337
342
  gem 'delayed_job_active_record'
338
343
  gem 'elasticsearch-transport'
344
+ gem 'pg', platform: :ruby
339
345
  gem 'presto-client', '>= 0.5.14'
340
346
  gem 'ethon'
341
347
  gem 'excon'
342
348
  gem 'faraday'
343
349
  gem 'grape'
344
350
  gem 'graphql', '< 1.9.4'
345
- gem 'grpc'
351
+ gem 'grpc', '~> 1.21.0' # Last version to support Ruby < 2.3
346
352
  gem 'hiredis'
353
+ gem 'http'
347
354
  gem 'mongo', '>= 2.8.0'
348
355
  gem 'mysql2', '< 0.5', platform: :ruby
349
356
  gem 'racecar', '>= 0.3.5'
@@ -353,10 +360,12 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
353
360
  gem 'redis', '< 4.0'
354
361
  gem 'rest-client'
355
362
  gem 'resque', '< 2.0'
363
+ gem 'ruby-kafka', '>= 0.7.10'
356
364
  gem 'sequel'
357
365
  gem 'shoryuken'
358
366
  gem 'sidekiq'
359
367
  gem 'sinatra'
368
+ gem 'sneakers', '>= 2.12.0'
360
369
  gem 'sqlite3', '~> 1.3.6'
361
370
  gem 'sucker_punch'
362
371
  gem 'typhoeus'
@@ -501,9 +510,12 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
501
510
  gem 'grape'
502
511
  gem 'graphql'
503
512
  gem 'grpc'
513
+ gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
504
514
  gem 'hiredis'
515
+ gem 'http'
505
516
  gem 'mongo', '>= 2.8.0'
506
517
  gem 'mysql2', '< 0.5', platform: :ruby
518
+ gem 'pg', platform: :ruby
507
519
  gem 'presto-client', '>= 0.5.14'
508
520
  gem 'racecar', '>= 0.3.5'
509
521
  gem 'rack', '< 2.1.0' # Locked due to grape incompatibility: https://github.com/ruby-grape/grape/issues/1980
@@ -512,10 +524,12 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
512
524
  gem 'redis', '< 4.0'
513
525
  gem 'rest-client'
514
526
  gem 'resque', '< 2.0'
527
+ gem 'ruby-kafka', '>= 0.7.10'
515
528
  gem 'sequel'
516
529
  gem 'shoryuken'
517
530
  gem 'sidekiq'
518
531
  gem 'sinatra'
532
+ gem 'sneakers', '>= 2.12.0'
519
533
  gem 'sqlite3', '~> 1.3.6'
520
534
  gem 'sucker_punch'
521
535
  gem 'typhoeus'
@@ -579,9 +593,12 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
579
593
  gem 'grape'
580
594
  gem 'graphql'
581
595
  gem 'grpc'
596
+ gem 'google-protobuf', '~> 3.11.0' # Last version to support Ruby < 2.5
582
597
  gem 'hiredis'
598
+ gem 'http'
583
599
  gem 'mongo', '>= 2.8.0'
584
600
  gem 'mysql2', '< 0.5', platform: :ruby
601
+ gem 'pg', platform: :ruby
585
602
  gem 'presto-client', '>= 0.5.14'
586
603
  gem 'racecar', '>= 0.3.5'
587
604
  gem 'rack'
@@ -590,10 +607,12 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
590
607
  gem 'redis', '< 4.0'
591
608
  gem 'rest-client'
592
609
  gem 'resque', '< 2.0'
610
+ gem 'ruby-kafka', '>= 0.7.10'
593
611
  gem 'sequel'
594
612
  gem 'shoryuken'
595
613
  gem 'sidekiq'
596
614
  gem 'sinatra'
615
+ gem 'sneakers', '>= 2.12.0'
597
616
  gem 'sqlite3', '~> 1.3.6'
598
617
  gem 'sucker_punch'
599
618
  gem 'typhoeus'
@@ -605,22 +624,24 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION) \
605
624
  end
606
625
  elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
607
626
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.6.0')
608
- if RUBY_PLATFORM != 'java'
609
627
  appraise 'rails5-mysql2' do
610
628
  gem 'rails', '~> 5.2.1'
611
629
  gem 'mysql2', '< 1', platform: :ruby
630
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
612
631
  gem 'sprockets', '< 4'
613
632
  end
614
633
 
615
634
  appraise 'rails5-postgres' do
616
635
  gem 'rails', '~> 5.2.1'
617
636
  gem 'pg', '< 1.0', platform: :ruby
637
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
618
638
  gem 'sprockets', '< 4'
619
639
  end
620
640
 
621
641
  appraise 'rails5-postgres-redis' do
622
642
  gem 'rails', '~> 5.2.1'
623
643
  gem 'pg', '< 1.0', platform: :ruby
644
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
624
645
  gem 'redis', '>= 4.0.1'
625
646
  gem 'sprockets', '< 4'
626
647
  end
@@ -628,6 +649,7 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
628
649
  appraise 'rails5-postgres-redis-activesupport' do
629
650
  gem 'rails', '~> 5.2.1'
630
651
  gem 'pg', '< 1.0', platform: :ruby
652
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
631
653
  gem 'redis', '>= 4.0.1'
632
654
  gem 'sprockets', '< 4'
633
655
  end
@@ -635,6 +657,7 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
635
657
  appraise 'rails5-postgres-sidekiq' do
636
658
  gem 'rails', '~> 5.2.1'
637
659
  gem 'pg', '< 1.0', platform: :ruby
660
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
638
661
  gem 'sidekiq'
639
662
  gem 'activejob'
640
663
  gem 'sprockets', '< 4'
@@ -643,18 +666,21 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
643
666
  appraise 'rails6-mysql2' do
644
667
  gem 'rails', '~> 6.0.0'
645
668
  gem 'mysql2', '< 1', platform: :ruby
669
+ gem 'activerecord-jdbcmysql-adapter', '>= 60', platform: :jruby # try remove >= 60
646
670
  gem 'sprockets', '< 4'
647
671
  end
648
672
 
649
673
  appraise 'rails6-postgres' do
650
674
  gem 'rails', '~> 6.0.0'
651
675
  gem 'pg', '< 1.0', platform: :ruby
676
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
652
677
  gem 'sprockets', '< 4'
653
678
  end
654
679
 
655
680
  appraise 'rails6-postgres-redis' do
656
681
  gem 'rails', '~> 6.0.0'
657
682
  gem 'pg', '< 1.0', platform: :ruby
683
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
658
684
  gem 'redis', '>= 4.0.1'
659
685
  gem 'sprockets', '< 4'
660
686
  end
@@ -662,6 +688,7 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
662
688
  appraise 'rails6-postgres-redis-activesupport' do
663
689
  gem 'rails', '~> 6.0.0'
664
690
  gem 'pg', '< 1.0', platform: :ruby
691
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
665
692
  gem 'redis', '>= 4.0.1'
666
693
  gem 'sprockets', '< 4'
667
694
  end
@@ -669,6 +696,7 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
669
696
  appraise 'rails6-postgres-sidekiq' do
670
697
  gem 'rails', '~> 6.0.0'
671
698
  gem 'pg', '< 1.0', platform: :ruby
699
+ gem 'activerecord-jdbcpostgresql-adapter', '>= 60', platform: :jruby
672
700
  gem 'sidekiq'
673
701
  gem 'activejob'
674
702
  gem 'sprockets', '< 4'
@@ -690,11 +718,15 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
690
718
  gem 'faraday'
691
719
  gem 'grape'
692
720
  gem 'graphql'
693
- gem 'grpc'
721
+ gem 'grpc', platform: :ruby
694
722
  gem 'hiredis'
723
+ gem 'http'
695
724
  gem 'mongo', '>= 2.8.0'
696
725
  gem 'mysql2', '< 0.5', platform: :ruby
697
- gem 'presto-client', '>= 0.5.14'
726
+ gem 'activerecord-jdbcmysql-adapter', platform: :jruby
727
+ gem 'pg', platform: :ruby
728
+ gem 'activerecord-jdbcpostgresql-adapter', platform: :jruby
729
+ gem 'presto-client', '>= 0.5.14'
698
730
  gem 'racecar', '>= 0.3.5'
699
731
  gem 'rack'
700
732
  gem 'rack-test'
@@ -702,11 +734,13 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
702
734
  gem 'redis', '< 4.0'
703
735
  gem 'rest-client'
704
736
  gem 'resque', '< 2.0'
737
+ gem 'ruby-kafka', '>= 0.7.10'
705
738
  gem 'sequel'
706
739
  gem 'shoryuken'
707
740
  gem 'sidekiq'
708
741
  gem 'sinatra'
709
- gem 'sqlite3', '~> 1.4.1'
742
+ gem 'sneakers', '>= 2.12.0'
743
+ gem 'sqlite3', '~> 1.4.1', platform: :ruby
710
744
  gem 'sucker_punch'
711
745
  gem 'typhoeus'
712
746
  end
@@ -714,7 +748,6 @@ elsif Gem::Version.new('2.5.0') <= Gem::Version.new(RUBY_VERSION) \
714
748
  appraise 'contrib-old' do
715
749
  gem 'faraday', '0.17'
716
750
  end
717
- end
718
751
  elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
719
752
  && Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.7.0')
720
753
  if RUBY_PLATFORM != 'java'
@@ -804,8 +837,10 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
804
837
  gem 'graphql'
805
838
  gem 'grpc'
806
839
  gem 'hiredis'
840
+ gem 'http'
807
841
  gem 'mongo', '>= 2.8.0'
808
842
  gem 'mysql2', '< 0.5', platform: :ruby
843
+ gem 'pg', platform: :ruby
809
844
  gem 'presto-client', '>= 0.5.14'
810
845
  gem 'racecar', '>= 0.3.5'
811
846
  gem 'rack'
@@ -814,10 +849,12 @@ elsif Gem::Version.new('2.6.0') <= Gem::Version.new(RUBY_VERSION) \
814
849
  gem 'redis', '< 4.0'
815
850
  gem 'rest-client'
816
851
  gem 'resque', '< 2.0'
852
+ gem 'ruby-kafka', '>= 0.7.10'
817
853
  gem 'sequel'
818
854
  gem 'shoryuken'
819
855
  gem 'sidekiq'
820
856
  gem 'sinatra'
857
+ gem 'sneakers', '>= 2.12.0'
821
858
  gem 'sqlite3', '~> 1.4.1'
822
859
  gem 'sucker_punch'
823
860
  gem 'typhoeus'
@@ -918,8 +955,10 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
918
955
  gem 'graphql'
919
956
  gem 'grpc'
920
957
  gem 'hiredis'
958
+ gem 'http'
921
959
  gem 'mongo', '>= 2.8.0'
922
960
  gem 'mysql2', '< 0.5', platform: :ruby
961
+ gem 'pg', platform: :ruby
923
962
  gem 'presto-client', '>= 0.5.14'
924
963
  gem 'racecar', '>= 0.3.5'
925
964
  gem 'rack'
@@ -928,10 +967,12 @@ elsif Gem::Version.new('2.7.0') <= Gem::Version.new(RUBY_VERSION)
928
967
  gem 'redis', '< 4.0'
929
968
  gem 'rest-client'
930
969
  gem 'resque', '< 2.0'
970
+ gem 'ruby-kafka', '>= 0.7.10'
931
971
  gem 'sequel'
932
972
  gem 'shoryuken'
933
973
  gem 'sidekiq'
934
974
  gem 'sinatra'
975
+ gem 'sneakers', '>= 2.12.0'
935
976
  gem 'sqlite3', '~> 1.4.1'
936
977
  gem 'sucker_punch'
937
978
  gem 'typhoeus'
@@ -2,6 +2,135 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [0.39.0] - 2020-08-05
6
+
7
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.39.0
8
+
9
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.38.0...v0.39.0
10
+
11
+ ### Added
12
+
13
+ - JRuby 9.2 support (#1126)
14
+ - Sneakers integration (#1121) (@janz93)
15
+
16
+ ### Changed
17
+
18
+ - Consistent environment variables across languages (#1115)
19
+ - Default logger level from WARN to INFO (#1120) (@gingerlime)
20
+ - This change also reduces the startup environment log message to INFO level (#1104)
21
+
22
+ ### Fixed
23
+
24
+ - HTTP::StateError on error responses for http.rb (#1116, #1122) (@evan-waters)
25
+ - Startup log error when using the test adapter (#1125, #1131) (@benhutton)
26
+ - Warning message for Faraday < 1.0 (#1129) (@fledman, @tjwp)
27
+ - Propagate Rails error message to Rack span (#1124)
28
+
29
+ ### Refactored
30
+
31
+ - Improved ActiveRecord documentation (#1119)
32
+ - Improvements to test suite (#1105, #1118)
33
+
34
+ ## [0.38.0] - 2020-07-13
35
+
36
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.38.0
37
+
38
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.37.0...v0.38.0
39
+
40
+ ### Added
41
+
42
+ - http.rb integration (#529, #853)
43
+ - Kafka integration (#1070) (@tjwp)
44
+ - Span#set_tags (#1081) (@DocX)
45
+ - retry_count tag for Sidekiq jobs (#1089) (@elyalvarado)
46
+ - Startup environment log (#1104, #1109)
47
+ - DD_SITE and DD_API_KEY configuration (#1107)
48
+
49
+ ### Changed
50
+
51
+ - Auto instrument Faraday default connection (#1057)
52
+ - Sidekiq client middleware is now the same for client and server (#1099) (@drcapulet)
53
+ - Single pass SpanFilter (#1071) (@tjwp)
54
+
55
+ ### Fixed
56
+
57
+ - Ensure fatal exceptions are propagated (#1100)
58
+ - Respect child_of: option in Tracer#trace (#1082) (@DocX)
59
+ - Improve Writer thread safety (#1091) (@fledman)
60
+
61
+ ### Refactored
62
+
63
+ - Improvements to test suite (#1092, #1103)
64
+
65
+ ## [0.37.0] - 2020-06-24
66
+
67
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.37.0
68
+
69
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.36.0...v0.37.0
70
+
71
+ ### Refactored
72
+
73
+ - Documentation improvements regarding Datadog Agent defaults (#1074) (@cswatt)
74
+ - Improvements to test suite (#1043, #1051, #1062, #1075, #1076, #1086)
75
+
76
+ ### Removed
77
+
78
+ - **DEPRECATION**: Deprecate Contrib::Configuration::Settings#tracer= (#1072, #1079)
79
+ - The `tracer:` option is no longer supported for integration configuration. A deprecation warning will be issued when this option is used.
80
+ - Tracer instances are dynamically created when `ddtrace` is reconfigured (through `Datadog.configure{}` calls).
81
+
82
+ A reference to a tracer instance cannot be stored as it will be replaced by a new instance during reconfiguration.
83
+
84
+ Retrieving the global tracer instance, by invoking `Datadog.tracer`, is the only safe mechanism to acquire the active tracer instance.
85
+
86
+ Allowing an integration to set its tracer instance is effectively preventing that integration from dynamically retrieving the current active tracer in the future, thus causing it to record spans in a stale tracer instance. Spans recorded in a stale tracer instance will look disconnected from their parent context.
87
+
88
+ - **BREAKING**: Remove Pin#tracer= and DeprecatedPin#tracer= (#1073)
89
+ - The `Pin` and `DeprecatedPin` are internal tools used to provide more granular configuration for integrations.
90
+ - The APIs being removed are not public nor have been externally documented. The `DeprecatedPin` specifically has been considered deprecated since 0.20.0.
91
+ - This removal is a continuation of #1079 above, thus carrying the same rationale.
92
+
93
+ ### Migration
94
+
95
+ - Remove `tracer` argument provided to integrations (e.g. `c.use :rails, tracer: ...`).
96
+ - Remove `tracer` argument provided to `Pin` or `DeprecatedPin` initializers (e.g. `Pin.new(service, tracer: ...)`).
97
+ - If you require a custom tracer instance, use a global instance configuration:
98
+ ```ruby
99
+ Datadog.configure do |c|
100
+ c.tracer.instance = custom_tracer
101
+ end
102
+ ```
103
+
104
+ ## [0.36.0] - 2020-05-27
105
+
106
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.36.0
107
+
108
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.35.2...v0.36.0
109
+
110
+ ### Changed
111
+
112
+ - Prevent trace components from being re-initialized multiple times during setup (#1037)
113
+
114
+ ### Fixed
115
+
116
+ - Allow Rails patching if Railties are loaded (#993, #1054) (@mustela, @bheemreddy181, @vramaiah)
117
+ - Pin delegates to default tracer unless configured (#1041)
118
+
119
+ ### Refactored
120
+
121
+ - Improvements to test suite (#1027, #1031, #1045, #1046, #1047)
122
+
123
+ ## [0.35.2] - 2020-05-08
124
+
125
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.35.2
126
+
127
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.35.1...v0.35.2
128
+
129
+ ### Fixed
130
+
131
+ - Internal tracer HTTP requests generating traces (#1030, #1033) (@gingerlime)
132
+ - `Datadog.configure` forcing all options to eager load (#1032, #1034) (@kelvin-acosta)
133
+
5
134
  ## [0.35.1] - 2020-05-05
6
135
 
7
136
  Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.35.1
@@ -1205,7 +1334,12 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
1205
1334
 
1206
1335
  Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
1207
1336
 
1208
- [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.1...master
1337
+ [Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.39.0...master
1338
+ [0.39.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.38.0...v0.39.0
1339
+ [0.38.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.37.0...v0.38.0
1340
+ [0.37.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.36.0...v0.37.0
1341
+ [0.36.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.2...v0.36.0
1342
+ [0.35.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.1...v0.35.2
1209
1343
  [0.35.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.0...v0.35.1
1210
1344
  [0.35.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.34.2...v0.35.0
1211
1345
  [0.34.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.34.1...v0.34.2