opentelemetry-instrumentation-ethon 0.12.0 → 0.17.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: 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