ddtrace 0.35.1 → 0.39.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 (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