opentelemetry-instrumentation-que 0.1.0 → 0.3.0

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
  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: