opentelemetry-instrumentation-sinatra 0.16.0 → 0.19.1

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: 4e581ff21037acdb81c9427e97a28cf02f5d87dca1f6f6692080630c2645cbc5
4
- data.tar.gz: 487ddd768c8ddd8577396f0c9943a43dd8c68d796e04950785d8a452f266a36e
3
+ metadata.gz: 2811441d3c47e629d646343d4f6d7bf6f54a262ad94a407a63f4d1faf6986001
4
+ data.tar.gz: ffe61de5ac46cd38521787dd8cbfccc4f397ed98334b9542025de364532e50fc
5
5
  SHA512:
6
- metadata.gz: 1b236075ad10a5c4ea740a0e4277bea67620ccbcd68e7389fdbc4de66eec38ab83f4623437f4710d6feea60a43a8df618ee3582d3a74292d4847d9abebd8d3e1
7
- data.tar.gz: 5ad1ee56bf4b90ca235dc2181cb3644e92184af7a40793df29e6a97363b79dd328f74333cdcff942a6d6fb98f9e1a10615313d630610a0e23bef63d05be3497e
6
+ metadata.gz: 9cb021ec39cd10918b42d02eceb042b50982e1d62c15a91a8dcd559c7195bd6922233a15e5f29a6b8192565d12705e9345185e59127ec618ce98311528006921
7
+ data.tar.gz: 9de0c4f3f09d4dd55d2b477d9260f4ccf78196d72f10a7ae98fb5582ce7714a15c15aa5acdb4f6526e1c62fd351dd30de1271cdc7a37bf8df69fd6276486a1f0
data/CHANGELOG.md CHANGED
@@ -1,9 +1,31 @@
1
1
  # Release History: opentelemetry-instrumentation-sinatra
2
2
 
3
+ ### v0.19.1 / 2021-08-12
4
+
5
+ * DOCS: Update docs to rely more on environment variable configuration
6
+
7
+ ### v0.19.0 / 2021-06-23
8
+
9
+ * BREAKING CHANGE: Total order constraint on span.status=
10
+
11
+ * FIXED: Total order constraint on span.status=
12
+
13
+ ### v0.18.0 / 2021-05-21
14
+
15
+ * ADDED: Updated API depedency for 1.0.0.rc1
16
+ * BREAKING CHANGE: Remove optional parent_context from in_span
17
+
18
+ * FIXED: Remove optional parent_context from in_span
19
+ * FIXED: Removed http.status_text attribute #750
20
+
21
+ ### v0.17.0 / 2021-04-22
22
+
23
+ * (No significant changes)
24
+
3
25
  ### v0.16.0 / 2021-03-17
4
26
 
5
- * FIXED: Example scripts now reference local common lib
6
- * DOCS: Replace Gitter with GitHub Discussions
27
+ * FIXED: Example scripts now reference local common lib
28
+ * DOCS: Replace Gitter with GitHub Discussions
7
29
 
8
30
  ### v0.15.0 / 2021-02-18
9
31
 
@@ -11,9 +33,9 @@
11
33
 
12
34
  ### v0.14.0 / 2021-02-03
13
35
 
14
- * BREAKING CHANGE: Replace getter and setter callables and remove rack specific propagators
36
+ * BREAKING CHANGE: Replace getter and setter callables and remove rack specific propagators
15
37
 
16
- * ADDED: Replace getter and setter callables and remove rack specific propagators
38
+ * ADDED: Replace getter and setter callables and remove rack specific propagators
17
39
 
18
40
  ### v0.13.0 / 2021-01-29
19
41
 
@@ -25,7 +47,7 @@
25
47
 
26
48
  ### v0.11.0 / 2020-12-11
27
49
 
28
- * FIXED: Copyright comments to not reference year
50
+ * FIXED: Copyright comments to not reference year
29
51
 
30
52
  ### v0.10.0 / 2020-12-03
31
53
 
@@ -33,24 +55,24 @@
33
55
 
34
56
  ### v0.9.0 / 2020-11-27
35
57
 
36
- * BREAKING CHANGE: Add timeout for force_flush and shutdown
58
+ * BREAKING CHANGE: Add timeout for force_flush and shutdown
37
59
 
38
- * ADDED: Add timeout for force_flush and shutdown
60
+ * ADDED: Add timeout for force_flush and shutdown
39
61
 
40
62
  ### v0.8.0 / 2020-10-27
41
63
 
42
- * BREAKING CHANGE: Remove 'canonical' from status codes
64
+ * BREAKING CHANGE: Remove 'canonical' from status codes
43
65
 
44
- * FIXED: Remove 'canonical' from status codes
66
+ * FIXED: Remove 'canonical' from status codes
45
67
 
46
68
  ### v0.7.1 / 2020-10-08
47
69
 
48
- * FIXED: Set span name to sinatra.route
70
+ * FIXED: Set span name to sinatra.route
49
71
 
50
72
  ### v0.7.0 / 2020-10-07
51
73
 
52
- * FIXED: Default to sinatra.route for span name
53
- * DOCS: Standardize toplevel docs structure and readme
74
+ * FIXED: Default to sinatra.route for span name
75
+ * DOCS: Standardize toplevel docs structure and readme
54
76
 
55
77
  ### v0.6.0 / 2020-09-10
56
78
 
@@ -5,6 +5,7 @@
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
7
7
  require 'opentelemetry'
8
+ require 'opentelemetry-instrumentation-base'
8
9
 
9
10
  module OpenTelemetry
10
11
  module Instrumentation
@@ -15,28 +15,24 @@ module OpenTelemetry
15
15
  end
16
16
 
17
17
  def call(env)
18
- tracer.in_span(
19
- env['PATH_INFO'],
20
- attributes: { 'http.method' => env['REQUEST_METHOD'],
21
- 'http.url' => env['PATH_INFO'] },
22
- kind: :server,
23
- with_parent: parent_context(env)
24
- ) do |span|
25
- app.call(env).tap { |resp| trace_response(span, env, resp) }
26
- end
27
- end
28
-
29
- private
30
-
31
- attr_reader :app
32
-
33
- def parent_context(env)
34
- OpenTelemetry.propagation.extract(
18
+ extracted_context = OpenTelemetry.propagation.extract(
35
19
  env,
36
20
  getter: OpenTelemetry::Context::Propagation.rack_env_getter
37
21
  )
22
+ OpenTelemetry::Context.with_current(extracted_context) do
23
+ tracer.in_span(
24
+ env['PATH_INFO'],
25
+ attributes: { 'http.method' => env['REQUEST_METHOD'],
26
+ 'http.url' => env['PATH_INFO'] },
27
+ kind: :server
28
+ ) do |span|
29
+ @app.call(env).tap { |resp| trace_response(span, env, resp) }
30
+ end
31
+ end
38
32
  end
39
33
 
34
+ private
35
+
40
36
  def tracer
41
37
  OpenTelemetry::Instrumentation::Sinatra::Instrumentation.instance.tracer
42
38
  end
@@ -45,10 +41,9 @@ module OpenTelemetry
45
41
  status, _headers, _response_body = resp
46
42
 
47
43
  span.set_attribute('http.status_code', status)
48
- span.set_attribute('http.status_text', ::Rack::Utils::HTTP_STATUS_CODES[status])
49
44
  span.set_attribute('http.route', env['sinatra.route'].split.last) if env['sinatra.route']
50
45
  span.name = env['sinatra.route'] if env['sinatra.route']
51
- span.status = OpenTelemetry::Trace::Status.http_to_status(status)
46
+ span.status = OpenTelemetry::Trace::Status.error unless (100..399).include?(status.to_i)
52
47
  end
53
48
  end
54
49
  end
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module Sinatra
10
- VERSION = '0.16.0'
10
+ VERSION = '0.19.1'
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-sinatra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.16.0
4
+ version: 0.19.1
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-03-22 00:00:00.000000000 Z
11
+ date: 2021-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -16,14 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.16.0
19
+ version: 1.0.0.rc3
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.16.0
26
+ version: 1.0.0.rc3
27
+ - !ruby/object:Gem::Dependency
28
+ name: opentelemetry-instrumentation-base
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.18.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.18.2
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: appraisal
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +86,14 @@ dependencies:
72
86
  requirements:
73
87
  - - "~>"
74
88
  - !ruby/object:Gem::Version
75
- version: '0.0'
89
+ version: 1.0.0.rc1
76
90
  type: :development
77
91
  prerelease: false
78
92
  version_requirements: !ruby/object:Gem::Requirement
79
93
  requirements:
80
94
  - - "~>"
81
95
  - !ruby/object:Gem::Version
82
- version: '0.0'
96
+ version: 1.0.0.rc1
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: rack-test
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -200,10 +214,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
200
214
  licenses:
201
215
  - Apache-2.0
202
216
  metadata:
203
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-sinatra/v0.16.0/file.CHANGELOG.html
217
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-sinatra/v0.19.1/file.CHANGELOG.html
204
218
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/instrumentation/sinatra
205
219
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
206
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-sinatra/v0.16.0
220
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-sinatra/v0.19.1
207
221
  post_install_message:
208
222
  rdoc_options: []
209
223
  require_paths:
@@ -219,7 +233,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
219
233
  - !ruby/object:Gem::Version
220
234
  version: '0'
221
235
  requirements: []
222
- rubygems_version: 3.1.4
236
+ rubygems_version: 3.1.6
223
237
  signing_key:
224
238
  specification_version: 4
225
239
  summary: Sinatra instrumentation for the OpenTelemetry framework