opentelemetry-propagator-ottrace 0.19.1 → 0.20.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: 5b5cf12e061f413b78abecc045bdca50df6da9290f0a8e3122b75294f06844d8
4
- data.tar.gz: d932aab774e78dfc9a3b41952f10b074a7a3a11add0f31d5b17bbdb0690fe99f
3
+ metadata.gz: cb24c007cb6bf25c86c659217edc17329ec2aaeb4fa034b3211ee6de3444918f
4
+ data.tar.gz: 58c33687234c495ecdbca0024e7fecd11fb1093e69a361a6a56ba5bb9a6f25d7
5
5
  SHA512:
6
- metadata.gz: 93bd9f07eae87a8815d6d9fee2c28bc31099f3699c26740f62f81ff3b6e2330a293242749b6dbb5afd17bd55f74a4c414050917fcfd6ee8f568c708d99abc4b3
7
- data.tar.gz: 26db4c6a5a39cb81a872aa6ccfecc5736e59f71cd84a41d6805bb1a59dbc938e75d066254c98f4319fbf09a74d51bbdd3534c7d66e009bee79a83fa21a9e3d32
6
+ metadata.gz: 4132c33a8d43467034404e3427eaa108da849068d448112c42d1afa273eb67d213fba03af692289de2b0ba573ae75d1ff9a6c349a72f18fdb23d7528f4ce1dce
7
+ data.tar.gz: 95cc971d986ee60ca487f21d9ae0a5b2270997658a94068599574c82720ce5219cb12a440d2e3905a29613ed34f9059ffb95cbe5bd3b30e6e6a1fc9935b9f226
data/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Release History: opentelemetry-propagator-ottrace
2
2
 
3
+ ### v0.20.0 / 2022-06-09
4
+
5
+ * (No significant changes)
6
+
7
+ ### v0.19.3 / 2021-10-29
8
+
9
+ * FIXED: Add Support fo OTTrace Bit Encoded Sampled Flags
10
+
11
+ ### v0.19.2 / 2021-09-29
12
+
13
+ * (No significant changes)
14
+
3
15
  ### v0.19.1 / 2021-08-12
4
16
 
5
17
  * (No significant changes)
data/README.md CHANGED
@@ -9,9 +9,19 @@ The `opentelemetry-propagator-ottrace` gem contains injectors and extractors for
9
9
  | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | --------------------- |
10
10
  | `ot-tracer-traceid` | uint64 encoded as a string of 16 hex characters | yes |
11
11
  | `ot-tracer-spanid` | uint64 encoded as a string of 16 hex characters | yes |
12
- | `ot-tracer-sampled` | boolean encoded as a string with the values `'true'` or `'false'` | no |
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
 
15
+ ### Sampled Flag vs Bit
16
+
17
+ The `ot-tracer-sampled` header is a `boolean` encoded string however the Golang SDK incorrectly sets the `ot-tracer-sampled` header to a `bit` flag.
18
+ This and other language SDKs compensate for this by supporting both a `bit` and `boolean` encoded strings upon extraction:
19
+
20
+ - [Java](https://github.com/open-telemetry/opentelemetry-java/blob/9cea4ef1f92d3186b1bd8296e9daac4281c0f759/extensions/trace-propagators/src/main/java/io/opentelemetry/extension/trace/propagation/Common.java#L41)
21
+ - [Golang](https://github.com/open-telemetry/opentelemetry-go-contrib/blob/b72c2cd63b9a9917554cbcd709e61f5d8541eea5/propagators/ot/ot_propagator.go#L118)
22
+
23
+ This issue was [fixed](https://github.com/open-telemetry/opentelemetry-go-contrib/pull/1358) however this SDK supports both for backward compatibility with older versions of the Golang propagator.
24
+
15
25
  ### Interop and trace ids
16
26
 
17
27
  The OT trace propagation format expects trace ids to be 64-bits. In order to
@@ -56,7 +56,7 @@ module OpenTelemetry
56
56
  span_context = Trace::SpanContext.new(
57
57
  trace_id: Array(trace_id).pack('H*'),
58
58
  span_id: Array(span_id).pack('H*'),
59
- trace_flags: sampled == 'true' ? Trace::TraceFlags::SAMPLED : Trace::TraceFlags::DEFAULT,
59
+ trace_flags: as_trace_flags(sampled),
60
60
  remote: true
61
61
  )
62
62
 
@@ -89,6 +89,15 @@ module OpenTelemetry
89
89
 
90
90
  private
91
91
 
92
+ def as_trace_flags(sampled)
93
+ case sampled
94
+ when 'true', '1'
95
+ Trace::TraceFlags::SAMPLED
96
+ else
97
+ Trace::TraceFlags::DEFAULT
98
+ end
99
+ end
100
+
92
101
  def valid?(trace_id:, span_id:)
93
102
  !(VALID_TRACE_ID_REGEX !~ trace_id || VALID_SPAN_ID_REGEX !~ span_id)
94
103
  end
@@ -15,7 +15,7 @@ module OpenTelemetry
15
15
  module Propagator
16
16
  # Namespace for OpenTelemetry OTTrace propagation
17
17
  module OTTrace
18
- VERSION = '0.19.1'
18
+ VERSION = '0.20.0'
19
19
  end
20
20
  end
21
21
  end
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.19.1
4
+ version: 0.20.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: 2021-08-16 00:00:00.000000000 Z
11
+ date: 2022-06-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: opentelemetry-api
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.0.0.rc3
19
+ version: '1.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: 1.0.0.rc3
26
+ version: '1.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '5.0'
55
- - !ruby/object:Gem::Dependency
56
- name: opentelemetry-sdk
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 1.0.0.rc1
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 1.0.0.rc1
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rake
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -155,10 +141,10 @@ homepage: https://github.com/open-telemetry/opentelemetry-ruby
155
141
  licenses:
156
142
  - Apache-2.0
157
143
  metadata:
158
- changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-propagator-ottrace/v0.19.1/file.CHANGELOG.html
144
+ changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-propagator-ottrace/v0.20.0/file.CHANGELOG.html
159
145
  source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/propagator/ottrace
160
146
  bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
161
- documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-propagator-ottrace/v0.19.1
147
+ documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-propagator-ottrace/v0.20.0
162
148
  post_install_message:
163
149
  rdoc_options: []
164
150
  require_paths:
@@ -167,7 +153,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
167
153
  requirements:
168
154
  - - ">="
169
155
  - !ruby/object:Gem::Version
170
- version: 2.5.0
156
+ version: 2.6.0
171
157
  required_rubygems_version: !ruby/object:Gem::Requirement
172
158
  requirements:
173
159
  - - ">="