opentelemetry-instrumentation-rack 0.13.0 → 0.14.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: 0dfb36f720e7c29d75aa43e7704bcdcbc48f7d372c26ac8375369cab8488fdf1
4
- data.tar.gz: 866c30087a8a130be2e77ffdbc93c788afa6f1710d9e1c777721b8ecf2ffc0e9
3
+ metadata.gz: e9824c0e3b21a61e9c69c51e68dae7c56c93dbc03a7bec1ce73d2e2876d14d11
4
+ data.tar.gz: 9e72aba3d3819902feb17b41b6b4203fbee4435c418b6f828f6a1336697c13dd
5
5
  SHA512:
6
- metadata.gz: 9aa4b46b9fad82880a7bf4dba1d537cab64d9bd4743fb6bf6d6c71aed9c6a4d960bf3cd036e170d6bc0ea826b73a0342dcf4204931f406e03d45406b10dc0294
7
- data.tar.gz: a03e4a30b5e2c82047cbbd8b490e06dbe92e792b7f8d8c0481c4ed45397768e7e924520ec660205cb28a4064748e40e4e61ddd584d48de21bcf2e276a170ba97
6
+ metadata.gz: c0bf72d4acdb549a9ce22e2de5ec8618e7a9a4534623203c66c039ed9165f06afaae6399b2d879b802f1c5ec39bf70193136396f11a07dd6521c2901c32029f2
7
+ data.tar.gz: 7e7b9fb9a10ccc9bf0b055dc479375c0e88a957a0f576ad2b9a70472c9517456fdb1d6caf1af15300426176dc770c132253ab40ed132efc0850496fb5e2451bc
data/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Release History: opentelemetry-instrumentation-rack
2
2
 
3
+ ### v0.14.0 / 2021-02-03
4
+
5
+ * BREAKING CHANGE: Replace getter and setter callables and remove rack specific propagators
6
+
7
+ * ADDED: Replace getter and setter callables and remove rack specific propagators
8
+ * ADDED: Add untraced endpoints config to rack middleware
9
+
3
10
  ### v0.13.0 / 2021-01-29
4
11
 
5
12
  * FIXED: Only include user agent when present
@@ -49,11 +49,20 @@ module OpenTelemetry
49
49
 
50
50
  def initialize(app)
51
51
  @app = app
52
+ @untraced_endpoints = config[:untraced_endpoints].is_a?(Array) ? config[:untraced_endpoints] : []
52
53
  end
53
54
 
54
- def call(env) # rubocop:disable Metrics/AbcSize
55
+ def call(env) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
56
+ if untraced_request?(env)
57
+ OpenTelemetry::Common::Utilities.untraced do
58
+ return @app.call(env)
59
+ end
60
+ end
55
61
  original_env = env.dup
56
- extracted_context = OpenTelemetry.propagation.http.extract(env)
62
+ extracted_context = OpenTelemetry.propagation.extract(
63
+ env,
64
+ getter: OpenTelemetry::Context::Propagation.rack_env_getter
65
+ )
57
66
  frontend_context = create_frontend_span(env, extracted_context)
58
67
 
59
68
  # restore extracted context in this process:
@@ -76,6 +85,10 @@ module OpenTelemetry
76
85
 
77
86
  private
78
87
 
88
+ def untraced_request?(env)
89
+ @untraced_endpoints.include?(env['PATH_INFO'])
90
+ end
91
+
79
92
  # return Context with the frontend span as the current span
80
93
  def create_frontend_span(env, extracted_context)
81
94
  request_start_time = OpenTelemetry::Instrumentation::Rack::Util::QueueTime.get_request_start(env)
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module Rack
10
- VERSION = '0.13.0'
10
+ VERSION = '0.14.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-rack
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.14.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-01-30 00:00:00.000000000 Z
11
+ date: 2021-02-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.13.0
19
+ version: 0.14.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: 0.13.0
26
+ version: 0.14.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: appraisal
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -214,10 +214,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
214
214
  licenses:
215
215
  - Apache-2.0
216
216
  metadata:
217
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-rack/v0.13.0/file.CHANGELOG.html
217
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-rack/v0.14.0/file.CHANGELOG.html
218
218
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/instrumentation/rack
219
219
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
220
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-rack/v0.13.0
220
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-rack/v0.14.0
221
221
  post_install_message:
222
222
  rdoc_options: []
223
223
  require_paths: