opentelemetry-common 0.19.1 → 0.19.5
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 +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +2 -2
- data/lib/opentelemetry/common/http/client_context.rb +1 -1
- data/lib/opentelemetry/common/propagation/rack_env_getter.rb +48 -0
- data/lib/opentelemetry/common/propagation/symbol_key_getter.rb +26 -0
- data/lib/opentelemetry/common/propagation.rb +33 -0
- data/lib/opentelemetry/common/utilities.rb +11 -0
- data/lib/opentelemetry/common/version.rb +1 -1
- data/lib/opentelemetry/common.rb +1 -0
- metadata +10 -8
- data/lib/opentelemetry/common/test_helpers.rb +0 -19
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58a2d895adece2c6a96be7355362c2bc630da33eced02fad36f25ccb6f9dd543
|
4
|
+
data.tar.gz: 1db1cbe0cd4f566e7f96e475f25de913d639780a44bce94b3e40875fd813cc92
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 836efd569b9efae0067951776782942b1d378232d80f29c7c8ddb7319f1d786b06b3f08cf741eb821adc0463bb09269249d656d9db5c63be1956bb7a2d850791
|
7
|
+
data.tar.gz: b42f204f66bb84eb28302ecff3135c0dea6c462e78e6e7b5a6e7244440a8aa6818d274b933995b4fba397ef6db4b52e706198dbadf13507a5df431e0d4aa8f01
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,21 @@
|
|
1
|
+
# Release History: opentelemetry-common
|
1
2
|
|
3
|
+
### v0.19.5 / 2022-05-10
|
4
|
+
|
5
|
+
* FIXED: Common changelog
|
6
|
+
|
7
|
+
### v0.19.4 / 2022-05-08
|
8
|
+
|
9
|
+
* FIXED: Check that a variable is a string before truncating
|
10
|
+
* FIXED: Attribute length limit. only truncate strings and strings in arrays
|
11
|
+
|
12
|
+
### v0.19.3 / 2021-12-01
|
13
|
+
|
14
|
+
* FIXED: Change net attribute names to match the semantic conventions spec for http
|
15
|
+
|
16
|
+
### v0.19.2 / 2021-09-29
|
17
|
+
|
18
|
+
* (No significant changes)
|
2
19
|
|
3
20
|
### v0.19.1 / 2021-08-12
|
4
21
|
|
data/README.md
CHANGED
@@ -40,8 +40,8 @@ tracer.in_span(
|
|
40
40
|
'http.method' => req.method,
|
41
41
|
'http.scheme' => USE_SSL_TO_SCHEME[use_ssl?],
|
42
42
|
'http.target' => req.path,
|
43
|
-
'peer.
|
44
|
-
'peer.port' => @port
|
43
|
+
'net.peer.name' => @address,
|
44
|
+
'net.peer.port' => @port
|
45
45
|
),
|
46
46
|
kind: :client
|
47
47
|
) do |span|
|
@@ -11,7 +11,7 @@ module OpenTelemetry
|
|
11
11
|
module ClientContext
|
12
12
|
extend self
|
13
13
|
|
14
|
-
CURRENT_ATTRIBUTES_HASH = Context.create_key('
|
14
|
+
CURRENT_ATTRIBUTES_HASH = Context.create_key('http-client-context-attributes-hash')
|
15
15
|
|
16
16
|
private_constant :CURRENT_ATTRIBUTES_HASH
|
17
17
|
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright The OpenTelemetry Authors
|
4
|
+
#
|
5
|
+
# SPDX-License-Identifier: Apache-2.0
|
6
|
+
|
7
|
+
module OpenTelemetry
|
8
|
+
module Common
|
9
|
+
module Propagation
|
10
|
+
# The RackEnvGetter class provides a common methods for reading
|
11
|
+
# keys from a rack environment. It abstracts away the rack-normalization
|
12
|
+
# process so that keys can be looked up without having to transform them
|
13
|
+
# first. With this class you can get +traceparent+ instead of
|
14
|
+
# +HTTP_TRACEPARENT+
|
15
|
+
class RackEnvGetter
|
16
|
+
# Converts key into a rack-normalized key and reads it from the carrier.
|
17
|
+
# Useful for extract operations.
|
18
|
+
def get(carrier, key)
|
19
|
+
carrier[to_rack_key(key)] || carrier[key]
|
20
|
+
end
|
21
|
+
|
22
|
+
# Reads all keys from a carrier and converts them from the rack-normalized
|
23
|
+
# form to the original. The resulting keys will be lowercase and
|
24
|
+
# underscores will be replaced with dashes.
|
25
|
+
def keys(carrier)
|
26
|
+
carrier.keys.map(&method(:from_rack_key))
|
27
|
+
end
|
28
|
+
|
29
|
+
private
|
30
|
+
|
31
|
+
def to_rack_key(key)
|
32
|
+
ret = 'HTTP_' + key
|
33
|
+
ret.tr!('-', '_')
|
34
|
+
ret.upcase!
|
35
|
+
ret
|
36
|
+
end
|
37
|
+
|
38
|
+
def from_rack_key(key)
|
39
|
+
start = key.start_with?('HTTP_') ? 5 : 0
|
40
|
+
ret = key[start..-1]
|
41
|
+
ret.tr!('_', '-')
|
42
|
+
ret.downcase!
|
43
|
+
ret
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright The OpenTelemetry Authors
|
4
|
+
#
|
5
|
+
# SPDX-License-Identifier: Apache-2.0
|
6
|
+
|
7
|
+
module OpenTelemetry
|
8
|
+
module Common
|
9
|
+
module Propagation
|
10
|
+
# The SymbolKeyGetter class provides a common method for reading
|
11
|
+
# symbol keys from a hash.
|
12
|
+
class SymbolKeyGetter
|
13
|
+
# Converts key into a symbol and reads it from the carrier.
|
14
|
+
# Useful for extract operations.
|
15
|
+
def get(carrier, key)
|
16
|
+
carrier[key.to_sym]
|
17
|
+
end
|
18
|
+
|
19
|
+
# Reads all keys from a carrier
|
20
|
+
def keys(carrier)
|
21
|
+
carrier.keys.map(&:to_s)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright The OpenTelemetry Authors
|
4
|
+
#
|
5
|
+
# SPDX-License-Identifier: Apache-2.0
|
6
|
+
|
7
|
+
require_relative './propagation/rack_env_getter'
|
8
|
+
require_relative './propagation/symbol_key_getter'
|
9
|
+
|
10
|
+
module OpenTelemetry
|
11
|
+
module Common
|
12
|
+
# Propagation contains common helpers for context propagation.
|
13
|
+
module Propagation
|
14
|
+
extend self
|
15
|
+
|
16
|
+
RACK_ENV_GETTER = RackEnvGetter.new
|
17
|
+
SYMBOL_KEY_GETTER = SymbolKeyGetter.new
|
18
|
+
private_constant :RACK_ENV_GETTER, :SYMBOL_KEY_GETTER
|
19
|
+
|
20
|
+
# Returns a {RackEnvGetter} instance suitable for reading values from a
|
21
|
+
# Rack environment.
|
22
|
+
def rack_env_getter
|
23
|
+
RACK_ENV_GETTER
|
24
|
+
end
|
25
|
+
|
26
|
+
# Returns a {SymbolKeyGetter} instance for reading values from a
|
27
|
+
# symbol keyed hash.
|
28
|
+
def symbol_key_getter
|
29
|
+
SYMBOL_KEY_GETTER
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -72,6 +72,17 @@ module OpenTelemetry
|
|
72
72
|
string.size > size ? "#{string[0...size - 3]}..." : string
|
73
73
|
end
|
74
74
|
|
75
|
+
def truncate_attribute_value(value, limit)
|
76
|
+
case value
|
77
|
+
when Array
|
78
|
+
value.map { |x| truncate_attribute_value(x, limit) }
|
79
|
+
when String
|
80
|
+
truncate(value, limit)
|
81
|
+
else
|
82
|
+
value
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
75
86
|
def untraced
|
76
87
|
OpenTelemetry::Trace.with_span(OpenTelemetry::Trace.non_recording_span(OpenTelemetry::Trace::SpanContext.new)) { yield }
|
77
88
|
end
|
data/lib/opentelemetry/common.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opentelemetry-common
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.19.
|
4
|
+
version: 0.19.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenTelemetry Authors
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-05-10 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
|
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
|
26
|
+
version: '1.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -137,17 +137,19 @@ files:
|
|
137
137
|
- lib/opentelemetry/common.rb
|
138
138
|
- lib/opentelemetry/common/http.rb
|
139
139
|
- lib/opentelemetry/common/http/client_context.rb
|
140
|
-
- lib/opentelemetry/common/
|
140
|
+
- lib/opentelemetry/common/propagation.rb
|
141
|
+
- lib/opentelemetry/common/propagation/rack_env_getter.rb
|
142
|
+
- lib/opentelemetry/common/propagation/symbol_key_getter.rb
|
141
143
|
- lib/opentelemetry/common/utilities.rb
|
142
144
|
- lib/opentelemetry/common/version.rb
|
143
145
|
homepage: https://github.com/open-telemetry/opentelemetry-ruby
|
144
146
|
licenses:
|
145
147
|
- Apache-2.0
|
146
148
|
metadata:
|
147
|
-
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-common/v0.19.
|
149
|
+
changelog_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-common/v0.19.5/file.CHANGELOG.html
|
148
150
|
source_code_uri: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/common
|
149
151
|
bug_tracker_uri: https://github.com/open-telemetry/opentelemetry-ruby/issues
|
150
|
-
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-common/v0.19.
|
152
|
+
documentation_uri: https://open-telemetry.github.io/opentelemetry-ruby/opentelemetry-common/v0.19.5
|
151
153
|
post_install_message:
|
152
154
|
rdoc_options: []
|
153
155
|
require_paths:
|
@@ -156,7 +158,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
156
158
|
requirements:
|
157
159
|
- - ">="
|
158
160
|
- !ruby/object:Gem::Version
|
159
|
-
version: 2.
|
161
|
+
version: 2.6.0
|
160
162
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
161
163
|
requirements:
|
162
164
|
- - ">="
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
# Copyright The OpenTelemetry Authors
|
4
|
-
#
|
5
|
-
# SPDX-License-Identifier: Apache-2.0
|
6
|
-
|
7
|
-
def with_env(new_env)
|
8
|
-
env_to_reset = ENV.select { |k, _| new_env.key?(k) }
|
9
|
-
keys_to_delete = new_env.keys - ENV.keys
|
10
|
-
new_env.each_pair { |k, v| ENV[k] = v }
|
11
|
-
yield
|
12
|
-
ensure
|
13
|
-
env_to_reset.each_pair { |k, v| ENV[k] = v }
|
14
|
-
keys_to_delete.each { |k| ENV.delete(k) }
|
15
|
-
end
|
16
|
-
|
17
|
-
def exportable_timestamp(time = Time.now)
|
18
|
-
(time.to_r * 1_000_000_000).to_i
|
19
|
-
end
|