opentelemetry-instrumentation-rspec 0.1.0 → 0.2.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: e51cdff28bf6029108f2cc5c48ceca7127a97e35e243e7d7dac2a7b7de91ad37
4
- data.tar.gz: '0459ef8871da363d80523e8ee392adbef5b953d0e8b07d5665d32aa8ba999ccf'
3
+ metadata.gz: f0f74d3b0dd42bd111a5c0794a3e9f206292e5b674ba1dd0e01c412ced4edd96
4
+ data.tar.gz: 5a17ab3d20a8fb8bcc66d14bee50116f76bdb74697caab4ff4585cdeffe0176f
5
5
  SHA512:
6
- metadata.gz: 64429ca47726f0427b36a5da874e87ae3bd003f358ba6e16f8ccd6e2ed7843a6087f5b2072858e84fccd2c9ab31266458a82a8eb47fa5286527bdff2da3ff091
7
- data.tar.gz: 957feb5be38106f9038eb6d0a4f9bbb0dd9a5d5b9dc073e003140c259c4a19981715110fbed84e356f43bce57cda44520ad5840b694a5391c407309c5eb0dcb6
6
+ metadata.gz: c1f7f6f78e3a637ae852c3d2383e8e9eb4a4ea18aba3a86e704700555bd1220b33cd49fff0f393dc6517fd5fa693096b8ac71c6769fcf3177b1708ecc6d9fd57
7
+ data.tar.gz: 821597ffa59e40970823c431683625cd6f0fe410dca894ef1a08192a2fa14eac93d65aae42fba9e999010c098a1747d21d3e89da17ec60383cab9d27c9f65b0c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Release History: opentelemetry-instrumentation-rspec
2
2
 
3
+ ### v0.2.1 / 2023-01-14
4
+
5
+ * DOCS: Fix gem homepage
6
+ * DOCS: More gem documentation fixes
7
+
8
+ ### v0.2.0 / 2022-06-09
9
+
10
+ * Upgrading Base dependency version
11
+ * FIXED: Strip console codes from RSpec messages and better handle multiple failures
12
+ * FIXED: Broken test file requirements
13
+
3
14
  ### v0.1.0 / 2021-12-01
4
15
 
5
16
  * Initial release.
data/README.md CHANGED
@@ -55,7 +55,7 @@ To avoid spans from being dropped, which will mean you lose insight into your sp
55
55
 
56
56
  ## Examples
57
57
 
58
- Example usage can be seen in the `/example` directory [here](https://github.com/open-telemetry/opentelemetry-ruby/blob/main/instrumentation/rspec/example)
58
+ Example usage can be seen in the `/example` directory [here](https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/instrumentation/rspec/example)
59
59
 
60
60
  ## How can I get involved?
61
61
 
@@ -69,7 +69,7 @@ The `opentelemetry-instrumentation-rspec` gem is distributed under the Apache 2.
69
69
 
70
70
  [bundler-home]: https://bundler.io
71
71
  [repo-github]: https://github.com/open-telemetry/opentelemetry-ruby
72
- [license-github]: https://github.com/open-telemetry/opentelemetry-ruby/blob/main/LICENSE
72
+ [license-github]: https://github.com/open-telemetry/opentelemetry-ruby-contrib/blob/main/LICENSE
73
73
  [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig
74
74
  [community-meetings]: https://github.com/open-telemetry/community#community-meetings
75
75
  [discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions
@@ -72,11 +72,25 @@ module OpenTelemetry
72
72
 
73
73
  span.set_attribute('rspec.example.result', result.status.to_s)
74
74
 
75
- if (exception = result.exception)
76
- span.record_exception(exception)
77
- span.set_attribute('rspec.example.failure_message', exception.message) if exception.is_a? ::RSpec::Expectations::ExpectationNotMetError
78
- span.status = OpenTelemetry::Trace::Status.error(exception.message)
75
+ add_exception_and_failures(span, result.exception)
76
+ end
77
+ end
78
+
79
+ def add_exception_and_failures(span, exception)
80
+ return if exception.nil?
81
+
82
+ exception_message = strip_console_codes(exception.message)
83
+ span.status = OpenTelemetry::Trace::Status.error(exception_message)
84
+
85
+ span.set_attribute('rspec.example.failure_message', exception_message) if exception.is_a? ::RSpec::Expectations::ExpectationNotMetError
86
+
87
+ if exception.is_a? ::RSpec::Core::MultipleExceptionError
88
+ exception.all_exceptions.each do |error|
89
+ record_stripped_exception(span, error)
79
90
  end
91
+ span.set_attribute('rspec.example.failure_message', multiple_failure_message(exception)) if exception.failures.any?
92
+ else
93
+ span.record_exception(exception, attributes: { 'exception.message' => exception_message })
80
94
  end
81
95
  end
82
96
 
@@ -96,6 +110,19 @@ module OpenTelemetry
96
110
  span.finish(end_timestamp: current_timestamp)
97
111
  OpenTelemetry::Context.detach(token)
98
112
  end
113
+
114
+ def record_stripped_exception(span, error)
115
+ error_message = strip_console_codes(error.message)
116
+ span.record_exception(error, attributes: { 'exception.message' => error_message })
117
+ end
118
+
119
+ def strip_console_codes(string)
120
+ string.gsub(/\e\[([;\d]+)?m/, '')
121
+ end
122
+
123
+ def multiple_failure_message(exception)
124
+ exception.failures.map(&:message).map(&method(:strip_console_codes)).join("\n\n")
125
+ end
99
126
  end
100
127
  end
101
128
  end
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module RSpec
10
- VERSION = '0.1.0'
10
+ VERSION = '0.2.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-rspec
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.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-12-01 00:00:00.000000000 Z
11
+ date: 2023-01-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.19.0
33
+ version: 0.21.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.19.0
40
+ version: 0.21.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: appraisal
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -56,16 +56,16 @@ dependencies:
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ">="
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.17'
61
+ version: '2.4'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ">="
66
+ - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.17'
68
+ version: '2.4'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: minitest
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -94,34 +94,62 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: opentelemetry-test-helpers
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: rake
99
113
  requirement: !ruby/object:Gem::Requirement
100
114
  requirements:
101
115
  - - "~>"
102
116
  - !ruby/object:Gem::Version
103
- version: 12.3.3
117
+ version: '13.0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '13.0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: rspec
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 3.10.0
104
132
  type: :development
105
133
  prerelease: false
106
134
  version_requirements: !ruby/object:Gem::Requirement
107
135
  requirements:
108
136
  - - "~>"
109
137
  - !ruby/object:Gem::Version
110
- version: 12.3.3
138
+ version: 3.10.0
111
139
  - !ruby/object:Gem::Dependency
112
140
  name: rubocop
113
141
  requirement: !ruby/object:Gem::Requirement
114
142
  requirements:
115
143
  - - "~>"
116
144
  - !ruby/object:Gem::Version
117
- version: 0.73.0
145
+ version: 1.41.1
118
146
  type: :development
119
147
  prerelease: false
120
148
  version_requirements: !ruby/object:Gem::Requirement
121
149
  requirements:
122
150
  - - "~>"
123
151
  - !ruby/object:Gem::Version
124
- version: 0.73.0
152
+ version: 1.41.1
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: simplecov
127
155
  requirement: !ruby/object:Gem::Requirement
@@ -195,14 +223,14 @@ files:
195
223
  - lib/opentelemetry/instrumentation/rspec/formatter.rb
196
224
  - lib/opentelemetry/instrumentation/rspec/instrumentation.rb
197
225
  - lib/opentelemetry/instrumentation/rspec/version.rb
198
- homepage: https://github.com/open-telemetry/opentelemetry-ruby
226
+ homepage: https://github.com/open-telemetry/opentelemetry-ruby-contrib
199
227
  licenses:
200
228
  - Apache-2.0
201
229
  metadata:
202
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-rspec/v0.1.0/file.CHANGELOG.html
203
- source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/instrumentation/rspec
204
- bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
205
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-rspec/v0.1.0
230
+ changelog_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rspec/0.2.1/file/CHANGELOG.md
231
+ source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/instrumentation/rspec
232
+ bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues
233
+ documentation_uri: https://rubydoc.info/gems/opentelemetry-instrumentation-rspec/0.2.1
206
234
  post_install_message:
207
235
  rdoc_options: []
208
236
  require_paths:
@@ -211,7 +239,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
211
239
  requirements:
212
240
  - - ">="
213
241
  - !ruby/object:Gem::Version
214
- version: 2.5.0
242
+ version: 2.6.0
215
243
  required_rubygems_version: !ruby/object:Gem::Requirement
216
244
  requirements:
217
245
  - - ">="