opentelemetry-instrumentation-rspec 0.1.0 → 0.2.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: 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
  - - ">="