opentelemetry-propagator-ottrace 0.20.1 → 0.21.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: 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