opentelemetry-instrumentation-sinatra 0.13.0 → 0.18.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: 88a768ba11a59a82591f8ae526721074e9946c847d67a784705aabe62e5e30f7
4
- data.tar.gz: db3cefa7e443d635e4dd2bee00375aa3805ea7b8e417904238ee985366230580
3
+ metadata.gz: 9e487da27ae850207f0eeb2f6c8a75b2c56411b55eb4034efb56dbef36525243
4
+ data.tar.gz: a6eb41a1d9722a6a8a1edd8d55966f54898a29b8a4a7c93c379cb5eba5720f1d
5
5
  SHA512:
6
- metadata.gz: d051da96921410dbe601468b561f537956b0dd16572741b56e2a4c3b1d93801304f9cf545aedb041f887ba518b1a3ebfdcb6dc5726788ee2cc43ada16e1a2b39
7
- data.tar.gz: bd2906376362fd0ece1e52a582e5590ad7dc12d9bae2e8f79869f282eebe1c656c617b0a2a871910417ec406e6e188ca95ff069381e7140502bb00e38e726eaf
6
+ metadata.gz: 21fa3604acd21cb0412a98afb4deabab82b7067e2b1e3a7b9fcd7377a434ce31b694ae5420662e707ed8ad697272361633e9bf88898e703a57c2703f4ac93b9a
7
+ data.tar.gz: d7a6be83743e6136d599c63156b0bc3c7e668971711fbcda75b9b18337110289f39ecd1f368d6b1957d7e9019b420c83a327e1088f21b23d6a7bd1fec3de8558
data/CHANGELOG.md CHANGED
@@ -1,5 +1,32 @@
1
1
  # Release History: opentelemetry-instrumentation-sinatra
2
2
 
3
+ ### v0.18.0 / 2021-05-21
4
+
5
+ * ADDED: Updated API depedency for 1.0.0.rc1
6
+ * BREAKING CHANGE: Remove optional parent_context from in_span
7
+
8
+ * FIXED: Remove optional parent_context from in_span
9
+ * FIXED: Removed http.status_text attribute #750
10
+
11
+ ### v0.17.0 / 2021-04-22
12
+
13
+ * (No significant changes)
14
+
15
+ ### v0.16.0 / 2021-03-17
16
+
17
+ * FIXED: Example scripts now reference local common lib
18
+ * DOCS: Replace Gitter with GitHub Discussions
19
+
20
+ ### v0.15.0 / 2021-02-18
21
+
22
+ * (No significant changes)
23
+
24
+ ### v0.14.0 / 2021-02-03
25
+
26
+ * BREAKING CHANGE: Replace getter and setter callables and remove rack specific propagators
27
+
28
+ * ADDED: Replace getter and setter callables and remove rack specific propagators
29
+
3
30
  ### v0.13.0 / 2021-01-29
4
31
 
5
32
  * (No significant changes)
@@ -10,7 +37,7 @@
10
37
 
11
38
  ### v0.11.0 / 2020-12-11
12
39
 
13
- * FIXED: Copyright comments to not reference year
40
+ * FIXED: Copyright comments to not reference year
14
41
 
15
42
  ### v0.10.0 / 2020-12-03
16
43
 
@@ -18,24 +45,24 @@
18
45
 
19
46
  ### v0.9.0 / 2020-11-27
20
47
 
21
- * BREAKING CHANGE: Add timeout for force_flush and shutdown
48
+ * BREAKING CHANGE: Add timeout for force_flush and shutdown
22
49
 
23
- * ADDED: Add timeout for force_flush and shutdown
50
+ * ADDED: Add timeout for force_flush and shutdown
24
51
 
25
52
  ### v0.8.0 / 2020-10-27
26
53
 
27
- * BREAKING CHANGE: Remove 'canonical' from status codes
54
+ * BREAKING CHANGE: Remove 'canonical' from status codes
28
55
 
29
- * FIXED: Remove 'canonical' from status codes
56
+ * FIXED: Remove 'canonical' from status codes
30
57
 
31
58
  ### v0.7.1 / 2020-10-08
32
59
 
33
- * FIXED: Set span name to sinatra.route
60
+ * FIXED: Set span name to sinatra.route
34
61
 
35
62
  ### v0.7.0 / 2020-10-07
36
63
 
37
- * FIXED: Default to sinatra.route for span name
38
- * DOCS: Standardize toplevel docs structure and readme
64
+ * FIXED: Default to sinatra.route for span name
65
+ * DOCS: Standardize toplevel docs structure and readme
39
66
 
40
67
  ### v0.6.0 / 2020-09-10
41
68
 
data/README.md CHANGED
@@ -45,7 +45,7 @@ end
45
45
 
46
46
  The `opentelemetry-instrumentation-sinatra` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`.
47
47
 
48
- The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us on our [gitter channel][ruby-gitter] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig].
48
+ The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us in [GitHub Discussions][discussions-url] or attending our weekly meeting. See the [meeting calendar][community-meetings] for dates and times. For more information on this and other language SIGs, see the OpenTelemetry [community page][ruby-sig].
49
49
 
50
50
  ## License
51
51
 
@@ -57,4 +57,4 @@ The `opentelemetry-instrumentation-sinatra` gem is distributed under the Apache
57
57
  [license-github]: https://github.com/open-telemetry/opentelemetry-ruby/blob/main/LICENSE
58
58
  [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig
59
59
  [community-meetings]: https://github.com/open-telemetry/community#community-meetings
60
- [ruby-gitter]: https://gitter.im/open-telemetry/opentelemetry-ruby
60
+ [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions
@@ -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,25 +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) }
18
+ extracted_context = OpenTelemetry.propagation.extract(
19
+ env,
20
+ getter: OpenTelemetry::Context::Propagation.rack_env_getter
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
26
31
  end
27
32
  end
28
33
 
29
34
  private
30
35
 
31
- attr_reader :app
32
-
33
- def parent_context(env)
34
- OpenTelemetry.propagation.http.extract(env)
35
- end
36
-
37
36
  def tracer
38
37
  OpenTelemetry::Instrumentation::Sinatra::Instrumentation.instance.tracer
39
38
  end
@@ -42,7 +41,6 @@ module OpenTelemetry
42
41
  status, _headers, _response_body = resp
43
42
 
44
43
  span.set_attribute('http.status_code', status)
45
- span.set_attribute('http.status_text', ::Rack::Utils::HTTP_STATUS_CODES[status])
46
44
  span.set_attribute('http.route', env['sinatra.route'].split.last) if env['sinatra.route']
47
45
  span.name = env['sinatra.route'] if env['sinatra.route']
48
46
  span.status = OpenTelemetry::Trace::Status.http_to_status(status)
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module Sinatra
10
- VERSION = '0.13.0'
10
+ VERSION = '0.18.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-sinatra
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.13.0
4
+ version: 0.18.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-05-21 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.13.0
19
+ version: 1.0.0.rc1
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: 1.0.0.rc1
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.0
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.0
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.13.0/file.CHANGELOG.html
217
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-sinatra/v0.18.0/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.13.0
220
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-sinatra/v0.18.0
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