opentelemetry-instrumentation-sinatra 0.16.0 → 0.19.1

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