ddtrace 0.35.1 → 0.35.2
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 +4 -4
- data/CHANGELOG.md +13 -1
- data/Rakefile +10 -1
- data/lib/ddtrace/configuration/base.rb +1 -1
- data/lib/ddtrace/configuration/options.rb +1 -1
- data/lib/ddtrace/contrib/configuration/settings.rb +1 -1
- data/lib/ddtrace/contrib/http/circuit_breaker.rb +8 -32
- data/lib/ddtrace/contrib/http/instrumentation.rb +1 -1
- data/lib/ddtrace/contrib/rails/configuration/settings.rb +13 -0
- data/lib/ddtrace/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9f9f3da5a5aec215ac1141352d819ad2126dc5334d2ca7c16a98a93c0853def6
|
|
4
|
+
data.tar.gz: d1a751907768587840896e49945413dcc7682ebb41cc149ccbacdfb34af24687
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 85895df7a3bc35105d02d8eaacf669b8a8dc7bf4c9c0e6de5fecdd13a28a33f84154c203f71863501a34fa3633e9f69d93b30b898c88da28c6cd20c3d440a8df
|
|
7
|
+
data.tar.gz: 842367ce941fb9d572c74edd78901b4787f0bde39f37ad6de1b5e0fa18525f4166f23ede14dcc11af02fda4ad5b88fa7c4defb39a39e7afdd969063c4ad23606
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.35.2] - 2020-05-08
|
|
6
|
+
|
|
7
|
+
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.35.2
|
|
8
|
+
|
|
9
|
+
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.35.1...v0.35.2
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- Internal tracer HTTP requests generating traces (#1030, #1033) (@gingerlime)
|
|
14
|
+
- `Datadog.configure` forcing all options to eager load (#1032, #1034) (@kelvin-acosta)
|
|
15
|
+
|
|
5
16
|
## [0.35.1] - 2020-05-05
|
|
6
17
|
|
|
7
18
|
Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.35.1
|
|
@@ -1205,7 +1216,8 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
|
|
|
1205
1216
|
|
|
1206
1217
|
Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
|
|
1207
1218
|
|
|
1208
|
-
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.
|
|
1219
|
+
[Unreleased]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.2...master
|
|
1220
|
+
[0.35.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.1...v0.35.2
|
|
1209
1221
|
[0.35.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.35.0...v0.35.1
|
|
1210
1222
|
[0.35.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.34.2...v0.35.0
|
|
1211
1223
|
[0.34.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.34.1...v0.34.2
|
data/Rakefile
CHANGED
|
@@ -100,10 +100,11 @@ namespace :spec do
|
|
|
100
100
|
:resque,
|
|
101
101
|
:rest_client,
|
|
102
102
|
:sequel,
|
|
103
|
+
:shoryuken,
|
|
103
104
|
:sidekiq,
|
|
104
105
|
:sinatra,
|
|
105
106
|
:sucker_punch,
|
|
106
|
-
:
|
|
107
|
+
:suite
|
|
107
108
|
].each do |contrib|
|
|
108
109
|
RSpec::Core::RakeTask.new(contrib) do |t, args|
|
|
109
110
|
t.pattern = "spec/ddtrace/contrib/#{contrib}/**/*_spec.rb"
|
|
@@ -217,6 +218,7 @@ task :ci do
|
|
|
217
218
|
sh 'bundle exec appraisal contrib-old rake spec:sidekiq'
|
|
218
219
|
sh 'bundle exec appraisal contrib-old rake spec:sinatra'
|
|
219
220
|
sh 'bundle exec appraisal contrib-old rake spec:sucker_punch'
|
|
221
|
+
sh 'bundle exec appraisal contrib-old rake spec:suite'
|
|
220
222
|
# Rails minitests
|
|
221
223
|
sh 'bundle exec appraisal rails30-postgres rake test:rails'
|
|
222
224
|
sh 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
|
@@ -272,6 +274,7 @@ task :ci do
|
|
|
272
274
|
sh 'bundle exec appraisal contrib-old rake spec:sidekiq'
|
|
273
275
|
sh 'bundle exec appraisal contrib-old rake spec:sinatra'
|
|
274
276
|
sh 'bundle exec appraisal contrib-old rake spec:sucker_punch'
|
|
277
|
+
sh 'bundle exec appraisal contrib-old rake spec:suite'
|
|
275
278
|
# Rails minitests
|
|
276
279
|
sh 'bundle exec appraisal rails30-postgres rake test:rails'
|
|
277
280
|
sh 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
|
@@ -340,6 +343,7 @@ task :ci do
|
|
|
340
343
|
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
|
341
344
|
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
|
342
345
|
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
|
346
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
|
343
347
|
# Rails minitests
|
|
344
348
|
sh 'bundle exec appraisal rails30-postgres rake test:rails'
|
|
345
349
|
sh 'bundle exec appraisal rails30-postgres rake spec:railsdisableenv'
|
|
@@ -412,6 +416,7 @@ task :ci do
|
|
|
412
416
|
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
|
413
417
|
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
|
414
418
|
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
|
419
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
|
415
420
|
# Contrib specs with old gem versions
|
|
416
421
|
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
|
417
422
|
# Rails minitests
|
|
@@ -489,6 +494,7 @@ task :ci do
|
|
|
489
494
|
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
|
490
495
|
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
|
491
496
|
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
|
497
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
|
492
498
|
# Contrib specs with old gem versions
|
|
493
499
|
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
|
494
500
|
# Rails minitests
|
|
@@ -551,6 +557,7 @@ task :ci do
|
|
|
551
557
|
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
|
552
558
|
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
|
553
559
|
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
|
560
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
|
554
561
|
# Contrib specs with old gem versions
|
|
555
562
|
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
|
556
563
|
# Rails minitests
|
|
@@ -623,6 +630,7 @@ task :ci do
|
|
|
623
630
|
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
|
624
631
|
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
|
625
632
|
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
|
633
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
|
626
634
|
# Contrib specs with old gem versions
|
|
627
635
|
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
|
628
636
|
# Rails minitests
|
|
@@ -694,6 +702,7 @@ task :ci do
|
|
|
694
702
|
sh 'bundle exec appraisal contrib rake spec:sidekiq'
|
|
695
703
|
sh 'bundle exec appraisal contrib rake spec:sinatra'
|
|
696
704
|
sh 'bundle exec appraisal contrib rake spec:sucker_punch'
|
|
705
|
+
sh 'bundle exec appraisal contrib rake spec:suite'
|
|
697
706
|
# Contrib specs with old gem versions
|
|
698
707
|
sh 'bundle exec appraisal contrib-old rake spec:faraday'
|
|
699
708
|
# Rails minitests
|
|
@@ -4,8 +4,8 @@ module Datadog
|
|
|
4
4
|
# HTTP integration circuit breaker behavior
|
|
5
5
|
# For avoiding recursive traces.
|
|
6
6
|
module CircuitBreaker
|
|
7
|
-
def should_skip_tracing?(
|
|
8
|
-
return true if datadog_http_request?(
|
|
7
|
+
def should_skip_tracing?(request, tracer)
|
|
8
|
+
return true if datadog_http_request?(request)
|
|
9
9
|
|
|
10
10
|
# we don't want a "shotgun" effect with two nested traces for one
|
|
11
11
|
# logical get, and request is likely to call itself recursively
|
|
@@ -16,38 +16,14 @@ module Datadog
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
# We don't want to trace our own call to the API (they use net/http)
|
|
19
|
-
# TODO: We don't want this kind of
|
|
19
|
+
# TODO: We don't want this kind of soft-check on HTTP requests.
|
|
20
20
|
# Remove this when transport implements its own "skip tracing" mechanism.
|
|
21
|
-
def datadog_http_request?(
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
# Get settings from transport, if available.
|
|
28
|
-
case transport
|
|
29
|
-
when Datadog::Transport::HTTP::Client
|
|
30
|
-
adapter = transport.current_api.adapter
|
|
31
|
-
if adapter.is_a?(Datadog::Transport::HTTP::Adapters::Net)
|
|
32
|
-
transport_hostname = adapter.hostname.to_s
|
|
33
|
-
transport_port = adapter.port.to_i
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
# When we know the host & port (from the URI) we use it, else (most-likely
|
|
38
|
-
# called with a block) rely on the URL at the end.
|
|
39
|
-
if req.respond_to?(:uri) && req.uri
|
|
40
|
-
if req.uri.host.to_s == transport_hostname &&
|
|
41
|
-
req.uri.port.to_i == transport_port
|
|
42
|
-
return true
|
|
43
|
-
end
|
|
44
|
-
elsif address && port &&
|
|
45
|
-
address.to_s == transport_hostname &&
|
|
46
|
-
port.to_i == transport_port
|
|
47
|
-
return true
|
|
21
|
+
def datadog_http_request?(request)
|
|
22
|
+
if request[Datadog::Ext::Transport::HTTP::HEADER_META_TRACER_VERSION]
|
|
23
|
+
true
|
|
24
|
+
else
|
|
25
|
+
false
|
|
48
26
|
end
|
|
49
|
-
|
|
50
|
-
false
|
|
51
27
|
end
|
|
52
28
|
|
|
53
29
|
def should_skip_distributed_tracing?(pin)
|
|
@@ -37,7 +37,7 @@ module Datadog
|
|
|
37
37
|
pin = datadog_pin(request_options)
|
|
38
38
|
return super(req, body, &block) unless pin && pin.tracer
|
|
39
39
|
|
|
40
|
-
if Datadog::Contrib::HTTP.should_skip_tracing?(req,
|
|
40
|
+
if Datadog::Contrib::HTTP.should_skip_tracing?(req, pin.tracer)
|
|
41
41
|
return super(req, body, &block)
|
|
42
42
|
end
|
|
43
43
|
|
|
@@ -6,6 +6,19 @@ module Datadog
|
|
|
6
6
|
module Configuration
|
|
7
7
|
# Custom settings for the Rails integration
|
|
8
8
|
class Settings < Contrib::Configuration::Settings
|
|
9
|
+
def initialize(options = {})
|
|
10
|
+
super(options)
|
|
11
|
+
|
|
12
|
+
# NOTE: Eager load these
|
|
13
|
+
# Rails integration is responsible for orchestrating other integrations.
|
|
14
|
+
# When using environment variables, settings will not be automatically
|
|
15
|
+
# filled because nothing explicitly calls them. They must though, so
|
|
16
|
+
# integrations like ActionPack can receive the value as it should.
|
|
17
|
+
# Trigger these manually to force an eager load and propagate them.
|
|
18
|
+
analytics_enabled
|
|
19
|
+
analytics_sample_rate
|
|
20
|
+
end
|
|
21
|
+
|
|
9
22
|
option :analytics_enabled do |o|
|
|
10
23
|
o.default { env_to_bool(Ext::ENV_ANALYTICS_ENABLED, nil) }
|
|
11
24
|
o.lazy
|
data/lib/ddtrace/version.rb
CHANGED
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.35.
|
|
4
|
+
version: 0.35.2
|
|
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-05-
|
|
11
|
+
date: 2020-05-11 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: msgpack
|
|
@@ -713,7 +713,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
713
713
|
- !ruby/object:Gem::Version
|
|
714
714
|
version: 2.0.0
|
|
715
715
|
requirements: []
|
|
716
|
-
|
|
716
|
+
rubyforge_project:
|
|
717
|
+
rubygems_version: 2.7.6.2
|
|
717
718
|
signing_key:
|
|
718
719
|
specification_version: 4
|
|
719
720
|
summary: Datadog tracing code for your Ruby applications
|