opentelemetry-instrumentation-restclient 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: 18cb5532c7359fb1f9846d93a6df6dfb38b0ef83d067c4315edb9bffbbb21948
4
- data.tar.gz: 5b4c32c633ea24eec499a38959df34923f0d32164b04360d64b9418695d33b84
3
+ metadata.gz: b61754b2073e038746e2af62a87f64f7f037983b05de2799d123cb0d29f45eeb
4
+ data.tar.gz: 698f9ac36b668594fbd2eba3ce339379ee415694e80feba20b15c2972f464034
5
5
  SHA512:
6
- metadata.gz: 6f8f7788829a27e8145722b756a23b44d374d952e386aefbce1d5e04ad8a0bd014d9d2b748543a3f27c927d67c4b9cdc4fedfb26b21bcd9717e4ecc189eded0f
7
- data.tar.gz: f02ecd9de693471ca9afaec9c9f8c13c4b654c1cf366fd181e53c53a2dbb0b532b7b8a56b1903efe00edaf44e7145d774bdedc00e042def7667385d8fa23b892
6
+ metadata.gz: 7ca783362819736629fd5a22d4059c5c3d4bee76c8c06f3e23ddcea5ebbfab195f9bd7f8211c03d40d2364f66c98762ae2b2a2571e7858da095ec2b37b458fa0
7
+ data.tar.gz: 8abfd69c0fe5a04de7351b92074161c4c63f87050177dfa669acf3b513e96f63bde698296b476179fdc90674437313e4b6494c8e446070c1f788e8571b5361af
data/CHANGELOG.md CHANGED
@@ -1,10 +1,30 @@
1
1
  # Release History: opentelemetry-instrumentation-restclient
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
+ * FIXED: Removed http.status_text attribute #750
17
+
18
+ ### v0.17.0 / 2021-04-22
19
+
20
+ * ADDED: RestClient instrumentation accepts peer service config attribute.
21
+ * FIXED: Refactor propagators to add #fields
22
+
3
23
  ### v0.16.0 / 2021-03-17
4
24
 
5
- * FIXED: Remove passwords from http.url
6
- * FIXED: Example scripts now reference local common lib
7
- * DOCS: Replace Gitter with GitHub Discussions
25
+ * FIXED: Remove passwords from http.url
26
+ * FIXED: Example scripts now reference local common lib
27
+ * DOCS: Replace Gitter with GitHub Discussions
8
28
 
9
29
  ### v0.15.0 / 2021-02-18
10
30
 
@@ -12,9 +32,9 @@
12
32
 
13
33
  ### v0.14.0 / 2021-02-03
14
34
 
15
- * BREAKING CHANGE: Replace getter and setter callables and remove rack specific propagators
35
+ * BREAKING CHANGE: Replace getter and setter callables and remove rack specific propagators
16
36
 
17
- * ADDED: Replace getter and setter callables and remove rack specific propagators
37
+ * ADDED: Replace getter and setter callables and remove rack specific propagators
18
38
 
19
39
  ### v0.13.0 / 2021-01-29
20
40
 
@@ -26,7 +46,7 @@
26
46
 
27
47
  ### v0.11.0 / 2020-12-11
28
48
 
29
- * FIXED: Copyright comments to not reference year
49
+ * FIXED: Copyright comments to not reference year
30
50
 
31
51
  ### v0.10.0 / 2020-12-03
32
52
 
@@ -34,19 +54,19 @@
34
54
 
35
55
  ### v0.9.0 / 2020-11-27
36
56
 
37
- * BREAKING CHANGE: Add timeout for force_flush and shutdown
57
+ * BREAKING CHANGE: Add timeout for force_flush and shutdown
38
58
 
39
- * ADDED: Add timeout for force_flush and shutdown
59
+ * ADDED: Add timeout for force_flush and shutdown
40
60
 
41
61
  ### v0.8.0 / 2020-10-27
42
62
 
43
- * BREAKING CHANGE: Move context/span methods to Trace module
63
+ * BREAKING CHANGE: Move context/span methods to Trace module
44
64
 
45
- * FIXED: Move context/span methods to Trace module
65
+ * FIXED: Move context/span methods to Trace module
46
66
 
47
67
  ### v0.7.0 / 2020-10-07
48
68
 
49
- * DOCS: Standardize toplevel docs structure and readme
69
+ * DOCS: Standardize toplevel docs structure and readme
50
70
 
51
71
  ### v0.6.0 / 2020-09-10
52
72
 
@@ -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
@@ -19,6 +19,8 @@ module OpenTelemetry
19
19
  defined?(::RestClient)
20
20
  end
21
21
 
22
+ option :peer_service, default: nil, validate: :string
23
+
22
24
  private
23
25
 
24
26
  def require_dependencies
@@ -20,12 +20,17 @@ module OpenTelemetry
20
20
 
21
21
  def trace_request # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
22
22
  http_method = method.upcase
23
+ instrumentation_attrs = {
24
+ 'http.method' => http_method,
25
+ 'http.url' => OpenTelemetry::Common::Utilities.cleanse_url(url)
26
+ }
27
+ config = RestClient::Instrumentation.instance.config
28
+ instrumentation_attrs['peer.service'] = config[:peer_service] if config[:peer_service]
23
29
  span = tracer.start_span(
24
30
  "HTTP #{http_method}",
25
- attributes: {
26
- 'http.method' => http_method,
27
- 'http.url' => OpenTelemetry::Common::Utilities.cleanse_url(url)
28
- },
31
+ attributes: instrumentation_attrs.merge(
32
+ OpenTelemetry::Common::HTTP::ClientContext.attributes
33
+ ),
29
34
  kind: :client
30
35
  )
31
36
 
@@ -38,17 +43,12 @@ module OpenTelemetry
38
43
  # If so, add additional attributes.
39
44
  if response.is_a?(::RestClient::Response)
40
45
  span.set_attribute('http.status_code', response.code)
41
- span.set_attribute('http.status_text', ::RestClient::STATUSES[response.code])
42
- span.status = OpenTelemetry::Trace::Status.http_to_status(
43
- response.code
44
- )
46
+ span.status = OpenTelemetry::Trace::Status.error unless (100..399).include?(response.code.to_i)
45
47
  end
46
48
  end
47
49
  rescue ::RestClient::ExceptionWithResponse => e
48
50
  span.set_attribute('http.status_code', e.http_code)
49
- span.status = OpenTelemetry::Trace::Status.http_to_status(
50
- e.http_code
51
- )
51
+ span.status = OpenTelemetry::Trace::Status.error unless (100..399).include?(e.http_code.to_i)
52
52
 
53
53
  raise e
54
54
  ensure
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module RestClient
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-restclient
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,42 @@ 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-common
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 0.19.1
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 0.19.1
41
+ - !ruby/object:Gem::Dependency
42
+ name: opentelemetry-instrumentation-base
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 0.18.2
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.18.2
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: appraisal
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -72,14 +100,14 @@ dependencies:
72
100
  requirements:
73
101
  - - "~>"
74
102
  - !ruby/object:Gem::Version
75
- version: '0.0'
103
+ version: 1.0.0.rc1
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
108
  - - "~>"
81
109
  - !ruby/object:Gem::Version
82
- version: '0.0'
110
+ version: 1.0.0.rc1
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: rest-client
85
113
  requirement: !ruby/object:Gem::Requirement
@@ -185,10 +213,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
185
213
  licenses:
186
214
  - Apache-2.0
187
215
  metadata:
188
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-restclient/v0.16.0/file.CHANGELOG.html
216
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-restclient/v0.19.1/file.CHANGELOG.html
189
217
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/instrumentation/restclient
190
218
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
191
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-restclient/v0.16.0
219
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-restclient/v0.19.1
192
220
  post_install_message:
193
221
  rdoc_options: []
194
222
  require_paths:
@@ -204,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
204
232
  - !ruby/object:Gem::Version
205
233
  version: '0'
206
234
  requirements: []
207
- rubygems_version: 3.1.4
235
+ rubygems_version: 3.1.6
208
236
  signing_key:
209
237
  specification_version: 4
210
238
  summary: REST Client instrumentation for the OpenTelemetry framework