opentelemetry-instrumentation-que 0.1.1 → 0.2.0

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
2
  SHA256:
3
- metadata.gz: 466587fdebdd0ec7c9668c9e64871fcf7e6120b1c6b47b1dc6d985dae75ae744
4
- data.tar.gz: b1e022751aead1dd7480b1e524fe39c3ab7f9930a749687663534ebaef9faf3d
3
+ metadata.gz: 5392323c2303a1644ba3c4e353b9155be0dd908d1c8cc1e1a9b801d36edbc6ac
4
+ data.tar.gz: 6b1b6922673b2ff95857cb684721ed0317301eddda802ff8b5d3bf96ac9375b5
5
5
  SHA512:
6
- metadata.gz: acb40f4c6d8fb89410083bc783884da586b7a783ac75efb5d4efb32c62705196877b40b5ef7920210c32dccc830192ab1fe0a55e4089a37216da23c24614460f
7
- data.tar.gz: 2f80d9206c6f357c278ce00aba40faa355867f1c89fbad252110e4849d78a8f124d26e95e20d2f6b7fb21133340290d5614f6e79ba3f8271b11e541343c7c5ed
6
+ metadata.gz: 6d609d39a8cf2cac0b6f85f8016c5023b895d009fd467e3dd118ed888ad7ac3edcbf7bec4e7b358bf01cd0d0967a38a7646ba1040e3f988ddfddc24afff352f8
7
+ data.tar.gz: d52489659bfc05db4386ffdee5186f96bea66e549166971daa54a941fcbef820aff16bb463f66439b400d24ecdbafbb9a00f72e7aac55af4b092e640b40378ad
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Release History: opentelemetry-instrumentation-que
2
2
 
3
+ ### v0.2.0 / 2021-12-01
4
+
5
+ * ADDED: Instrument Que poller
6
+
3
7
  ### v0.1.1 / 2021-09-29
4
8
 
5
9
  * (No significant changes)
@@ -39,12 +39,14 @@ module OpenTelemetry
39
39
  # direct child of the span that enqueued the job.
40
40
  # - :none - the job's execution will not be explicitly linked to the
41
41
  # span that enqueued the job.
42
+ # trace_poller: controls whether Que Poller is traced or not.
42
43
  #
43
44
  # Note that in all cases, we will store Que's Job ID as the
44
45
  # `messaging.message_id` attribute, so out-of-band correlation may
45
46
  # still be possible depending on your backend system.
46
47
  #
47
48
  option :propagation_style, default: :link, validate: ->(opt) { %i[link child none].include?(opt) }
49
+ option :trace_poller, default: false, validate: :boolean
48
50
 
49
51
  private
50
52
 
@@ -52,6 +54,7 @@ module OpenTelemetry
52
54
  require_relative 'tag_setter'
53
55
  require_relative 'middlewares/server_middleware'
54
56
  require_relative 'patches/que_job'
57
+ require_relative 'patches/poller'
55
58
  end
56
59
 
57
60
  def gem_version
@@ -60,6 +63,7 @@ module OpenTelemetry
60
63
 
61
64
  def patch
62
65
  ::Que::Job.prepend(Patches::QueJob)
66
+ ::Que::Poller.prepend(Patches::Poller)
63
67
  end
64
68
  end
65
69
  end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright The OpenTelemetry Authors
4
+ #
5
+ # SPDX-License-Identifier: Apache-2.0
6
+
7
+ module OpenTelemetry
8
+ module Instrumentation
9
+ module Que
10
+ module Patches
11
+ # Instrumentation for the Que::Poller module
12
+ module Poller
13
+ def poll(*args, **kwargs)
14
+ # Avoid tracing when should_poll? returns true. This is also used
15
+ # in Poller#poll to decide if the actual poll should be executed or
16
+ # not. Without this we would generate a lot of unnecessary spans.
17
+ return unless should_poll?
18
+
19
+ if Que::Instrumentation.instance.config[:trace_poller]
20
+ Que::Instrumentation.instance.tracer.in_span('Que::Poller#poll') { super(*args, **kwargs) }
21
+ else
22
+ OpenTelemetry::Common::Utilities.untraced { super(*args, **kwargs) }
23
+ end
24
+ end
25
+ end
26
+ end
27
+ end
28
+ end
29
+ end
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module Que
10
- VERSION = '0.1.1'
10
+ VERSION = '0.2.0'
11
11
  end
12
12
  end
13
13
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-instrumentation-que
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenTelemetry Authors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-30 00:00:00.000000000 Z
11
+ date: 2021-12-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.18.3
33
+ version: 0.19.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.18.3
40
+ version: 0.19.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: activerecord
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '5.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: opentelemetry-instrumentation-pg
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: 0.19.2
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: 0.19.2
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: opentelemetry-sdk
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -222,6 +236,7 @@ files:
222
236
  - lib/opentelemetry/instrumentation/que.rb
223
237
  - lib/opentelemetry/instrumentation/que/instrumentation.rb
224
238
  - lib/opentelemetry/instrumentation/que/middlewares/server_middleware.rb
239
+ - lib/opentelemetry/instrumentation/que/patches/poller.rb
225
240
  - lib/opentelemetry/instrumentation/que/patches/que_job.rb
226
241
  - lib/opentelemetry/instrumentation/que/tag_setter.rb
227
242
  - lib/opentelemetry/instrumentation/que/version.rb
@@ -229,10 +244,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
229
244
  licenses:
230
245
  - Apache-2.0
231
246
  metadata:
232
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-que/v0.1.1/file.CHANGELOG.html
247
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-que/v0.2.0/file.CHANGELOG.html
233
248
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/instrumentation/que
234
249
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
235
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-que/v0.1.1
250
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-que/v0.2.0
236
251
  post_install_message:
237
252
  rdoc_options: []
238
253
  require_paths: