ddtrace 0.28.0 → 0.29.0

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