opentelemetry-instrumentation-que 0.1.0 → 0.3.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: 1704f5e2fdd57330cd6c2d5da1d522bf224d8d0b97c33a713bf258b66d8bffb5
4
- data.tar.gz: ec7f743861ee2f30a75e70f96c5c161c2fd692b49a7199f1146ec546f97dc5b2
3
+ metadata.gz: dd8e6bbe8626885116f2b2724f83e418f8efcef5fcdb47b0df9b0622c3fd516a
4
+ data.tar.gz: 0f9d98681ddd62d620d05b1932b69157e10276c9097b3a860504873435657999
5
5
  SHA512:
6
- metadata.gz: 321b908a1eb46a075e69bca045e5a347615f9b72334e9cd3e3d3df0eb01a462f108054f9adc8cc10b6ae43fd64023d179e51a08424e5350b3dc7da2e8ee3e4ee
7
- data.tar.gz: 12413bbe07dda7e8ebe5130945efdf3f4cb3b880dc18cf350788b4f773ca3e5e0e3e1cd4e56f24cfb61811515bc559892b8a03796a35c094f2d732a20f0f7774
6
+ metadata.gz: 4995b1559a32a4abfaeac6d3cb9ce3bfc257e54e2061fbb943dbfe551153d6e8ce140f13bb875b7b884989d8d728b0c9e8a195d06a4566893eae2bf81388e37f
7
+ data.tar.gz: 98215ceb201baa7a51bde6eb63efe3b26170f463c25e42af4641f7edcd3cbfb3ecc6e87df1d7a9b89cb13b0400ea0192f5d467d43e70efe362e40de839336326
data/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Release History: opentelemetry-instrumentation-que
2
2
 
3
+ ### v0.3.0 / 2022-05-02
4
+
5
+ * ADDED: Validate Using Enums
6
+ * FIXED: RubyGems Fallback
7
+
8
+ ### v0.2.0 / 2021-12-01
9
+
10
+ * ADDED: Instrument Que poller
11
+
12
+ ### v0.1.1 / 2021-09-29
13
+
14
+ * (No significant changes)
15
+
3
16
  ### v0.1.0 / 2021-09-15
4
17
 
5
18
  * Initial release.
@@ -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
- option :propagation_style, default: :link, validate: ->(opt) { %i[link child none].include?(opt) }
48
+ option :propagation_style, default: :link, validate: %i[link child none]
49
+ option :trace_poller, default: false, validate: :boolean
48
50
 
49
51
  private
50
52
 
@@ -52,14 +54,16 @@ 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
58
- Gem.loaded_specs['que'].version
61
+ Gem::Version.new(::Que::VERSION)
59
62
  end
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.0'
10
+ VERSION = '0.3.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.0
4
+ version: 0.3.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-15 00:00:00.000000000 Z
11
+ date: 2022-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.0.rc3
19
+ version: '1.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.0.0.rc3
26
+ version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: opentelemetry-instrumentation-base
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.18.2
33
+ version: 0.20.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.2
40
+ version: 0.20.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: activerecord
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -94,20 +94,34 @@ 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
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: 1.0.0.rc1
117
+ version: '1.0'
104
118
  type: :development
105
119
  prerelease: false
106
120
  version_requirements: !ruby/object:Gem::Requirement
107
121
  requirements:
108
122
  - - "~>"
109
123
  - !ruby/object:Gem::Version
110
- version: 1.0.0.rc1
124
+ version: '1.0'
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: pg
113
127
  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.0/file.CHANGELOG.html
247
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-que/v0.3.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.0
250
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-que/v0.3.0
236
251
  post_install_message:
237
252
  rdoc_options: []
238
253
  require_paths: