opentelemetry-propagator-ottrace 0.20.1 → 0.21.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: 8ea2b821506180614601f9c70e28af35c31a02e6cb013ba5e00288cda2588245
4
- data.tar.gz: ec3f467ef90cf50fbcfc6719db1975830ced4b497e043148b3d6646dc889106b
3
+ metadata.gz: 4bdb35c64afcd199cebe91228b5e34dd6687de297b8aacc22bb532dac1c79335
4
+ data.tar.gz: 8d26c2901932ed0a13d9cb38b8ba4839ae50b029f29da1eb515fe3a37e36d52f
5
5
  SHA512:
6
- metadata.gz: 5237ca2fe0f94775d7e86cc94476d16a37bd4e7d0a9717426e2fe6052287a506339df9793caf3d32b97e250f23690ad8e73894665c3189af1531cfc392df6f83
7
- data.tar.gz: f3407187e19e9340cbae8d624683f3c8171fed57c41ff805d8b52e28ea93037834cabcd91574fe0c8f21d56a6031e7250fcdc4abfa4f4a05eeb3e7f9b4fe6352
6
+ metadata.gz: 6872641769d66786a27410982a573c860efba0552561172ec142a268c87f1367a98874538c2406ead2e66265783caacef8fafd015076f3408618343411f9a0aa
7
+ data.tar.gz: acafaa2f0442fd554cdbe8661db0905ad68cd2c25d4c5ea9fab4ef94b197d381827ff444ec125dcf6f7058d345c4d3bc26fb8966592e31728a394e62430b441e
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Release History: opentelemetry-propagator-ottrace
2
2
 
3
+ ### v0.21.1 / 2023-07-19
4
+
5
+ * DOCS: Add some clarity to ottrace docs [#522](https://github.com/open-telemetry/opentelemetry-ruby-contrib/pull/522)
6
+
7
+ ### v0.21.0 / 2023-04-17
8
+
9
+ * BREAKING CHANGE: Drop support for EoL Ruby 2.7
10
+
11
+ * ADDED: Drop support for EoL Ruby 2.7
12
+ * DOCS: Update URLs to rubydocs
13
+
3
14
  ### v0.20.1 / 2023-01-14
4
15
 
5
16
  * DOCS: Fix gem homepage
@@ -37,7 +48,7 @@
37
48
 
38
49
  * BREAKING CHANGE: Replace TextMapInjector/TextMapExtractor pairs with a TextMapPropagator.
39
50
 
40
- [Check the propagator documentation](https://open-telemetry.github.io/opentelemetry-ruby/) for the new usage.
51
+ [Check the propagator documentation](https://www.rubydoc.info/gems/opentelemetry-propagator-ottrace) for the new usage.
41
52
 
42
53
  * FIXED: Refactor propagators to add #fields
43
54
 
data/README.md CHANGED
@@ -7,8 +7,8 @@ The `opentelemetry-propagator-ottrace` gem contains injectors and extractors for
7
7
 
8
8
  | Header Name | Description | Required |
9
9
  | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
10
- | `ot-tracer-traceid` | uint64 encoded as a string of 16 hex characters | yes |
11
- | `ot-tracer-spanid` | uint64 encoded as a string of 16 hex characters | yes |
10
+ | `ot-tracer-traceid` | 64-bit; 16 hex digits (extract and inject) or 128-bit; 32 hex digits (extract) | yes |
11
+ | `ot-tracer-spanid` | 64-bit; 16 hex digits | yes |
12
12
  | `ot-tracer-sampled` | boolean or bit encoded as a string with the values `'true'`,`'false'`, `'1'`, or `'0'` | no |
13
13
  | `ot-baggage-*` | repeated string to string key-value baggage items; keys are prefixed with `ot-baggage-` and the corresponding value is the raw string. | if baggage is present |
14
14
 
@@ -24,11 +24,15 @@ This issue was [fixed](https://github.com/open-telemetry/opentelemetry-go-contri
24
24
 
25
25
  ### Interop and trace ids
26
26
 
27
- The OT trace propagation format expects trace ids to be 64-bits. In order to
28
- interop with OpenTelemetry, trace ids need to be truncated to 64-bits before
29
- sending them on the wire. When truncating, the least significant (right-most)
30
- bits MUST be retained. For example, a trace id of
31
- `3c3039f4d78d5c02ee8e3e41b17ce105` would be truncated to `ee8e3e41b17ce105`.
27
+ OTTrace was changed to be interoperable with other format so it is supposed to 8 or 16 byte array values for the trace-id.
28
+
29
+ In order to do that Lightstep released a version of the OTTrace propagators in OpenTracing SDKs that left padded 64-bit headers to 128-bits using an additional 64-bit of 0s.
30
+
31
+ The reality of the world is not every application upgraded to support 16 byte array propagation format, but this propagator must still convert legacy 64-bit trace ids to match the W3C Trace Context Trace ID 16 byte array.
32
+
33
+ In addition to that it must be interoperable with legacy OTTracers, which expect 64-bit headers so this propagator truncates the value from a 128-bit to a 64-bit value before inject it into the carrier.
34
+
35
+ This propagator is compatible with 64-bit or 128-bit trace ids when extracting the parent context, however it truncates the trace ids down to 64-bit trace ids when injecting the context.
32
36
 
33
37
  ### Baggage Notes
34
38
 
@@ -18,8 +18,8 @@ module OpenTelemetry
18
18
  # Propagates context using OTTrace header format
19
19
  class TextMapPropagator
20
20
  PADDING = '0' * 16
21
- VALID_TRACE_ID_REGEX = /^[0-9a-f]{32}$/i.freeze
22
- VALID_SPAN_ID_REGEX = /^[0-9a-f]{16}$/i.freeze
21
+ VALID_TRACE_ID_REGEX = /^[0-9a-f]{32}$/i
22
+ VALID_SPAN_ID_REGEX = /^[0-9a-f]{16}$/i
23
23
  TRACE_ID_64_BIT_WIDTH = 64 / 4
24
24
  TRACE_ID_HEADER = 'ot-tracer-traceid'
25
25
  SPAN_ID_HEADER = 'ot-tracer-spanid'
@@ -28,8 +28,8 @@ module OpenTelemetry
28
28
  FIELDS = [TRACE_ID_HEADER, SPAN_ID_HEADER, SAMPLED_HEADER].freeze
29
29
 
30
30
  # https://github.com/open-telemetry/opentelemetry-specification/blob/14d123c121b6caa53bffd011292c42a181c9ca26/specification/context/api-propagators.md#textmap-propagator0
31
- VALID_BAGGAGE_HEADER_NAME_CHARS = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/.freeze
32
- INVALID_BAGGAGE_HEADER_VALUE_CHARS = /[^\t\u0020-\u007E\u0080-\u00FF]/.freeze
31
+ VALID_BAGGAGE_HEADER_NAME_CHARS = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/
32
+ INVALID_BAGGAGE_HEADER_VALUE_CHARS = /[^\t\u0020-\u007E\u0080-\u00FF]/
33
33
 
34
34
  private_constant :PADDING, :VALID_TRACE_ID_REGEX, :VALID_SPAN_ID_REGEX, :TRACE_ID_64_BIT_WIDTH, :TRACE_ID_HEADER,
35
35
  :SPAN_ID_HEADER, :SAMPLED_HEADER, :BAGGAGE_HEADER_PREFIX, :FIELDS, :VALID_BAGGAGE_HEADER_NAME_CHARS,
@@ -15,7 +15,7 @@ module OpenTelemetry
15
15
  module Propagator
16
16
  # Namespace for OpenTelemetry OTTrace propagation
17
17
  module OTTrace
18
- VERSION = '0.20.1'
18
+ VERSION = '0.21.1'
19
19
  end
20
20
  end
21
21
  end
@@ -5,4 +5,4 @@
5
5
  # SPDX-License-Identifier: Apache-2.0
6
6
 
7
7
  require 'opentelemetry-api'
8
- require_relative './opentelemetry/propagator/ottrace'
8
+ require_relative 'opentelemetry/propagator/ottrace'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opentelemetry-propagator-ottrace
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.1
4
+ version: 0.21.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: 2023-01-14 00:00:00.000000000 Z
11
+ date: 2023-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -72,28 +72,28 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: 1.41.1
75
+ version: 1.54.1
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: 1.41.1
82
+ version: 1.54.1
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: simplecov
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: 0.17.1
89
+ version: 0.22.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: 0.17.1
96
+ version: 0.22.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: yard
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -141,10 +141,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby-contrib
141
141
  licenses:
142
142
  - Apache-2.0
143
143
  metadata:
144
- changelog_uri: https://rubydoc.info/gems/opentelemetry-propagator-ottrace/0.20.1/file/CHANGELOG.md
144
+ changelog_uri: https://rubydoc.info/gems/opentelemetry-propagator-ottrace/0.21.1/file/CHANGELOG.md
145
145
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/tree/main/propagator/ottrace
146
146
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby-contrib/issues
147
- documentation_uri: https://rubydoc.info/gems/opentelemetry-propagator-ottrace/0.20.1
147
+ documentation_uri: https://rubydoc.info/gems/opentelemetry-propagator-ottrace/0.21.1
148
148
  post_install_message:
149
149
  rdoc_options: []
150
150
  require_paths:
@@ -153,14 +153,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
153
153
  requirements:
154
154
  - - ">="
155
155
  - !ruby/object:Gem::Version
156
- version: 2.6.0
156
+ version: '3.0'
157
157
  required_rubygems_version: !ruby/object:Gem::Requirement
158
158
  requirements:
159
159
  - - ">="
160
160
  - !ruby/object:Gem::Version
161
161
  version: '0'
162
162
  requirements: []
163
- rubygems_version: 3.1.6
163
+ rubygems_version: 3.2.33
164
164
  signing_key:
165
165
  specification_version: 4
166
166
  summary: OTTrace Context Propagation Extension for the OpenTelemetry framework