ddtrace 0.43.0 → 0.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +148 -130
  3. data/.circleci/images/primary/Dockerfile-3.0.0 +73 -0
  4. data/.github/workflows/add-milestone-to-pull-requests.yml +1 -1
  5. data/.simplecov +4 -1
  6. data/Appraisals +215 -14
  7. data/CHANGELOG.md +1048 -377
  8. data/Gemfile +4 -2
  9. data/README.md +1 -0
  10. data/Rakefile +172 -6
  11. data/ddtrace.gemspec +6 -8
  12. data/docker-compose.yml +30 -0
  13. data/docs/GettingStarted.md +112 -14
  14. data/lib/ddtrace.rb +8 -0
  15. data/lib/ddtrace/auto_instrument.rb +3 -0
  16. data/lib/ddtrace/auto_instrument_base.rb +6 -0
  17. data/lib/ddtrace/contrib/action_cable/integration.rb +7 -0
  18. data/lib/ddtrace/contrib/action_pack/integration.rb +7 -0
  19. data/lib/ddtrace/contrib/action_view/event.rb +0 -4
  20. data/lib/ddtrace/contrib/action_view/events/render_partial.rb +1 -0
  21. data/lib/ddtrace/contrib/action_view/events/render_template.rb +1 -0
  22. data/lib/ddtrace/contrib/action_view/integration.rb +7 -0
  23. data/lib/ddtrace/contrib/active_record/integration.rb +7 -0
  24. data/lib/ddtrace/contrib/active_record/utils.rb +67 -21
  25. data/lib/ddtrace/contrib/active_support/integration.rb +7 -1
  26. data/lib/ddtrace/contrib/auto_instrument.rb +48 -0
  27. data/lib/ddtrace/contrib/aws/services.rb +1 -0
  28. data/lib/ddtrace/contrib/configuration/resolvers/pattern_resolver.rb +2 -0
  29. data/lib/ddtrace/contrib/cucumber/integration.rb +5 -0
  30. data/lib/ddtrace/contrib/ethon/easy_patch.rb +6 -5
  31. data/lib/ddtrace/contrib/ethon/ext.rb +1 -0
  32. data/lib/ddtrace/contrib/extensions.rb +27 -1
  33. data/lib/ddtrace/contrib/grape/endpoint.rb +29 -11
  34. data/lib/ddtrace/contrib/grape/ext.rb +1 -0
  35. data/lib/ddtrace/contrib/httpclient/configuration/settings.rb +32 -0
  36. data/lib/ddtrace/contrib/httpclient/ext.rb +17 -0
  37. data/lib/ddtrace/contrib/httpclient/instrumentation.rb +152 -0
  38. data/lib/ddtrace/contrib/httpclient/integration.rb +43 -0
  39. data/lib/ddtrace/contrib/httpclient/patcher.rb +35 -0
  40. data/lib/ddtrace/contrib/httprb/instrumentation.rb +1 -1
  41. data/lib/ddtrace/contrib/patchable.rb +18 -7
  42. data/lib/ddtrace/contrib/qless/configuration/settings.rb +35 -0
  43. data/lib/ddtrace/contrib/qless/ext.rb +20 -0
  44. data/lib/ddtrace/contrib/qless/integration.rb +38 -0
  45. data/lib/ddtrace/contrib/qless/patcher.rb +35 -0
  46. data/lib/ddtrace/contrib/qless/qless_job.rb +72 -0
  47. data/lib/ddtrace/contrib/qless/tracer_cleaner.rb +32 -0
  48. data/lib/ddtrace/contrib/rack/integration.rb +7 -0
  49. data/lib/ddtrace/contrib/rack/middlewares.rb +1 -1
  50. data/lib/ddtrace/contrib/rack/request_queue.rb +6 -1
  51. data/lib/ddtrace/contrib/rails/auto_instrument_railtie.rb +10 -0
  52. data/lib/ddtrace/contrib/rails/utils.rb +4 -0
  53. data/lib/ddtrace/contrib/rake/integration.rb +1 -1
  54. data/lib/ddtrace/contrib/redis/configuration/resolver.rb +3 -1
  55. data/lib/ddtrace/contrib/redis/configuration/settings.rb +5 -0
  56. data/lib/ddtrace/contrib/redis/ext.rb +1 -0
  57. data/lib/ddtrace/contrib/redis/patcher.rb +20 -3
  58. data/lib/ddtrace/contrib/redis/quantize.rb +27 -0
  59. data/lib/ddtrace/contrib/redis/tags.rb +5 -1
  60. data/lib/ddtrace/contrib/rspec/integration.rb +5 -0
  61. data/lib/ddtrace/contrib/sinatra/tracer_middleware.rb +2 -2
  62. data/lib/ddtrace/ext/ci.rb +42 -10
  63. data/lib/ddtrace/ext/git.rb +0 -1
  64. data/lib/ddtrace/propagation/http_propagator.rb +17 -2
  65. data/lib/ddtrace/version.rb +1 -1
  66. data/lib/ddtrace/workers/runtime_metrics.rb +7 -3
  67. metadata +91 -20
@@ -1,7 +1,7 @@
1
1
  module Datadog
2
2
  module VERSION
3
3
  MAJOR = 0
4
- MINOR = 43
4
+ MINOR = 45
5
5
  PATCH = 0
6
6
  PRE = nil
7
7
 
@@ -12,6 +12,10 @@ module Datadog
12
12
  extend Forwardable
13
13
  include Workers::Polling
14
14
 
15
+ # In seconds
16
+ DEFAULT_FLUSH_INTERVAL = 10
17
+ DEFAULT_BACK_OFF_MAX = 30
18
+
15
19
  attr_reader \
16
20
  :metrics
17
21
 
@@ -22,9 +26,9 @@ module Datadog
22
26
  self.fork_policy = options.fetch(:fork_policy, Workers::Async::Thread::FORK_POLICY_STOP)
23
27
 
24
28
  # Workers::IntervalLoop settings
25
- self.interval = options[:interval] if options.key?(:interval)
26
- self.back_off_ratio = options[:back_off_ratio] if options.key?(:back_off_ratio)
27
- self.back_off_max = options[:back_off_max] if options.key?(:back_off_max)
29
+ self.loop_base_interval = options.fetch(:interval, DEFAULT_FLUSH_INTERVAL)
30
+ self.loop_back_off_ratio = options[:back_off_ratio] if options.key?(:back_off_ratio)
31
+ self.loop_back_off_max = options.fetch(:back_off_max, DEFAULT_BACK_OFF_MAX)
28
32
 
29
33
  self.enabled = options.fetch(:enabled, false)
30
34
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddtrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.43.0
4
+ version: 0.45.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Datadog, Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-11-18 00:00:00.000000000 Z
11
+ date: 2021-01-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -122,6 +122,20 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '1.1'
125
+ - !ruby/object:Gem::Dependency
126
+ name: ruby-prof
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '1.4'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: '1.4'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: minitest
127
141
  requirement: !ruby/object:Gem::Requirement
@@ -164,6 +178,20 @@ dependencies:
164
178
  - - '='
165
179
  - !ruby/object:Gem::Version
166
180
  version: 1.0.2
181
+ - !ruby/object:Gem::Dependency
182
+ name: pimpmychangelog
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - ">="
186
+ - !ruby/object:Gem::Version
187
+ version: 0.1.2
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - ">="
193
+ - !ruby/object:Gem::Version
194
+ version: 0.1.2
167
195
  - !ruby/object:Gem::Dependency
168
196
  name: appraisal
169
197
  requirement: !ruby/object:Gem::Requirement
@@ -196,16 +224,16 @@ dependencies:
196
224
  name: webmock
197
225
  requirement: !ruby/object:Gem::Requirement
198
226
  requirements:
199
- - - "~>"
227
+ - - ">="
200
228
  - !ruby/object:Gem::Version
201
- version: '2.0'
229
+ version: 3.10.0
202
230
  type: :development
203
231
  prerelease: false
204
232
  version_requirements: !ruby/object:Gem::Requirement
205
233
  requirements:
206
- - - "~>"
234
+ - - ">="
207
235
  - !ruby/object:Gem::Version
208
- version: '2.0'
236
+ version: 3.10.0
209
237
  - !ruby/object:Gem::Dependency
210
238
  name: builder
211
239
  requirement: !ruby/object:Gem::Requirement
@@ -221,33 +249,33 @@ dependencies:
221
249
  - !ruby/object:Gem::Version
222
250
  version: '0'
223
251
  - !ruby/object:Gem::Dependency
224
- name: sqlite3
252
+ name: climate_control
225
253
  requirement: !ruby/object:Gem::Requirement
226
254
  requirements:
227
255
  - - "~>"
228
256
  - !ruby/object:Gem::Version
229
- version: 1.3.6
257
+ version: 0.2.0
230
258
  type: :development
231
259
  prerelease: false
232
260
  version_requirements: !ruby/object:Gem::Requirement
233
261
  requirements:
234
262
  - - "~>"
235
263
  - !ruby/object:Gem::Version
236
- version: 1.3.6
264
+ version: 0.2.0
237
265
  - !ruby/object:Gem::Dependency
238
- name: climate_control
266
+ name: rspec_junit_formatter
239
267
  requirement: !ruby/object:Gem::Requirement
240
268
  requirements:
241
- - - "~>"
269
+ - - ">="
242
270
  - !ruby/object:Gem::Version
243
- version: 0.2.0
271
+ version: 0.4.1
244
272
  type: :development
245
273
  prerelease: false
246
274
  version_requirements: !ruby/object:Gem::Requirement
247
275
  requirements:
248
- - - "~>"
276
+ - - ">="
249
277
  - !ruby/object:Gem::Version
250
- version: 0.2.0
278
+ version: 0.4.1
251
279
  - !ruby/object:Gem::Dependency
252
280
  name: addressable
253
281
  requirement: !ruby/object:Gem::Requirement
@@ -324,28 +352,42 @@ dependencies:
324
352
  requirements:
325
353
  - - "~>"
326
354
  - !ruby/object:Gem::Version
327
- version: 0.10.4
355
+ version: 0.12.2
356
+ type: :development
357
+ prerelease: false
358
+ version_requirements: !ruby/object:Gem::Requirement
359
+ requirements:
360
+ - - "~>"
361
+ - !ruby/object:Gem::Version
362
+ version: 0.12.2
363
+ - !ruby/object:Gem::Dependency
364
+ name: pry-nav
365
+ requirement: !ruby/object:Gem::Requirement
366
+ requirements:
367
+ - - "~>"
368
+ - !ruby/object:Gem::Version
369
+ version: 0.3.0
328
370
  type: :development
329
371
  prerelease: false
330
372
  version_requirements: !ruby/object:Gem::Requirement
331
373
  requirements:
332
374
  - - "~>"
333
375
  - !ruby/object:Gem::Version
334
- version: 0.10.4
376
+ version: 0.3.0
335
377
  - !ruby/object:Gem::Dependency
336
378
  name: pry-stack_explorer
337
379
  requirement: !ruby/object:Gem::Requirement
338
380
  requirements:
339
381
  - - "~>"
340
382
  - !ruby/object:Gem::Version
341
- version: 0.4.9.2
383
+ version: 0.4.9
342
384
  type: :development
343
385
  prerelease: false
344
386
  version_requirements: !ruby/object:Gem::Requirement
345
387
  requirements:
346
388
  - - "~>"
347
389
  - !ruby/object:Gem::Version
348
- version: 0.4.9.2
390
+ version: 0.4.9
349
391
  - !ruby/object:Gem::Dependency
350
392
  name: simplecov
351
393
  requirement: !ruby/object:Gem::Requirement
@@ -360,6 +402,20 @@ dependencies:
360
402
  - - "~>"
361
403
  - !ruby/object:Gem::Version
362
404
  version: '0.17'
405
+ - !ruby/object:Gem::Dependency
406
+ name: warning
407
+ requirement: !ruby/object:Gem::Requirement
408
+ requirements:
409
+ - - "~>"
410
+ - !ruby/object:Gem::Version
411
+ version: '1'
412
+ type: :development
413
+ prerelease: false
414
+ version_requirements: !ruby/object:Gem::Requirement
415
+ requirements:
416
+ - - "~>"
417
+ - !ruby/object:Gem::Version
418
+ version: '1'
363
419
  description: |
364
420
  ddtrace is Datadog’s tracing client for Ruby. It is used to trace requests
365
421
  as they flow across web servers, databases and microservices so that developers
@@ -379,6 +435,7 @@ files:
379
435
  - ".circleci/images/primary/Dockerfile-2.5.6"
380
436
  - ".circleci/images/primary/Dockerfile-2.6.4"
381
437
  - ".circleci/images/primary/Dockerfile-2.7.0"
438
+ - ".circleci/images/primary/Dockerfile-3.0.0"
382
439
  - ".circleci/images/primary/Dockerfile-jruby-9.2"
383
440
  - ".dockerignore"
384
441
  - ".env"
@@ -413,6 +470,8 @@ files:
413
470
  - lib/ddtrace/augmentation/method_wrapper.rb
414
471
  - lib/ddtrace/augmentation/method_wrapping.rb
415
472
  - lib/ddtrace/augmentation/shim.rb
473
+ - lib/ddtrace/auto_instrument.rb
474
+ - lib/ddtrace/auto_instrument_base.rb
416
475
  - lib/ddtrace/buffer.rb
417
476
  - lib/ddtrace/chunker.rb
418
477
  - lib/ddtrace/configuration.rb
@@ -486,6 +545,7 @@ files:
486
545
  - lib/ddtrace/contrib/active_support/notifications/subscription.rb
487
546
  - lib/ddtrace/contrib/active_support/patcher.rb
488
547
  - lib/ddtrace/contrib/analytics.rb
548
+ - lib/ddtrace/contrib/auto_instrument.rb
489
549
  - lib/ddtrace/contrib/aws/configuration/settings.rb
490
550
  - lib/ddtrace/contrib/aws/ext.rb
491
551
  - lib/ddtrace/contrib/aws/instrumentation.rb
@@ -569,6 +629,11 @@ files:
569
629
  - lib/ddtrace/contrib/http/integration.rb
570
630
  - lib/ddtrace/contrib/http/patcher.rb
571
631
  - lib/ddtrace/contrib/http_annotation_helper.rb
632
+ - lib/ddtrace/contrib/httpclient/configuration/settings.rb
633
+ - lib/ddtrace/contrib/httpclient/ext.rb
634
+ - lib/ddtrace/contrib/httpclient/instrumentation.rb
635
+ - lib/ddtrace/contrib/httpclient/integration.rb
636
+ - lib/ddtrace/contrib/httpclient/patcher.rb
572
637
  - lib/ddtrace/contrib/httprb/configuration/settings.rb
573
638
  - lib/ddtrace/contrib/httprb/ext.rb
574
639
  - lib/ddtrace/contrib/httprb/instrumentation.rb
@@ -611,6 +676,12 @@ files:
611
676
  - lib/ddtrace/contrib/presto/instrumentation.rb
612
677
  - lib/ddtrace/contrib/presto/integration.rb
613
678
  - lib/ddtrace/contrib/presto/patcher.rb
679
+ - lib/ddtrace/contrib/qless/configuration/settings.rb
680
+ - lib/ddtrace/contrib/qless/ext.rb
681
+ - lib/ddtrace/contrib/qless/integration.rb
682
+ - lib/ddtrace/contrib/qless/patcher.rb
683
+ - lib/ddtrace/contrib/qless/qless_job.rb
684
+ - lib/ddtrace/contrib/qless/tracer_cleaner.rb
614
685
  - lib/ddtrace/contrib/que/configuration/settings.rb
615
686
  - lib/ddtrace/contrib/que/ext.rb
616
687
  - lib/ddtrace/contrib/que/integration.rb
@@ -631,6 +702,7 @@ files:
631
702
  - lib/ddtrace/contrib/rack/middlewares.rb
632
703
  - lib/ddtrace/contrib/rack/patcher.rb
633
704
  - lib/ddtrace/contrib/rack/request_queue.rb
705
+ - lib/ddtrace/contrib/rails/auto_instrument_railtie.rb
634
706
  - lib/ddtrace/contrib/rails/configuration/settings.rb
635
707
  - lib/ddtrace/contrib/rails/ext.rb
636
708
  - lib/ddtrace/contrib/rails/framework.rb
@@ -854,8 +926,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
854
926
  - !ruby/object:Gem::Version
855
927
  version: 2.0.0
856
928
  requirements: []
857
- rubyforge_project:
858
- rubygems_version: 2.2.5
929
+ rubygems_version: 3.1.2
859
930
  signing_key:
860
931
  specification_version: 4
861
932
  summary: Datadog tracing code for your Ruby applications