ddtrace 0.21.1 → 0.21.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a09aedaed6a1aa22354f3c9c3696c6a3b9885f43
4
- data.tar.gz: 35fdddc2a09fb5f57a9e21a67ccab6d26297583e
3
+ metadata.gz: 61acb994baa0c01a709084beac147a5c6052e92d
4
+ data.tar.gz: bd4846e16ff33ddd1e6b8a88b080ed79c0958190
5
5
  SHA512:
6
- metadata.gz: 5851f49e14aa8e4b0be89723b84ee97f912583aac7ec5f66b7a7ef5c3f2962c43ca0a239e6ad44aa781df47339575eacd0d8f11d67d97e84bc0e639103fb3872
7
- data.tar.gz: beb715b01e94b8e62ecac54dd46ba433beaeb19e905abe6d0b143550fe997a68c60eb88e9a40eae2f7a3269baf892fc980d668fbe5c4acfbf30c71ee09b52f9b
6
+ metadata.gz: a55674e8f2d82acd24ee34458af85d3555948854439cb84ab85d3f4c496235e28d14809aa10925fecc9af91e484d7b996f6d6de684351c22d4ef4f1be2e3ed5d
7
+ data.tar.gz: 90a143ebed788d5c90902866d126a40d2f5ba8f640eb98b66a2efa79e1eee1571c974d62aefd38192024c7836324de972a89b0bf90136125ef0e8c0ab6f6e358
data/Appraisals CHANGED
@@ -401,10 +401,10 @@ elsif Gem::Version.new('2.2.0') <= Gem::Version.new(RUBY_VERSION) \
401
401
  gem 'elasticsearch-transport'
402
402
  gem 'excon'
403
403
  gem 'grape'
404
- gem 'graphql'
404
+ gem 'graphql', '< 1.9.4'
405
405
  gem 'grpc'
406
406
  gem 'hiredis'
407
- gem 'mongo', '< 2.5'
407
+ gem 'mongo', '>= 2.8.0'
408
408
  gem 'mysql2', '< 0.5', platform: :ruby
409
409
  gem 'racecar', '>= 0.3.5'
410
410
  gem 'rack'
@@ -543,7 +543,7 @@ elsif Gem::Version.new('2.3.0') <= Gem::Version.new(RUBY_VERSION) \
543
543
  gem 'graphql'
544
544
  gem 'grpc'
545
545
  gem 'hiredis'
546
- gem 'mongo', '< 2.5'
546
+ gem 'mongo', '>= 2.8.0'
547
547
  gem 'mysql2', '< 0.5', platform: :ruby
548
548
  gem 'racecar', '>= 0.3.5'
549
549
  gem 'rack'
@@ -576,7 +576,7 @@ elsif Gem::Version.new('2.4.0') <= Gem::Version.new(RUBY_VERSION)
576
576
  gem 'graphql'
577
577
  gem 'grpc'
578
578
  gem 'hiredis'
579
- gem 'mongo', '< 2.5'
579
+ gem 'mongo', '>= 2.8.0'
580
580
  gem 'mysql2', '< 0.5', platform: :ruby
581
581
  gem 'racecar', '>= 0.3.5'
582
582
  gem 'rack'
@@ -4,6 +4,16 @@
4
4
 
5
5
  ## [Unreleased (beta)]
6
6
 
7
+ ## [0.21.2] - 2019-04-10
8
+
9
+ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.21.2
10
+
11
+ Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.21.1...v0.21.2
12
+
13
+ ### Changed
14
+
15
+ - Support Mongo gem 2.5+ (#729, #731) (@ricbartm)
16
+
7
17
  ## [0.21.1] - 2019-03-26
8
18
 
9
19
  Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.21.1
@@ -741,9 +751,10 @@ Release notes: https://github.com/DataDog/dd-trace-rb/releases/tag/v0.3.1
741
751
 
742
752
  Git diff: https://github.com/DataDog/dd-trace-rb/compare/v0.3.0...v0.3.1
743
753
 
744
- [Unreleased (stable)]: https://github.com/DataDog/dd-trace-rb/compare/v0.21.1...master
745
- [Unreleased (beta)]: https://github.com/DataDog/dd-trace-rb/compare/v0.21.1...0.22-dev
746
- [0.21.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.21.0...v0.21.1
754
+ [Unreleased (stable)]: https://github.com/DataDog/dd-trace-rb/compare/v0.21.2...master
755
+ [Unreleased (beta)]: https://github.com/DataDog/dd-trace-rb/compare/v0.21.2...0.22-dev
756
+ [0.21.2]: https://github.com/DataDog/dd-trace-rb/compare/v0.21.1...v0.21.2
757
+ [0.21.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.21.0...v0.21.1
747
758
  [0.21.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.20.0...v0.21.0
748
759
  [0.20.0]: https://github.com/DataDog/dd-trace-rb/compare/v0.19.1...v0.20.0
749
760
  [0.19.1]: https://github.com/DataDog/dd-trace-rb/compare/v0.19.0...v0.19.1
@@ -1,9 +1,7 @@
1
1
  version: '3.2'
2
2
  services:
3
3
  tracer-1.9:
4
- build:
5
- context: ./.circleci/images/primary
6
- dockerfile: Dockerfile-1.9.3
4
+ image: datadog/docker-library:ddtrace_rb_1_9_3
7
5
  command: /bin/bash
8
6
  depends_on:
9
7
  - ddagent
@@ -31,9 +29,7 @@ services:
31
29
  - bundle-1.9:/usr/local/bundle
32
30
  - gemfiles-1.9:/app/gemfiles
33
31
  tracer-2.0:
34
- build:
35
- context: ./.circleci/images/primary
36
- dockerfile: Dockerfile-2.0.0
32
+ image: datadog/docker-library:ddtrace_rb_2_0_0
37
33
  command: /bin/bash
38
34
  depends_on:
39
35
  - ddagent
@@ -61,9 +57,7 @@ services:
61
57
  - bundle-2.0:/usr/local/bundle
62
58
  - gemfiles-2.0:/app/gemfiles
63
59
  tracer-2.1:
64
- build:
65
- context: ./.circleci/images/primary
66
- dockerfile: Dockerfile-2.1.10
60
+ image: datadog/docker-library:ddtrace_rb_2_1_10
67
61
  command: /bin/bash
68
62
  depends_on:
69
63
  - ddagent
@@ -91,9 +85,7 @@ services:
91
85
  - bundle-2.1:/usr/local/bundle
92
86
  - gemfiles-2.1:/app/gemfiles
93
87
  tracer-2.2:
94
- build:
95
- context: ./.circleci/images/primary
96
- dockerfile: Dockerfile-2.2.10
88
+ image: datadog/docker-library:ddtrace_rb_2_2_10
97
89
  command: /bin/bash
98
90
  depends_on:
99
91
  - ddagent
@@ -121,9 +113,7 @@ services:
121
113
  - bundle-2.2:/usr/local/bundle
122
114
  - gemfiles-2.2:/app/gemfiles
123
115
  tracer-2.3:
124
- build:
125
- context: ./.circleci/images/primary
126
- dockerfile: Dockerfile-2.3.7
116
+ image: datadog/docker-library:ddtrace_rb_2_3_7
127
117
  command: /bin/bash
128
118
  depends_on:
129
119
  - ddagent
@@ -151,9 +141,7 @@ services:
151
141
  - bundle-2.3:/usr/local/bundle
152
142
  - gemfiles-2.3:/app/gemfiles
153
143
  tracer-2.4:
154
- build:
155
- context: ./.circleci/images/primary
156
- dockerfile: Dockerfile-2.4.4
144
+ image: datadog/docker-library:ddtrace_rb_2_4_4
157
145
  command: /bin/bash
158
146
  depends_on:
159
147
  - ddagent
@@ -321,7 +321,7 @@ For a list of available integrations, and their configuration options, please re
321
321
  | Grape | `grape` | `>= 1.0` | *[Link](#grape)* | *[Link](https://github.com/ruby-grape/grape)* |
322
322
  | GraphQL | `graphql` | `>= 1.7.9` | *[Link](#graphql)* | *[Link](https://github.com/rmosolgo/graphql-ruby)* |
323
323
  | gRPC | `grpc` | `>= 1.10` | *[Link](#grpc)* | *[Link](https://github.com/grpc/grpc/tree/master/src/rubyc)* |
324
- | MongoDB | `mongo` | `>= 2.0, < 2.5` | *[Link](#mongodb)* | *[Link](https://github.com/mongodb/mongo-ruby-driver)* |
324
+ | MongoDB | `mongo` | `>= 2.0` | *[Link](#mongodb)* | *[Link](https://github.com/mongodb/mongo-ruby-driver)* |
325
325
  | MySQL2 | `mysql2` | `>= 0.3.21` | *[Link](#mysql2)* | *[Link](https://github.com/brianmario/mysql2)* |
326
326
  | Net/HTTP | `http` | *(Any supported Ruby)* | *[Link](#nethttp)* | *[Link](https://ruby-doc.org/stdlib-2.4.0/libdoc/net/http/rdoc/Net/HTTP.html)* |
327
327
  | Racecar | `racecar` | `>= 0.3.5` | *[Link](#racecar)* | *[Link](https://github.com/zendesk/racecar)* |
@@ -8,67 +8,58 @@ require 'ddtrace/contrib/mongodb/subscribers'
8
8
  module Datadog
9
9
  module Contrib
10
10
  module MongoDB
11
- # Instrumentation for Mongo::Client
11
+ # Instrumentation for Mongo integration
12
12
  module Instrumentation
13
- def self.included(base)
14
- if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.0.0')
15
- base.class_eval do
16
- # Instance methods
17
- include InstanceMethodsCompatibility
18
- include InstanceMethods
19
- end
20
- else
21
- base.send(:prepend, InstanceMethods)
13
+ # Instrumentation for Mongo::Client
14
+ module Client
15
+ def self.included(base)
16
+ base.send(:include, InstanceMethods)
22
17
  end
23
- end
24
18
 
25
- # Compatibility shim for Rubies not supporting `.prepend`
26
- module InstanceMethodsCompatibility
27
- def self.included(base)
28
- base.class_eval do
29
- alias_method :initialize_without_datadog, :initialize
30
- remove_method :initialize
19
+ # Instance methods for Mongo::Client
20
+ module InstanceMethods
21
+ def datadog_pin
22
+ # safe-navigation to avoid crashes during each query
23
+ return unless respond_to? :cluster
24
+ return unless cluster.respond_to? :addresses
25
+ return unless cluster.addresses.respond_to? :first
26
+ Datadog::Pin.get_from(cluster.addresses.first)
31
27
  end
32
- end
33
28
 
34
- def initialize(*args, &block)
35
- initialize_without_datadog(*args, &block)
29
+ def datadog_pin=(pin)
30
+ # safe-navigation to avoid crashes during each query
31
+ return unless respond_to? :cluster
32
+ return unless cluster.respond_to? :addresses
33
+ return unless cluster.addresses.respond_to? :each
34
+ # attach the PIN to all cluster addresses. One of them is used
35
+ # when executing a Command and it is attached to the Monitoring
36
+ # Event instance.
37
+ cluster.addresses.each { |x| pin.onto(x) }
38
+ end
36
39
  end
37
40
  end
38
41
 
39
- # InstanceMethods - implementing instrumentation
40
- module InstanceMethods
41
- def initialize(*args, &blk)
42
- # attach the Pin instance
43
- super(*args, &blk)
44
- tracer = Datadog.configuration[:mongo][:tracer]
45
- service = Datadog.configuration[:mongo][:service_name]
46
- pin = Datadog::Pin.new(
47
- service,
48
- app: Datadog::Contrib::MongoDB::Ext::APP,
49
- app_type: Datadog::Ext::AppTypes::DB,
50
- tracer: tracer
51
- )
52
- pin.onto(self)
42
+ # Instrumentation for Mongo::Address
43
+ module Address
44
+ def self.included(base)
45
+ base.send(:include, InstanceMethods)
53
46
  end
54
47
 
55
- def datadog_pin
56
- # safe-navigation to avoid crashes during each query
57
- return unless respond_to? :cluster
58
- return unless cluster.respond_to? :addresses
59
- return unless cluster.addresses.respond_to? :first
60
- Datadog::Pin.get_from(cluster.addresses.first)
61
- end
48
+ # Instance methods for Mongo::Address
49
+ module InstanceMethods
50
+ def datadog_pin
51
+ @datadog_pin ||= begin
52
+ tracer = Datadog.configuration[:mongo][:tracer]
53
+ service = Datadog.configuration[:mongo][:service_name]
62
54
 
63
- def datadog_pin=(pin)
64
- # safe-navigation to avoid crashes during each query
65
- return unless respond_to? :cluster
66
- return unless cluster.respond_to? :addresses
67
- return unless cluster.addresses.respond_to? :each
68
- # attach the PIN to all cluster addresses. One of them is used
69
- # when executing a Command and it is attached to the Monitoring
70
- # Event instance.
71
- cluster.addresses.each { |x| pin.onto(x) }
55
+ Datadog::Pin.new(
56
+ service,
57
+ app: Datadog::Contrib::MongoDB::Ext::APP,
58
+ app_type: Datadog::Ext::AppTypes::DB,
59
+ tracer: tracer
60
+ )
61
+ end
62
+ end
72
63
  end
73
64
  end
74
65
  end
@@ -18,7 +18,8 @@ module Datadog
18
18
  def patch
19
19
  do_once(:mongo) do
20
20
  begin
21
- ::Mongo::Client.send(:include, Instrumentation)
21
+ ::Mongo::Address.send(:include, Instrumentation::Address)
22
+ ::Mongo::Client.send(:include, Instrumentation::Client)
22
23
  add_mongo_monitoring
23
24
  rescue StandardError => e
24
25
  Datadog::Tracer.log.error("Unable to apply MongoDB integration: #{e}")
@@ -2,7 +2,7 @@ module Datadog
2
2
  module VERSION
3
3
  MAJOR = 0
4
4
  MINOR = 21
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.21.1
4
+ version: 0.21.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: 2019-03-26 00:00:00.000000000 Z
11
+ date: 2019-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: msgpack