ddtrace 0.30.1 → 0.31.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.
- checksums.yaml +5 -5
- data/.circleci/config.yml +28 -0
- data/.circleci/images/primary/Dockerfile-2.7.0 +73 -0
- data/Appraisals +111 -2
- data/CHANGELOG.md +33 -1
- data/Rakefile +69 -1
- data/ddtrace.gemspec +1 -0
- data/docker-compose.yml +30 -0
- data/docs/GettingStarted.md +28 -3
- data/lib/ddtrace.rb +6 -0
- data/lib/ddtrace/buffer.rb +3 -3
- data/lib/ddtrace/configuration/base.rb +2 -1
- data/lib/ddtrace/configuration/settings.rb +15 -2
- data/lib/ddtrace/context.rb +62 -57
- data/lib/ddtrace/context_flush.rb +51 -114
- data/lib/ddtrace/context_provider.rb +45 -0
- data/lib/ddtrace/contrib/action_cable/configuration/settings.rb +25 -0
- data/lib/ddtrace/contrib/action_cable/event.rb +65 -0
- data/lib/ddtrace/contrib/action_cable/events.rb +33 -0
- data/lib/ddtrace/contrib/action_cable/events/broadcast.rb +49 -0
- data/lib/ddtrace/contrib/action_cable/events/perform_action.rb +52 -0
- data/lib/ddtrace/contrib/action_cable/events/transmit.rb +50 -0
- data/lib/ddtrace/contrib/action_cable/ext.rb +23 -0
- data/lib/ddtrace/contrib/action_cable/instrumentation.rb +31 -0
- data/lib/ddtrace/contrib/action_cable/integration.rb +36 -0
- data/lib/ddtrace/contrib/action_cable/patcher.rb +27 -0
- data/lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb +2 -2
- data/lib/ddtrace/contrib/action_view/events/render_partial.rb +5 -3
- data/lib/ddtrace/contrib/action_view/events/render_template.rb +5 -3
- data/lib/ddtrace/contrib/action_view/instrumentation/partial_renderer.rb +2 -1
- data/lib/ddtrace/contrib/action_view/instrumentation/template_renderer.rb +4 -2
- data/lib/ddtrace/contrib/action_view/patcher.rb +1 -1
- data/lib/ddtrace/contrib/active_record/events/instantiation.rb +1 -1
- data/lib/ddtrace/contrib/active_record/events/sql.rb +1 -1
- data/lib/ddtrace/contrib/active_support/cache/instrumentation.rb +2 -2
- data/lib/ddtrace/contrib/active_support/notifications/subscription.rb +2 -2
- data/lib/ddtrace/contrib/dalli/patcher.rb +1 -1
- data/lib/ddtrace/contrib/dalli/quantize.rb +1 -1
- data/lib/ddtrace/contrib/elasticsearch/patcher.rb +1 -1
- data/lib/ddtrace/contrib/excon/middleware.rb +3 -3
- data/lib/ddtrace/contrib/faraday/connection.rb +18 -0
- data/lib/ddtrace/contrib/faraday/integration.rb +1 -1
- data/lib/ddtrace/contrib/faraday/patcher.rb +3 -3
- data/lib/ddtrace/contrib/grape/endpoint.rb +5 -5
- data/lib/ddtrace/contrib/grape/patcher.rb +1 -1
- data/lib/ddtrace/contrib/grpc/datadog_interceptor/client.rb +1 -1
- data/lib/ddtrace/contrib/grpc/datadog_interceptor/server.rb +2 -2
- data/lib/ddtrace/contrib/grpc/patcher.rb +1 -1
- data/lib/ddtrace/contrib/http/instrumentation.rb +1 -1
- data/lib/ddtrace/contrib/mongodb/subscribers.rb +2 -2
- data/lib/ddtrace/contrib/patchable.rb +1 -1
- data/lib/ddtrace/contrib/patcher.rb +1 -1
- data/lib/ddtrace/contrib/rack/middlewares.rb +2 -2
- data/lib/ddtrace/contrib/rack/patcher.rb +2 -2
- data/lib/ddtrace/contrib/rack/request_queue.rb +1 -1
- data/lib/ddtrace/contrib/rails/configuration/settings.rb +1 -0
- data/lib/ddtrace/contrib/rails/framework.rb +12 -0
- data/lib/ddtrace/contrib/rake/instrumentation.rb +2 -2
- data/lib/ddtrace/contrib/redis/quantize.rb +1 -1
- data/lib/ddtrace/contrib/sinatra/tracer.rb +1 -1
- data/lib/ddtrace/ext/forced_tracing.rb +1 -1
- data/lib/ddtrace/ext/sampling.rb +3 -0
- data/lib/ddtrace/logger.rb +42 -0
- data/lib/ddtrace/metrics.rb +5 -5
- data/lib/ddtrace/monkey.rb +1 -1
- data/lib/ddtrace/pin.rb +1 -1
- data/lib/ddtrace/pipeline.rb +1 -1
- data/lib/ddtrace/propagation/http_propagator.rb +2 -2
- data/lib/ddtrace/runtime/cgroup.rb +1 -1
- data/lib/ddtrace/runtime/container.rb +1 -1
- data/lib/ddtrace/runtime/metrics.rb +1 -1
- data/lib/ddtrace/sampler.rb +1 -1
- data/lib/ddtrace/sampling/rule.rb +1 -1
- data/lib/ddtrace/sampling/rule_sampler.rb +4 -4
- data/lib/ddtrace/span.rb +24 -6
- data/lib/ddtrace/sync_writer.rb +4 -3
- data/lib/ddtrace/tracer.rb +37 -77
- data/lib/ddtrace/transport/http/client.rb +2 -2
- data/lib/ddtrace/utils.rb +1 -1
- data/lib/ddtrace/version.rb +2 -2
- data/lib/ddtrace/workers.rb +3 -3
- data/lib/ddtrace/writer.rb +3 -2
- metadata +44 -6
- data/lib/ddtrace/contrib/faraday/rack_builder.rb +0 -18
- data/lib/ddtrace/provider.rb +0 -21
@@ -41,9 +41,9 @@ module Datadog
|
|
41
41
|
|
42
42
|
# Log error
|
43
43
|
if stats.consecutive_errors > 0
|
44
|
-
Datadog::
|
44
|
+
Datadog::Logger.log.debug(message)
|
45
45
|
else
|
46
|
-
Datadog::
|
46
|
+
Datadog::Logger.log.error(message)
|
47
47
|
end
|
48
48
|
|
49
49
|
# Update statistics
|
data/lib/ddtrace/utils.rb
CHANGED
data/lib/ddtrace/version.rb
CHANGED
data/lib/ddtrace/workers.rb
CHANGED
@@ -55,7 +55,7 @@ module Datadog
|
|
55
55
|
# ensures that the thread will not die because of an exception.
|
56
56
|
# TODO[manu]: findout the reason and reschedule the send if it's not
|
57
57
|
# a fatal exception
|
58
|
-
Datadog::
|
58
|
+
Datadog::Logger.log.error(
|
59
59
|
"Error during traces flush: dropped #{traces.length} items. Cause: #{e} Location: #{e.backtrace.first}"
|
60
60
|
)
|
61
61
|
end
|
@@ -64,7 +64,7 @@ module Datadog
|
|
64
64
|
def callback_runtime_metrics
|
65
65
|
@runtime_metrics_task.call unless @runtime_metrics_task.nil?
|
66
66
|
rescue StandardError => e
|
67
|
-
Datadog::
|
67
|
+
Datadog::Logger.log.error(
|
68
68
|
"Error during runtime metrics flush. Cause: #{e} Location: #{e.backtrace.first}"
|
69
69
|
)
|
70
70
|
end
|
@@ -74,7 +74,7 @@ module Datadog
|
|
74
74
|
@mutex.synchronize do
|
75
75
|
return if @run
|
76
76
|
@run = true
|
77
|
-
|
77
|
+
Logger.log.debug("Starting thread in the process: #{Process.pid}")
|
78
78
|
@worker = Thread.new { perform }
|
79
79
|
end
|
80
80
|
end
|
data/lib/ddtrace/writer.rb
CHANGED
@@ -61,7 +61,7 @@ module Datadog
|
|
61
61
|
interval: @flush_interval
|
62
62
|
)
|
63
63
|
|
64
|
-
@worker.start
|
64
|
+
@worker.start
|
65
65
|
end
|
66
66
|
|
67
67
|
# stops worker for spans.
|
@@ -69,6 +69,7 @@ module Datadog
|
|
69
69
|
return if worker.nil?
|
70
70
|
@worker.stop
|
71
71
|
@worker = nil
|
72
|
+
true
|
72
73
|
end
|
73
74
|
|
74
75
|
# flush spans to the trace-agent, handles spans only
|
@@ -104,7 +105,7 @@ module Datadog
|
|
104
105
|
def write(trace, services = nil)
|
105
106
|
unless services.nil?
|
106
107
|
Datadog::Patcher.do_once('Writer#write') do
|
107
|
-
Datadog::
|
108
|
+
Datadog::Logger.log.warn(%(
|
108
109
|
write: Writing services has been deprecated and no longer need to be provided.
|
109
110
|
write(traces, services) can be updated to write(traces)
|
110
111
|
))
|
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.
|
4
|
+
version: 0.31.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:
|
11
|
+
date: 2020-01-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: msgpack
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - "~>"
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '2.2'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: bundler
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "<="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 2.1.2
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "<="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 2.1.2
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
154
|
name: yard
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -276,6 +290,20 @@ dependencies:
|
|
276
290
|
- - "~>"
|
277
291
|
- !ruby/object:Gem::Version
|
278
292
|
version: 0.4.9.2
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: warning
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
297
|
+
- - ">="
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: '0'
|
300
|
+
type: :development
|
301
|
+
prerelease: false
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
304
|
+
- - ">="
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: '0'
|
279
307
|
description: |
|
280
308
|
ddtrace is Datadog’s tracing client for Ruby. It is used to trace requests
|
281
309
|
as they flow across web servers, databases and microservices so that developers
|
@@ -294,6 +322,7 @@ files:
|
|
294
322
|
- ".circleci/images/primary/Dockerfile-2.4.6"
|
295
323
|
- ".circleci/images/primary/Dockerfile-2.5.6"
|
296
324
|
- ".circleci/images/primary/Dockerfile-2.6.4"
|
325
|
+
- ".circleci/images/primary/Dockerfile-2.7.0"
|
297
326
|
- ".dockerignore"
|
298
327
|
- ".env"
|
299
328
|
- ".github/CODEOWNERS"
|
@@ -333,6 +362,17 @@ files:
|
|
333
362
|
- lib/ddtrace/configuration/settings.rb
|
334
363
|
- lib/ddtrace/context.rb
|
335
364
|
- lib/ddtrace/context_flush.rb
|
365
|
+
- lib/ddtrace/context_provider.rb
|
366
|
+
- lib/ddtrace/contrib/action_cable/configuration/settings.rb
|
367
|
+
- lib/ddtrace/contrib/action_cable/event.rb
|
368
|
+
- lib/ddtrace/contrib/action_cable/events.rb
|
369
|
+
- lib/ddtrace/contrib/action_cable/events/broadcast.rb
|
370
|
+
- lib/ddtrace/contrib/action_cable/events/perform_action.rb
|
371
|
+
- lib/ddtrace/contrib/action_cable/events/transmit.rb
|
372
|
+
- lib/ddtrace/contrib/action_cable/ext.rb
|
373
|
+
- lib/ddtrace/contrib/action_cable/instrumentation.rb
|
374
|
+
- lib/ddtrace/contrib/action_cable/integration.rb
|
375
|
+
- lib/ddtrace/contrib/action_cable/patcher.rb
|
336
376
|
- lib/ddtrace/contrib/action_pack/action_controller/instrumentation.rb
|
337
377
|
- lib/ddtrace/contrib/action_pack/action_controller/patcher.rb
|
338
378
|
- lib/ddtrace/contrib/action_pack/configuration/settings.rb
|
@@ -425,11 +465,11 @@ files:
|
|
425
465
|
- lib/ddtrace/contrib/excon/patcher.rb
|
426
466
|
- lib/ddtrace/contrib/extensions.rb
|
427
467
|
- lib/ddtrace/contrib/faraday/configuration/settings.rb
|
468
|
+
- lib/ddtrace/contrib/faraday/connection.rb
|
428
469
|
- lib/ddtrace/contrib/faraday/ext.rb
|
429
470
|
- lib/ddtrace/contrib/faraday/integration.rb
|
430
471
|
- lib/ddtrace/contrib/faraday/middleware.rb
|
431
472
|
- lib/ddtrace/contrib/faraday/patcher.rb
|
432
|
-
- lib/ddtrace/contrib/faraday/rack_builder.rb
|
433
473
|
- lib/ddtrace/contrib/grape/configuration/settings.rb
|
434
474
|
- lib/ddtrace/contrib/grape/endpoint.rb
|
435
475
|
- lib/ddtrace/contrib/grape/ext.rb
|
@@ -599,7 +639,6 @@ files:
|
|
599
639
|
- lib/ddtrace/pipeline/span_processor.rb
|
600
640
|
- lib/ddtrace/propagation/grpc_propagator.rb
|
601
641
|
- lib/ddtrace/propagation/http_propagator.rb
|
602
|
-
- lib/ddtrace/provider.rb
|
603
642
|
- lib/ddtrace/quantization/hash.rb
|
604
643
|
- lib/ddtrace/quantization/http.rb
|
605
644
|
- lib/ddtrace/runtime/cgroup.rb
|
@@ -670,8 +709,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
670
709
|
- !ruby/object:Gem::Version
|
671
710
|
version: '0'
|
672
711
|
requirements: []
|
673
|
-
|
674
|
-
rubygems_version: 2.6.14
|
712
|
+
rubygems_version: 3.0.6
|
675
713
|
signing_key:
|
676
714
|
specification_version: 4
|
677
715
|
summary: Datadog tracing code for your Ruby applications
|
@@ -1,18 +0,0 @@
|
|
1
|
-
module Datadog
|
2
|
-
module Contrib
|
3
|
-
module Faraday
|
4
|
-
# Handles installation of our middleware if the user has *not*
|
5
|
-
# already explicitly configured it for this correction.
|
6
|
-
#
|
7
|
-
# RackBuilder class was introduced in faraday 0.9.0:
|
8
|
-
# https://github.com/lostisland/faraday/commit/77d7546d6d626b91086f427c56bc2cdd951353b3
|
9
|
-
module RackBuilder
|
10
|
-
def adapter(*args)
|
11
|
-
use(:ddtrace) unless @handlers.any? { |h| h.klass == Middleware }
|
12
|
-
|
13
|
-
super
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
data/lib/ddtrace/provider.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
module Datadog
|
2
|
-
# DefaultContextProvider is a default context provider that retrieves
|
3
|
-
# all contexts from the current thread-local storage. It is suitable for
|
4
|
-
# synchronous programming.
|
5
|
-
class DefaultContextProvider
|
6
|
-
# Initializes the default context provider with a thread-bound context.
|
7
|
-
def initialize
|
8
|
-
@context = Datadog::ThreadLocalContext.new
|
9
|
-
end
|
10
|
-
|
11
|
-
# Sets the current context.
|
12
|
-
def context=(ctx)
|
13
|
-
@context.local = ctx
|
14
|
-
end
|
15
|
-
|
16
|
-
# Return the current context.
|
17
|
-
def context
|
18
|
-
@context.local
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|