ddtrace 0.43.0 → 0.45.0

Sign up to get free protection for your applications and to get access to all the features.
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