opentelemetry-instrumentation-ethon 0.12.0 → 0.17.0

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: f9f260106bd701723be16b304577e945a77d2426748dc6718a9df7e558d94a15
4
- data.tar.gz: f82913161643702a611ba676c085aef9df3ce295acd95165119d6e5b2c37a4f4
3
+ metadata.gz: f067363bf01aa2236036af0dd9f88c10ea3e5d66229c5e986b518984538cc12f
4
+ data.tar.gz: bfce1c39d567278e6f20607a4f1329277dc5bdea01ca0bd440ec113c862a2380
5
5
  SHA512:
6
- metadata.gz: a0d03b04d4ece0d5e57871efb26891c4e6af87c107a9722bfd4943b44cb5b63f8844d83204712fce3a852f33361afc3dac1cc710428b52f4fa5b538d1c76a1fc
7
- data.tar.gz: 023a7ccd0f27fc32ed7a0af671017b09ba08a70f5b5614a2af9e9c2edad0cb52a5390a938702921846a6ff56e65e951658c4c3276c300aadd1a5c7c72c316531
6
+ metadata.gz: 9f958d51e5659bf85f05fd930599e21db7ac6acb2b8ef437a7c3f02e1d259d5d7a9bdd994a906b178be0a5ee07c275c9e1d8b03e8746ea0b18a8964e87f0ca64
7
+ data.tar.gz: ddaf1735cc2b8ade2c60441a3591538851b83b002370b37d0596b64952f545fe41fc594176b1ba7d4c60b7fd8c95a5aaa1fb800dda1372afa66b9ab9f3483816
data/CHANGELOG.md CHANGED
@@ -1,5 +1,30 @@
1
1
  # Release History: opentelemetry-instrumentation-ethon
2
2
 
3
+ ### v0.17.0 / 2021-04-22
4
+
5
+ * ADDED: Ethon instrumentation accepts peer service config attribute.
6
+ * FIXED: Refactor propagators to add #fields
7
+
8
+ ### v0.16.0 / 2021-03-17
9
+
10
+ * FIXED: Remove passwords from http.url
11
+ * FIXED: Example scripts now reference local common lib
12
+ * DOCS: Replace Gitter with GitHub Discussions
13
+
14
+ ### v0.15.0 / 2021-02-18
15
+
16
+ * (No significant changes)
17
+
18
+ ### v0.14.0 / 2021-02-03
19
+
20
+ * BREAKING CHANGE: Replace getter and setter callables and remove rack specific propagators
21
+
22
+ * ADDED: Replace getter and setter callables and remove rack specific propagators
23
+
24
+ ### v0.13.0 / 2021-01-29
25
+
26
+ * (No significant changes)
27
+
3
28
  ### v0.12.0 / 2020-12-24
4
29
 
5
30
  * (No significant changes)
data/README.md CHANGED
@@ -32,13 +32,13 @@ end
32
32
 
33
33
  ## Examples
34
34
 
35
- Example usage of faraday can be seen in the `./example/ethon.rb` file [here](https://github.com/open-telemetry/opentelemetry-ruby/blob/master/instrumentation/ethon/example/ethon.rb)
35
+ Example usage of faraday can be seen in the `./example/ethon.rb` file [here](https://github.com/open-telemetry/opentelemetry-ruby/blob/main/instrumentation/ethon/example/ethon.rb)
36
36
 
37
37
  ## How can I get involved?
38
38
 
39
39
  The `opentelemetry-instrumentation-ethon` gem source is [on github][repo-github], along with related gems including `opentelemetry-api` and `opentelemetry-sdk`.
40
40
 
41
- 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].
41
+ 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].
42
42
 
43
43
  ## License
44
44
 
@@ -48,7 +48,7 @@ The `opentelemetry-instrumentation-all` gem is distributed under the Apache 2.0
48
48
  [ethon-home]:https://github.com/typhoeus/ethon
49
49
  [bundler-home]: https://bundler.io
50
50
  [repo-github]: https://github.com/open-telemetry/opentelemetry-ruby
51
- [license-github]: https://github.com/open-telemetry/opentelemetry-ruby/blob/master/LICENSE
51
+ [license-github]: https://github.com/open-telemetry/opentelemetry-ruby/blob/main/LICENSE
52
52
  [ruby-sig]: https://github.com/open-telemetry/community#ruby-sig
53
53
  [community-meetings]: https://github.com/open-telemetry/community#community-meetings
54
- [ruby-gitter]: https://gitter.im/open-telemetry/opentelemetry-ruby
54
+ [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
@@ -19,6 +19,8 @@ module OpenTelemetry
19
19
  defined?(::Ethon::Easy)
20
20
  end
21
21
 
22
+ option :peer_service, default: nil, validate: :string
23
+
22
24
  private
23
25
 
24
26
  def require_dependencies
@@ -70,16 +70,13 @@ module OpenTelemetry
70
70
 
71
71
  @otel_span = tracer.start_span(
72
72
  HTTP_METHODS_TO_SPAN_NAMES[method],
73
- attributes: {
74
- 'http.method' => method,
75
- 'http.url' => url
76
- },
73
+ attributes: span_creation_attributes(method),
77
74
  kind: :client
78
75
  )
79
76
 
80
77
  @otel_original_headers ||= {}
81
78
  OpenTelemetry::Trace.with_span(@otel_span) do
82
- OpenTelemetry.propagation.http.inject(@otel_original_headers)
79
+ OpenTelemetry.propagation.inject(@otel_original_headers)
83
80
  end
84
81
  self.headers = @otel_original_headers
85
82
  end
@@ -90,6 +87,18 @@ module OpenTelemetry
90
87
 
91
88
  private
92
89
 
90
+ def span_creation_attributes(method)
91
+ instrumentation_attrs = {
92
+ 'http.method' => method,
93
+ 'http.url' => OpenTelemetry::Common::Utilities.cleanse_url(url)
94
+ }
95
+ config = Ethon::Instrumentation.instance.config
96
+ instrumentation_attrs['peer.service'] = config[:peer_service] if config[:peer_service]
97
+ instrumentation_attrs.merge(
98
+ OpenTelemetry::Common::HTTP::ClientContext.attributes
99
+ )
100
+ end
101
+
93
102
  def tracer
94
103
  Ethon::Instrumentation.instance.tracer
95
104
  end
@@ -7,7 +7,7 @@
7
7
  module OpenTelemetry
8
8
  module Instrumentation
9
9
  module Ethon
10
- VERSION = '0.12.0'
10
+ VERSION = '0.17.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-ethon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.12.0
4
+ version: 0.17.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: 2020-12-24 00:00:00.000000000 Z
11
+ date: 2021-04-23 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.12.0
19
+ version: 0.17.0
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.12.0
26
+ version: 0.17.0
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.17.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.17.0
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.17.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 0.17.0
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: appraisal
29
57
  requirement: !ruby/object:Gem::Requirement
@@ -172,10 +200,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
172
200
  licenses:
173
201
  - Apache-2.0
174
202
  metadata:
175
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-ethon/v0.12.0/file.CHANGELOG.html
176
- source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/master/instrumentation/ethon
203
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-ethon/v0.17.0/file.CHANGELOG.html
204
+ source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/instrumentation/ethon
177
205
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
178
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-ethon/v0.12.0
206
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-instrumentation-ethon/v0.17.0
179
207
  post_install_message:
180
208
  rdoc_options: []
181
209
  require_paths:
@@ -191,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
191
219
  - !ruby/object:Gem::Version
192
220
  version: '0'
193
221
  requirements: []
194
- rubygems_version: 3.1.4
222
+ rubygems_version: 3.1.6
195
223
  signing_key:
196
224
  specification_version: 4
197
225
  summary: Ethon instrumentation for the OpenTelemetry framework