ddtrace 0.28.0 → 0.29.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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +8 -0
  3. data/Appraisals +57 -2
  4. data/CHANGELOG.md +41 -12
  5. data/Rakefile +3 -3
  6. data/ddtrace.gemspec +2 -1
  7. data/docs/DevelopmentGuide.md +1 -1
  8. data/docs/GettingStarted.md +6 -6
  9. data/lib/ddtrace.rb +7 -0
  10. data/lib/ddtrace/buffer.rb +60 -1
  11. data/lib/ddtrace/configuration/base.rb +82 -0
  12. data/lib/ddtrace/configuration/option.rb +28 -5
  13. data/lib/ddtrace/configuration/option_definition.rb +100 -0
  14. data/lib/ddtrace/configuration/options.rb +28 -14
  15. data/lib/ddtrace/configuration/settings.rb +77 -64
  16. data/lib/ddtrace/contrib/action_pack/configuration/settings.rb +9 -7
  17. data/lib/ddtrace/contrib/action_view/configuration/settings.rb +8 -6
  18. data/lib/ddtrace/contrib/active_model_serializers/configuration/settings.rb +8 -14
  19. data/lib/ddtrace/contrib/active_model_serializers/event.rb +1 -1
  20. data/lib/ddtrace/contrib/active_record/configuration/settings.rb +11 -16
  21. data/lib/ddtrace/contrib/active_record/event.rb +1 -1
  22. data/lib/ddtrace/contrib/active_support/configuration/settings.rb +8 -6
  23. data/lib/ddtrace/contrib/active_support/notifications/subscriber.rb +2 -2
  24. data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +4 -1
  25. data/lib/ddtrace/contrib/aws/configuration/settings.rb +8 -6
  26. data/lib/ddtrace/contrib/configuration/settings.rb +5 -11
  27. data/lib/ddtrace/contrib/dalli/configuration/settings.rb +8 -6
  28. data/lib/ddtrace/contrib/dalli/instrumentation.rb +1 -18
  29. data/lib/ddtrace/contrib/delayed_job/configuration/settings.rb +8 -6
  30. data/lib/ddtrace/contrib/elasticsearch/configuration/settings.rb +8 -6
  31. data/lib/ddtrace/contrib/ethon/configuration/settings.rb +8 -6
  32. data/lib/ddtrace/contrib/ethon/integration.rb +0 -4
  33. data/lib/ddtrace/contrib/excon/configuration/settings.rb +9 -7
  34. data/lib/ddtrace/contrib/excon/middleware.rb +1 -1
  35. data/lib/ddtrace/contrib/faraday/configuration/settings.rb +8 -6
  36. data/lib/ddtrace/contrib/faraday/middleware.rb +1 -1
  37. data/lib/ddtrace/contrib/faraday/patcher.rb +8 -2
  38. data/lib/ddtrace/contrib/faraday/rack_builder.rb +18 -0
  39. data/lib/ddtrace/contrib/grape/configuration/settings.rb +8 -6
  40. data/lib/ddtrace/contrib/grape/instrumentation.rb +2 -42
  41. data/lib/ddtrace/contrib/graphql/configuration/settings.rb +8 -6
  42. data/lib/ddtrace/contrib/grpc/configuration/settings.rb +8 -6
  43. data/lib/ddtrace/contrib/grpc/integration.rb +1 -3
  44. data/lib/ddtrace/contrib/http/configuration/settings.rb +8 -6
  45. data/lib/ddtrace/contrib/http/instrumentation.rb +1 -23
  46. data/lib/ddtrace/contrib/mongodb/configuration/settings.rb +8 -6
  47. data/lib/ddtrace/contrib/mysql2/configuration/settings.rb +8 -6
  48. data/lib/ddtrace/contrib/mysql2/instrumentation.rb +1 -23
  49. data/lib/ddtrace/contrib/patchable.rb +1 -1
  50. data/lib/ddtrace/contrib/racecar/configuration/settings.rb +8 -14
  51. data/lib/ddtrace/contrib/racecar/event.rb +1 -1
  52. data/lib/ddtrace/contrib/rack/configuration/settings.rb +8 -6
  53. data/lib/ddtrace/contrib/rack/request_queue.rb +7 -6
  54. data/lib/ddtrace/contrib/rails/configuration/settings.rb +30 -21
  55. data/lib/ddtrace/contrib/rake/configuration/settings.rb +8 -6
  56. data/lib/ddtrace/contrib/rake/integration.rb +0 -4
  57. data/lib/ddtrace/contrib/redis/configuration/settings.rb +8 -6
  58. data/lib/ddtrace/contrib/resque/configuration/settings.rb +8 -6
  59. data/lib/ddtrace/contrib/rest_client/configuration/settings.rb +8 -6
  60. data/lib/ddtrace/contrib/rest_client/integration.rb +0 -4
  61. data/lib/ddtrace/contrib/rest_client/request_patch.rb +1 -18
  62. data/lib/ddtrace/contrib/sequel/configuration/settings.rb +8 -6
  63. data/lib/ddtrace/contrib/sequel/integration.rb +0 -4
  64. data/lib/ddtrace/contrib/shoryuken/configuration/settings.rb +8 -6
  65. data/lib/ddtrace/contrib/sidekiq/configuration/settings.rb +8 -6
  66. data/lib/ddtrace/contrib/sinatra/configuration/settings.rb +8 -6
  67. data/lib/ddtrace/contrib/sucker_punch/configuration/settings.rb +8 -6
  68. data/lib/ddtrace/diagnostics/health.rb +30 -0
  69. data/lib/ddtrace/distributed_tracing/headers/datadog.rb +1 -1
  70. data/lib/ddtrace/distributed_tracing/headers/headers.rb +2 -0
  71. data/lib/ddtrace/ext/diagnostics.rb +25 -0
  72. data/lib/ddtrace/ext/runtime.rb +1 -7
  73. data/lib/ddtrace/metrics.rb +89 -6
  74. data/lib/ddtrace/propagation/http_propagator.rb +2 -2
  75. data/lib/ddtrace/runtime/class_count.rb +3 -3
  76. data/lib/ddtrace/runtime/object_space.rb +19 -0
  77. data/lib/ddtrace/span.rb +1 -1
  78. data/lib/ddtrace/tracer.rb +5 -4
  79. data/lib/ddtrace/transport/http/client.rb +3 -4
  80. data/lib/ddtrace/transport/http/response.rb +4 -0
  81. data/lib/ddtrace/transport/http/statistics.rb +30 -0
  82. data/lib/ddtrace/transport/statistics.rb +28 -0
  83. data/lib/ddtrace/version.rb +3 -1
  84. data/lib/ddtrace/workers.rb +4 -2
  85. data/lib/ddtrace/writer.rb +3 -3
  86. metadata +74 -54
@@ -18,8 +18,8 @@ module Datadog
18
18
 
19
19
  def initialize(options = {})
20
20
  # writer and transport parameters
21
- @buff_size = options.fetch(:buffer_size, 100)
22
- @flush_interval = options.fetch(:flush_interval, 1)
21
+ @buff_size = options.fetch(:buffer_size, Workers::AsyncTransport::DEFAULT_BUFFER_MAX_SIZE)
22
+ @flush_interval = options.fetch(:flush_interval, Workers::AsyncTransport::DEFAULT_FLUSH_INTERVAL)
23
23
  transport_options = options.fetch(:transport_options, {})
24
24
 
25
25
  # priority sampling
@@ -106,7 +106,7 @@ module Datadog
106
106
  Datadog::Patcher.do_once('Writer#write') do
107
107
  Datadog::Tracer.log.warn(%(
108
108
  write: Writing services has been deprecated and no longer need to be provided.
109
- write(traces, services) can be updted to write(traces)
109
+ write(traces, services) can be updated to write(traces)
110
110
  ))
111
111
  end
112
112
  end
metadata CHANGED
@@ -1,97 +1,111 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ddtrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.28.0
4
+ version: 0.29.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: 2019-10-01 00:00:00.000000000 Z
11
+ date: 2019-11-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: dogstatsd-ruby
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 3.3.0
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 3.3.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: opentracing
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.4.1
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.4.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: '10.5'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '10.5'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rubocop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '='
74
+ - !ruby/object:Gem::Version
75
+ version: 0.49.1
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '='
81
+ - !ruby/object:Gem::Version
82
+ version: 0.49.1
69
83
  - !ruby/object:Gem::Dependency
70
84
  name: rspec
71
85
  requirement: !ruby/object:Gem::Requirement
72
86
  requirements:
73
- - - ~>
87
+ - - "~>"
74
88
  - !ruby/object:Gem::Version
75
89
  version: '3.0'
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
- - - ~>
94
+ - - "~>"
81
95
  - !ruby/object:Gem::Version
82
96
  version: '3.0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rspec-collection_matchers
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
- - - ~>
101
+ - - "~>"
88
102
  - !ruby/object:Gem::Version
89
103
  version: '1.1'
90
104
  type: :development
91
105
  prerelease: false
92
106
  version_requirements: !ruby/object:Gem::Requirement
93
107
  requirements:
94
- - - ~>
108
+ - - "~>"
95
109
  - !ruby/object:Gem::Version
96
110
  version: '1.1'
97
111
  - !ruby/object:Gem::Dependency
@@ -112,154 +126,154 @@ dependencies:
112
126
  name: appraisal
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
- - - ~>
129
+ - - "~>"
116
130
  - !ruby/object:Gem::Version
117
131
  version: '2.2'
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
- - - ~>
136
+ - - "~>"
123
137
  - !ruby/object:Gem::Version
124
138
  version: '2.2'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: yard
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
- - - ~>
143
+ - - "~>"
130
144
  - !ruby/object:Gem::Version
131
145
  version: '0.9'
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
- - - ~>
150
+ - - "~>"
137
151
  - !ruby/object:Gem::Version
138
152
  version: '0.9'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: webmock
141
155
  requirement: !ruby/object:Gem::Requirement
142
156
  requirements:
143
- - - ~>
157
+ - - "~>"
144
158
  - !ruby/object:Gem::Version
145
159
  version: '2.0'
146
160
  type: :development
147
161
  prerelease: false
148
162
  version_requirements: !ruby/object:Gem::Requirement
149
163
  requirements:
150
- - - ~>
164
+ - - "~>"
151
165
  - !ruby/object:Gem::Version
152
166
  version: '2.0'
153
167
  - !ruby/object:Gem::Dependency
154
168
  name: builder
155
169
  requirement: !ruby/object:Gem::Requirement
156
170
  requirements:
157
- - - '>='
171
+ - - ">="
158
172
  - !ruby/object:Gem::Version
159
173
  version: '0'
160
174
  type: :development
161
175
  prerelease: false
162
176
  version_requirements: !ruby/object:Gem::Requirement
163
177
  requirements:
164
- - - '>='
178
+ - - ">="
165
179
  - !ruby/object:Gem::Version
166
180
  version: '0'
167
181
  - !ruby/object:Gem::Dependency
168
182
  name: ruby-prof
169
183
  requirement: !ruby/object:Gem::Requirement
170
184
  requirements:
171
- - - '>='
185
+ - - ">="
172
186
  - !ruby/object:Gem::Version
173
187
  version: '0'
174
188
  type: :development
175
189
  prerelease: false
176
190
  version_requirements: !ruby/object:Gem::Requirement
177
191
  requirements:
178
- - - '>='
192
+ - - ">="
179
193
  - !ruby/object:Gem::Version
180
194
  version: '0'
181
195
  - !ruby/object:Gem::Dependency
182
196
  name: sqlite3
183
197
  requirement: !ruby/object:Gem::Requirement
184
198
  requirements:
185
- - - ~>
199
+ - - "~>"
186
200
  - !ruby/object:Gem::Version
187
201
  version: 1.3.6
188
202
  type: :development
189
203
  prerelease: false
190
204
  version_requirements: !ruby/object:Gem::Requirement
191
205
  requirements:
192
- - - ~>
206
+ - - "~>"
193
207
  - !ruby/object:Gem::Version
194
208
  version: 1.3.6
195
209
  - !ruby/object:Gem::Dependency
196
210
  name: climate_control
197
211
  requirement: !ruby/object:Gem::Requirement
198
212
  requirements:
199
- - - ~>
213
+ - - "~>"
200
214
  - !ruby/object:Gem::Version
201
215
  version: 0.2.0
202
216
  type: :development
203
217
  prerelease: false
204
218
  version_requirements: !ruby/object:Gem::Requirement
205
219
  requirements:
206
- - - ~>
220
+ - - "~>"
207
221
  - !ruby/object:Gem::Version
208
222
  version: 0.2.0
209
223
  - !ruby/object:Gem::Dependency
210
224
  name: addressable
211
225
  requirement: !ruby/object:Gem::Requirement
212
226
  requirements:
213
- - - ~>
227
+ - - "~>"
214
228
  - !ruby/object:Gem::Version
215
229
  version: 2.4.0
216
230
  type: :development
217
231
  prerelease: false
218
232
  version_requirements: !ruby/object:Gem::Requirement
219
233
  requirements:
220
- - - ~>
234
+ - - "~>"
221
235
  - !ruby/object:Gem::Version
222
236
  version: 2.4.0
223
237
  - !ruby/object:Gem::Dependency
224
238
  name: redcarpet
225
239
  requirement: !ruby/object:Gem::Requirement
226
240
  requirements:
227
- - - ~>
241
+ - - "~>"
228
242
  - !ruby/object:Gem::Version
229
243
  version: '3.4'
230
244
  type: :development
231
245
  prerelease: false
232
246
  version_requirements: !ruby/object:Gem::Requirement
233
247
  requirements:
234
- - - ~>
248
+ - - "~>"
235
249
  - !ruby/object:Gem::Version
236
250
  version: '3.4'
237
251
  - !ruby/object:Gem::Dependency
238
252
  name: pry
239
253
  requirement: !ruby/object:Gem::Requirement
240
254
  requirements:
241
- - - ~>
255
+ - - "~>"
242
256
  - !ruby/object:Gem::Version
243
257
  version: 0.10.4
244
258
  type: :development
245
259
  prerelease: false
246
260
  version_requirements: !ruby/object:Gem::Requirement
247
261
  requirements:
248
- - - ~>
262
+ - - "~>"
249
263
  - !ruby/object:Gem::Version
250
264
  version: 0.10.4
251
265
  - !ruby/object:Gem::Dependency
252
266
  name: pry-stack_explorer
253
267
  requirement: !ruby/object:Gem::Requirement
254
268
  requirements:
255
- - - ~>
269
+ - - "~>"
256
270
  - !ruby/object:Gem::Version
257
271
  version: 0.4.9.2
258
272
  type: :development
259
273
  prerelease: false
260
274
  version_requirements: !ruby/object:Gem::Requirement
261
275
  requirements:
262
- - - ~>
276
+ - - "~>"
263
277
  - !ruby/object:Gem::Version
264
278
  version: 0.4.9.2
265
279
  description: |
@@ -272,21 +286,21 @@ executables: []
272
286
  extensions: []
273
287
  extra_rdoc_files: []
274
288
  files:
275
- - .circleci/config.yml
276
- - .circleci/images/primary/Dockerfile-2.0.0
277
- - .circleci/images/primary/Dockerfile-2.1.10
278
- - .circleci/images/primary/Dockerfile-2.2.10
279
- - .circleci/images/primary/Dockerfile-2.3.8
280
- - .circleci/images/primary/Dockerfile-2.4.6
281
- - .circleci/images/primary/Dockerfile-2.5.6
282
- - .circleci/images/primary/Dockerfile-2.6.4
283
- - .dockerignore
284
- - .env
285
- - .github/CODEOWNERS
286
- - .gitignore
287
- - .rspec
288
- - .rubocop.yml
289
- - .yardopts
289
+ - ".circleci/config.yml"
290
+ - ".circleci/images/primary/Dockerfile-2.0.0"
291
+ - ".circleci/images/primary/Dockerfile-2.1.10"
292
+ - ".circleci/images/primary/Dockerfile-2.2.10"
293
+ - ".circleci/images/primary/Dockerfile-2.3.8"
294
+ - ".circleci/images/primary/Dockerfile-2.4.6"
295
+ - ".circleci/images/primary/Dockerfile-2.5.6"
296
+ - ".circleci/images/primary/Dockerfile-2.6.4"
297
+ - ".dockerignore"
298
+ - ".env"
299
+ - ".github/CODEOWNERS"
300
+ - ".gitignore"
301
+ - ".rspec"
302
+ - ".rubocop.yml"
303
+ - ".yardopts"
290
304
  - Appraisals
291
305
  - CHANGELOG.md
292
306
  - CONTRIBUTING.md
@@ -308,6 +322,7 @@ files:
308
322
  - lib/ddtrace/augmentation/shim.rb
309
323
  - lib/ddtrace/buffer.rb
310
324
  - lib/ddtrace/configuration.rb
325
+ - lib/ddtrace/configuration/base.rb
311
326
  - lib/ddtrace/configuration/dependency_resolver.rb
312
327
  - lib/ddtrace/configuration/option.rb
313
328
  - lib/ddtrace/configuration/option_definition.rb
@@ -410,6 +425,7 @@ files:
410
425
  - lib/ddtrace/contrib/faraday/integration.rb
411
426
  - lib/ddtrace/contrib/faraday/middleware.rb
412
427
  - lib/ddtrace/contrib/faraday/patcher.rb
428
+ - lib/ddtrace/contrib/faraday/rack_builder.rb
413
429
  - lib/ddtrace/contrib/grape/configuration/settings.rb
414
430
  - lib/ddtrace/contrib/grape/endpoint.rb
415
431
  - lib/ddtrace/contrib/grape/ext.rb
@@ -528,6 +544,7 @@ files:
528
544
  - lib/ddtrace/contrib/sucker_punch/integration.rb
529
545
  - lib/ddtrace/contrib/sucker_punch/patcher.rb
530
546
  - lib/ddtrace/correlation.rb
547
+ - lib/ddtrace/diagnostics/health.rb
531
548
  - lib/ddtrace/distributed_tracing/headers/b3.rb
532
549
  - lib/ddtrace/distributed_tracing/headers/b3_single.rb
533
550
  - lib/ddtrace/distributed_tracing/headers/datadog.rb
@@ -538,6 +555,7 @@ files:
538
555
  - lib/ddtrace/error.rb
539
556
  - lib/ddtrace/ext/analytics.rb
540
557
  - lib/ddtrace/ext/app_types.rb
558
+ - lib/ddtrace/ext/diagnostics.rb
541
559
  - lib/ddtrace/ext/distributed.rb
542
560
  - lib/ddtrace/ext/errors.rb
543
561
  - lib/ddtrace/ext/forced_tracing.rb
@@ -585,6 +603,7 @@ files:
585
603
  - lib/ddtrace/runtime/gc.rb
586
604
  - lib/ddtrace/runtime/identity.rb
587
605
  - lib/ddtrace/runtime/metrics.rb
606
+ - lib/ddtrace/runtime/object_space.rb
588
607
  - lib/ddtrace/runtime/socket.rb
589
608
  - lib/ddtrace/runtime/thread_count.rb
590
609
  - lib/ddtrace/sampler.rb
@@ -606,6 +625,7 @@ files:
606
625
  - lib/ddtrace/transport/http/client.rb
607
626
  - lib/ddtrace/transport/http/env.rb
608
627
  - lib/ddtrace/transport/http/response.rb
628
+ - lib/ddtrace/transport/http/statistics.rb
609
629
  - lib/ddtrace/transport/http/traces.rb
610
630
  - lib/ddtrace/transport/parcel.rb
611
631
  - lib/ddtrace/transport/request.rb
@@ -631,17 +651,17 @@ require_paths:
631
651
  - lib
632
652
  required_ruby_version: !ruby/object:Gem::Requirement
633
653
  requirements:
634
- - - '>='
654
+ - - ">="
635
655
  - !ruby/object:Gem::Version
636
656
  version: 2.0.0
637
657
  required_rubygems_version: !ruby/object:Gem::Requirement
638
658
  requirements:
639
- - - '>='
659
+ - - ">="
640
660
  - !ruby/object:Gem::Version
641
661
  version: '0'
642
662
  requirements: []
643
663
  rubyforge_project:
644
- rubygems_version: 2.0.14.1
664
+ rubygems_version: 2.6.14
645
665
  signing_key:
646
666
  specification_version: 4
647
667
  summary: Datadog tracing code for your Ruby applications