ddtrace 0.17.1 → 0.17.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 0243b521350de03538134c3513aedc7a0c23b8e8
4
- data.tar.gz: addea843c61b11542c59d6577993c9a3d1dab233
2
+ SHA256:
3
+ metadata.gz: 6b98c7693f06abe337bbc38c713ea7115a3964e584d8508670b65d43811235aa
4
+ data.tar.gz: 147c7f9e7225927b9bc7f6dd8c4aff8134d2eb2a28f7aab063ad3ba369139217
5
5
  SHA512:
6
- metadata.gz: 755acb13506d77ecf0edc29d5fb9bc28c929251bdfbbf06a90fc54c80a9aec34285a0fa4799efa580a36d10b8aabbc2d577b3262d899d350fcb2f1370d060f63
7
- data.tar.gz: 46d9d93281db786b614b41d0eab804655dea4770d2d555895914097ce20d4efb6af00af4c174c3fc7f080c66b4286dc9e2444d235b45ac57c8a720c075d6eb9b
6
+ metadata.gz: 310e51596c88f0bdccaef1851dace5302fe93fb11ccd0bb8eaddbdeb817e775ac9267ebb10cee73fe34b4a7686742201a7105da4c8313b9714724e3ad6fec67b
7
+ data.tar.gz: 335c7994b68a6b498add3f6bc9cc7dd64840f14337fa7c304264fda84aa74c78e0b45b2cb6f34f75550c38d887f23913df39a9ee047741216d207d7ef9ff2e1c
@@ -4,6 +4,16 @@
4
4
 
5
5
  ## [Unreleased (beta)]
6
6
 
7
+ ## [0.17.2] - 2018-11-23
8
+
9
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.17.2
10
+
11
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.17.1...v0.17.2
12
+
13
+ ### Fixed
14
+
15
+ - Resque integration shutting down tracer when forking is disabled (#637)
16
+
7
17
  ## [0.17.1] - 2018-11-07
8
18
 
9
19
  Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.17.1
@@ -8,7 +8,7 @@ module Datadog
8
8
  module Resque
9
9
  # Uses Resque job hooks to create traces
10
10
  module ResqueJob
11
- def around_perform(*args)
11
+ def around_perform(*_)
12
12
  pin = Pin.get_from(::Resque)
13
13
  return yield unless pin && pin.tracer
14
14
  pin.tracer.trace(Ext::SPAN_JOB, service: pin.service) do |span|
@@ -17,8 +17,19 @@ module Datadog
17
17
  yield
18
18
  span.service = pin.service
19
19
  end
20
- ensure
21
- pin.tracer.shutdown! if pin && pin.tracer
20
+ end
21
+
22
+ def after_perform_shutdown_tracer(*_)
23
+ shutdown_tracer_when_forked!
24
+ end
25
+
26
+ def on_failure_shutdown_tracer(*_)
27
+ shutdown_tracer_when_forked!
28
+ end
29
+
30
+ def shutdown_tracer_when_forked!
31
+ pin = Datadog::Pin.get_from(Resque)
32
+ pin.tracer.shutdown! if pin && pin.tracer && pin.config && pin.config[:forked]
22
33
  end
23
34
  end
24
35
  end
@@ -29,6 +40,9 @@ Resque.after_fork do
29
40
  # get the current tracer
30
41
  pin = Datadog::Pin.get_from(Resque)
31
42
  next unless pin && pin.tracer
43
+ pin.config ||= {}
44
+ pin.config[:forked] = true
45
+
32
46
  # clean the state so no CoW happens
33
47
  pin.tracer.provider.context = nil
34
48
  end
@@ -2,7 +2,7 @@ module Datadog
2
2
  module VERSION
3
3
  MAJOR = 0
4
4
  MINOR = 17
5
- PATCH = 1
5
+ PATCH = 2
6
6
  PRE = nil
7
7
 
8
8
  STRING = [MAJOR, MINOR, PATCH, PRE].compact.join('.')
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.17.1
4
+ version: 0.17.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: 2018-11-08 00:00:00.000000000 Z
11
+ date: 2018-11-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack
@@ -544,7 +544,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
544
544
  version: '0'
545
545
  requirements: []
546
546
  rubyforge_project:
547
- rubygems_version: 2.6.14
547
+ rubygems_version: 2.7.7
548
548
  signing_key:
549
549
  specification_version: 4
550
550
  summary: Datadog tracing code for your Ruby applications