opentelemetry-api 0.13.0 → 1.0.0.rc1
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 +40 -0
- data/README.md +2 -2
- data/lib/opentelemetry.rb +24 -20
- data/lib/opentelemetry/baggage.rb +4 -1
- data/lib/opentelemetry/baggage/builder.rb +30 -4
- data/lib/opentelemetry/baggage/entry.rb +20 -0
- data/lib/opentelemetry/baggage/manager.rb +76 -13
- data/lib/opentelemetry/baggage/noop_builder.rb +18 -0
- data/lib/opentelemetry/baggage/noop_manager.rb +45 -0
- data/lib/opentelemetry/baggage/propagation.rb +9 -38
- data/lib/opentelemetry/baggage/propagation/text_map_propagator.rb +109 -0
- data/lib/opentelemetry/context/propagation.rb +62 -7
- data/lib/opentelemetry/context/propagation/composite_text_map_propagator.rb +105 -0
- data/lib/opentelemetry/context/propagation/noop_text_map_propagator.rb +51 -0
- data/lib/opentelemetry/context/propagation/rack_env_getter.rb +48 -0
- data/lib/opentelemetry/context/propagation/text_map_getter.rb +27 -0
- data/lib/opentelemetry/context/propagation/text_map_propagator.rb +71 -0
- data/lib/opentelemetry/context/propagation/text_map_setter.rb +21 -0
- data/lib/opentelemetry/internal.rb +17 -0
- data/lib/opentelemetry/internal/proxy_tracer.rb +38 -0
- data/lib/opentelemetry/internal/proxy_tracer_provider.rb +59 -0
- data/lib/opentelemetry/trace/propagation/trace_context.rb +7 -37
- data/lib/opentelemetry/trace/propagation/trace_context/text_map_propagator.rb +73 -0
- data/lib/opentelemetry/trace/span.rb +20 -0
- data/lib/opentelemetry/trace/tracer.rb +2 -2
- data/lib/opentelemetry/version.rb +1 -1
- metadata +21 -26
- data/lib/opentelemetry/baggage/propagation/text_map_extractor.rb +0 -60
- data/lib/opentelemetry/baggage/propagation/text_map_injector.rb +0 -55
- data/lib/opentelemetry/context/propagation/composite_propagator.rb +0 -73
- data/lib/opentelemetry/context/propagation/default_getter.rb +0 -26
- data/lib/opentelemetry/context/propagation/default_setter.rb +0 -26
- data/lib/opentelemetry/context/propagation/noop_extractor.rb +0 -26
- data/lib/opentelemetry/context/propagation/noop_injector.rb +0 -26
- data/lib/opentelemetry/context/propagation/propagation.rb +0 -27
- data/lib/opentelemetry/context/propagation/propagator.rb +0 -64
- data/lib/opentelemetry/instrumentation.rb +0 -15
- data/lib/opentelemetry/instrumentation/base.rb +0 -245
- data/lib/opentelemetry/instrumentation/registry.rb +0 -86
- data/lib/opentelemetry/metrics.rb +0 -16
- data/lib/opentelemetry/metrics/handles.rb +0 -44
- data/lib/opentelemetry/metrics/instruments.rb +0 -105
- data/lib/opentelemetry/metrics/meter.rb +0 -72
- data/lib/opentelemetry/metrics/meter_provider.rb +0 -22
- data/lib/opentelemetry/trace/propagation/trace_context/text_map_extractor.rb +0 -57
- data/lib/opentelemetry/trace/propagation/trace_context/text_map_injector.rb +0 -54
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8c72d994e97f5c64be4418b271fa7f359899afa493910af615521eb785f671c2
|
4
|
+
data.tar.gz: 11c0b57837eae216f71e63d9d462f28e41fd873b2c33d9ecffe51f15f13a8373
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b162dfbf770ef1a162fe2d6826832d1c51a8a019e5bdcc3632ed6449a832cd3c94d98a627687af22b86b7bcc23956a6e9044834c4010d7ac98a37ae33b204a3e
|
7
|
+
data.tar.gz: aca58a7e39e73ae037429a0ce55b01160d20fdedba2c184dff6c2c34e8f17d2086a963f9e294dcccddea9fe81569ab99c2f28ff0e470dfd52576c4b9e49aad61
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,45 @@
|
|
1
1
|
# Release History: opentelemetry-api
|
2
2
|
|
3
|
+
### v1.0.0.rc1 / 2021-05-21
|
4
|
+
|
5
|
+
* BREAKING CHANGE: Remove optional parent_context from in_span
|
6
|
+
|
7
|
+
* FIXED: Remove optional parent_context from in_span
|
8
|
+
|
9
|
+
### v0.17.0 / 2021-04-22
|
10
|
+
|
11
|
+
* BREAKING CHANGE: Replace TextMapInjector/TextMapExtractor pairs with a TextMapPropagator.
|
12
|
+
|
13
|
+
[Check the propagator documentation](https://open-telemetry.github.io/opentelemetry-ruby/) for the new usage.
|
14
|
+
* BREAKING CHANGE: Remove metrics API.
|
15
|
+
|
16
|
+
`OpenTelemetry::Metrics` and all of its behavior removed until spec stabilizes.
|
17
|
+
* BREAKING CHANGE: Extract instrumentation base from api (#698).
|
18
|
+
|
19
|
+
To take advantage of a base instrumentation class to create your own auto-instrumentation, require and use the `opentelemetry-instrumentation-base` gem.
|
20
|
+
|
21
|
+
* ADDED: Default noop tracer for instrumentation
|
22
|
+
* FIXED: Refactor propagators to add #fields
|
23
|
+
* FIXED: Remove metrics API
|
24
|
+
* FIXED: Dynamically upgrade global tracer provider
|
25
|
+
|
26
|
+
### v0.16.0 / 2021-03-17
|
27
|
+
|
28
|
+
* ADDED: Span#add_attributes
|
29
|
+
* FIXED: Handle rack env getter edge cases
|
30
|
+
* DOCS: Replace Gitter with GitHub Discussions
|
31
|
+
|
32
|
+
### v0.15.0 / 2021-02-18
|
33
|
+
|
34
|
+
* ADDED: Add instrumentation config validation
|
35
|
+
* DOCS: Clarify nil attribute values not allowed
|
36
|
+
|
37
|
+
### v0.14.0 / 2021-02-03
|
38
|
+
|
39
|
+
* BREAKING CHANGE: Replace getter and setter callables and remove rack specific propagators
|
40
|
+
|
41
|
+
* ADDED: Replace getter and setter callables and remove rack specific propagators
|
42
|
+
|
3
43
|
### v0.13.0 / 2021-01-29
|
4
44
|
|
5
45
|
* ADDED: Add optional attributes to record_exception
|
data/README.md
CHANGED
@@ -49,7 +49,7 @@ For additional examples, see the [examples on github][examples-github].
|
|
49
49
|
|
50
50
|
The `opentelemetry-api` gem source is [on github][repo-github], along with related gems including `opentelemetry-sdk`.
|
51
51
|
|
52
|
-
The OpenTelemetry Ruby gems are maintained by the OpenTelemetry-Ruby special interest group (SIG). You can get involved by joining us
|
52
|
+
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].
|
53
53
|
|
54
54
|
## License
|
55
55
|
|
@@ -63,4 +63,4 @@ The `opentelemetry-api` gem is distributed under the Apache 2.0 license. See [LI
|
|
63
63
|
[examples-github]: https://github.com/open-telemetry/opentelemetry-ruby/tree/main/examples
|
64
64
|
[ruby-sig]: https://github.com/open-telemetry/community#ruby-sig
|
65
65
|
[community-meetings]: https://github.com/open-telemetry/community#community-meetings
|
66
|
-
[
|
66
|
+
[discussions-url]: https://github.com/open-telemetry/opentelemetry-ruby/discussions
|
data/lib/opentelemetry.rb
CHANGED
@@ -9,9 +9,8 @@ require 'logger'
|
|
9
9
|
require 'opentelemetry/error'
|
10
10
|
require 'opentelemetry/context'
|
11
11
|
require 'opentelemetry/baggage'
|
12
|
-
require_relative './opentelemetry/instrumentation'
|
13
|
-
require 'opentelemetry/metrics'
|
14
12
|
require 'opentelemetry/trace'
|
13
|
+
require 'opentelemetry/internal'
|
15
14
|
require 'opentelemetry/version'
|
16
15
|
|
17
16
|
# OpenTelemetry is an open source observability framework, providing a
|
@@ -22,7 +21,10 @@ require 'opentelemetry/version'
|
|
22
21
|
module OpenTelemetry
|
23
22
|
extend self
|
24
23
|
|
25
|
-
|
24
|
+
@mutex = Mutex.new
|
25
|
+
@tracer_provider = Internal::ProxyTracerProvider.new
|
26
|
+
|
27
|
+
attr_writer :propagation, :baggage, :logger, :error_handler
|
26
28
|
|
27
29
|
# @return [Object, Logger] configured Logger or a default STDOUT Logger.
|
28
30
|
def logger
|
@@ -43,33 +45,35 @@ module OpenTelemetry
|
|
43
45
|
error_handler.call(exception: exception, message: message)
|
44
46
|
end
|
45
47
|
|
48
|
+
# Register the global tracer provider.
|
49
|
+
#
|
50
|
+
# @param [TracerProvider] provider A tracer provider to register as the
|
51
|
+
# global instance.
|
52
|
+
def tracer_provider=(provider)
|
53
|
+
@mutex.synchronize do
|
54
|
+
if @tracer_provider.instance_of? Internal::ProxyTracerProvider
|
55
|
+
logger.debug("Upgrading default proxy tracer provider to #{provider.class}")
|
56
|
+
@tracer_provider.delegate = provider
|
57
|
+
end
|
58
|
+
@tracer_provider = provider
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
46
62
|
# @return [Object, Trace::TracerProvider] registered tracer provider or a
|
47
63
|
# default no-op implementation of the tracer provider.
|
48
64
|
def tracer_provider
|
49
|
-
@tracer_provider
|
50
|
-
end
|
51
|
-
|
52
|
-
# @return [Object, Metrics::MeterProvider] registered meter provider or a
|
53
|
-
# default no-op implementation of the meter provider.
|
54
|
-
def meter_provider
|
55
|
-
@meter_provider ||= Metrics::MeterProvider.new
|
56
|
-
end
|
57
|
-
|
58
|
-
# @return [Instrumentation::Registry] registry containing all known
|
59
|
-
# instrumentation
|
60
|
-
def instrumentation_registry
|
61
|
-
@instrumentation_registry ||= Instrumentation::Registry.new
|
65
|
+
@mutex.synchronize { @tracer_provider }
|
62
66
|
end
|
63
67
|
|
64
|
-
# @return [Object, Baggage::
|
68
|
+
# @return [Object, Baggage::NoopManager] registered
|
65
69
|
# baggage manager or a default no-op implementation of the
|
66
70
|
# manager.
|
67
71
|
def baggage
|
68
|
-
@baggage ||= Baggage::
|
72
|
+
@baggage ||= Baggage::NoopManager.new
|
69
73
|
end
|
70
74
|
|
71
|
-
# @return [Context::Propagation::
|
75
|
+
# @return [Context::Propagation::Propagator] a propagator instance
|
72
76
|
def propagation
|
73
|
-
@propagation ||= Context::Propagation::
|
77
|
+
@propagation ||= Context::Propagation::NoopTextMapPropagator.new
|
74
78
|
end
|
75
79
|
end
|
@@ -4,9 +4,12 @@
|
|
4
4
|
#
|
5
5
|
# SPDX-License-Identifier: Apache-2.0
|
6
6
|
|
7
|
+
require 'opentelemetry/baggage/propagation'
|
7
8
|
require 'opentelemetry/baggage/builder'
|
9
|
+
require 'opentelemetry/baggage/entry'
|
8
10
|
require 'opentelemetry/baggage/manager'
|
9
|
-
require 'opentelemetry/baggage/
|
11
|
+
require 'opentelemetry/baggage/noop_builder'
|
12
|
+
require 'opentelemetry/baggage/noop_manager'
|
10
13
|
|
11
14
|
module OpenTelemetry
|
12
15
|
# The Baggage module provides functionality to record and propagate
|
@@ -6,13 +6,39 @@
|
|
6
6
|
|
7
7
|
module OpenTelemetry
|
8
8
|
module Baggage
|
9
|
-
#
|
9
|
+
# Operational implementation of Baggage::Builder
|
10
10
|
class Builder
|
11
|
-
|
11
|
+
# @api private
|
12
|
+
attr_reader :entries
|
12
13
|
|
13
|
-
|
14
|
+
# @api private
|
15
|
+
def initialize(entries)
|
16
|
+
@entries = entries
|
17
|
+
end
|
14
18
|
|
15
|
-
|
19
|
+
# Set key-value in the to-be-created baggage
|
20
|
+
#
|
21
|
+
# @param [String] key The key to store this value under
|
22
|
+
# @param [String] value String value to be stored under key
|
23
|
+
# @param [optional String] metadata This is here to store properties
|
24
|
+
# received from other W3C Baggage impelmentations but is not exposed in
|
25
|
+
# OpenTelemetry. This is condsidered private API and not for use by
|
26
|
+
# end-users.
|
27
|
+
def set_value(key, value, metadata: nil)
|
28
|
+
@entries[key] = OpenTelemetry::Baggage::Entry.new(value, metadata)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Removes key from the to-be-created baggage
|
32
|
+
#
|
33
|
+
# @param [String] key The key to remove
|
34
|
+
def remove_value(key)
|
35
|
+
@entries.delete(key)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Clears all baggage from the to-be-created baggage
|
39
|
+
def clear
|
40
|
+
@entries.clear
|
41
|
+
end
|
16
42
|
end
|
17
43
|
end
|
18
44
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright The OpenTelemetry Authors
|
4
|
+
#
|
5
|
+
# SPDX-License-Identifier: Apache-2.0
|
6
|
+
|
7
|
+
module OpenTelemetry
|
8
|
+
# OpenTelemetry Baggage Implementation
|
9
|
+
module Baggage
|
10
|
+
# Read-only representation of a baggage entry
|
11
|
+
class Entry
|
12
|
+
attr_reader :value, :metadata
|
13
|
+
|
14
|
+
def initialize(value, metadata = nil)
|
15
|
+
@value = value
|
16
|
+
@metadata = metadata
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -6,35 +6,98 @@
|
|
6
6
|
|
7
7
|
module OpenTelemetry
|
8
8
|
module Baggage
|
9
|
-
#
|
9
|
+
# Operational Baggage Manager implementation
|
10
10
|
class Manager
|
11
|
-
|
12
|
-
|
13
|
-
private_constant(:
|
11
|
+
BAGGAGE_KEY = OpenTelemetry::Baggage::Propagation::ContextKeys.baggage_key
|
12
|
+
EMPTY_BAGGAGE = {}.freeze
|
13
|
+
private_constant(:BAGGAGE_KEY, :EMPTY_BAGGAGE)
|
14
14
|
|
15
|
+
# Used to chain modifications to baggage. The result is a
|
16
|
+
# context with an updated baggage. If only a single
|
17
|
+
# modification is being made to baggage, use the other
|
18
|
+
# methods on +Manager+, if multiple modifications are being made, use
|
19
|
+
# this one.
|
20
|
+
#
|
21
|
+
# @param [optional Context] context The context to update with with new
|
22
|
+
# modified baggage. Defaults to +Context.current+
|
23
|
+
# @return [Context]
|
15
24
|
def build(context: Context.current)
|
16
|
-
|
17
|
-
|
25
|
+
builder = Builder.new(baggage_for(context).dup)
|
26
|
+
yield builder
|
27
|
+
context.set_value(BAGGAGE_KEY, builder.entries)
|
18
28
|
end
|
19
29
|
|
20
|
-
|
21
|
-
|
30
|
+
# Returns a new context with empty baggage
|
31
|
+
#
|
32
|
+
# @param [optional Context] context Context to clear baggage from. Defaults
|
33
|
+
# to +Context.current+
|
34
|
+
# @return [Context]
|
35
|
+
def clear(context: Context.current)
|
36
|
+
context.set_value(BAGGAGE_KEY, EMPTY_BAGGAGE)
|
22
37
|
end
|
23
38
|
|
39
|
+
# Returns the corresponding baggage.entry (or nil) for key
|
40
|
+
#
|
41
|
+
# @param [String] key The lookup key
|
42
|
+
# @param [optional Context] context The context from which to retrieve
|
43
|
+
# the key.
|
44
|
+
# Defaults to +Context.current+
|
45
|
+
# @return [String]
|
24
46
|
def value(key, context: Context.current)
|
25
|
-
|
47
|
+
baggage_for(context)[key]&.value
|
26
48
|
end
|
27
49
|
|
50
|
+
# Returns the baggage
|
51
|
+
#
|
52
|
+
# @param [optional Context] context The context from which to retrieve
|
53
|
+
# the baggage.
|
54
|
+
# Defaults to +Context.current+
|
55
|
+
# @return [Hash]
|
28
56
|
def values(context: Context.current)
|
29
|
-
|
57
|
+
baggage_for(context).transform_values(&:value)
|
58
|
+
end
|
59
|
+
|
60
|
+
# @api private
|
61
|
+
def raw_entries(context: Context.current)
|
62
|
+
baggage_for(context).dup.freeze
|
63
|
+
end
|
64
|
+
|
65
|
+
# Returns a new context with new key-value pair
|
66
|
+
#
|
67
|
+
# @param [String] key The key to store this value under
|
68
|
+
# @param [String] value String value to be stored under key
|
69
|
+
# @param [optional String] metadata This is here to store properties
|
70
|
+
# received from other W3C Baggage impelmentations but is not exposed in
|
71
|
+
# OpenTelemetry. This is condsidered private API and not for use by
|
72
|
+
# end-users.
|
73
|
+
# @param [optional Context] context The context to update with new
|
74
|
+
# value. Defaults to +Context.current+
|
75
|
+
# @return [Context]
|
76
|
+
def set_value(key, value, metadata: nil, context: Context.current)
|
77
|
+
new_baggage = baggage_for(context).dup
|
78
|
+
new_baggage[key] = Entry.new(value, metadata)
|
79
|
+
context.set_value(BAGGAGE_KEY, new_baggage)
|
30
80
|
end
|
31
81
|
|
82
|
+
# Returns a new context with value at key removed
|
83
|
+
#
|
84
|
+
# @param [String] key The key to remove
|
85
|
+
# @param [optional Context] context The context to remove baggage
|
86
|
+
# from. Defaults to +Context.current+
|
87
|
+
# @return [Context]
|
32
88
|
def remove_value(key, context: Context.current)
|
33
|
-
context
|
89
|
+
baggage = baggage_for(context)
|
90
|
+
return context unless baggage.key?(key)
|
91
|
+
|
92
|
+
new_baggage = baggage.dup
|
93
|
+
new_baggage.delete(key)
|
94
|
+
context.set_value(BAGGAGE_KEY, new_baggage)
|
34
95
|
end
|
35
96
|
|
36
|
-
|
37
|
-
|
97
|
+
private
|
98
|
+
|
99
|
+
def baggage_for(context)
|
100
|
+
context.value(BAGGAGE_KEY) || EMPTY_BAGGAGE
|
38
101
|
end
|
39
102
|
end
|
40
103
|
end
|
@@ -0,0 +1,18 @@
|
|
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 Baggage
|
9
|
+
# No op implementation of Baggage::Builder
|
10
|
+
class NoopBuilder
|
11
|
+
def set_value(key, value, metadata: nil); end
|
12
|
+
|
13
|
+
def remove_value(key); end
|
14
|
+
|
15
|
+
def clear; end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,45 @@
|
|
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 Baggage
|
9
|
+
# No op implementation of Baggage::Manager
|
10
|
+
class NoopManager
|
11
|
+
NOOP_BUILDER = NoopBuilder.new
|
12
|
+
EMPTY_HASH = {}.freeze
|
13
|
+
private_constant(:NOOP_BUILDER, :EMPTY_HASH)
|
14
|
+
|
15
|
+
def build(context: Context.current)
|
16
|
+
yield NOOP_BUILDER
|
17
|
+
context
|
18
|
+
end
|
19
|
+
|
20
|
+
def set_value(key, value, metadata: nil, context: Context.current)
|
21
|
+
context
|
22
|
+
end
|
23
|
+
|
24
|
+
def value(key, context: Context.current)
|
25
|
+
nil
|
26
|
+
end
|
27
|
+
|
28
|
+
def values(context: Context.current)
|
29
|
+
EMPTY_HASH
|
30
|
+
end
|
31
|
+
|
32
|
+
def raw_entries(context: Context.current)
|
33
|
+
EMPTY_HASH
|
34
|
+
end
|
35
|
+
|
36
|
+
def remove_value(key, context: Context.current)
|
37
|
+
context
|
38
|
+
end
|
39
|
+
|
40
|
+
def clear(context: Context.current)
|
41
|
+
context
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -5,52 +5,23 @@
|
|
5
5
|
# SPDX-License-Identifier: Apache-2.0
|
6
6
|
|
7
7
|
require 'opentelemetry/baggage/propagation/context_keys'
|
8
|
-
require 'opentelemetry/baggage/propagation/
|
9
|
-
require 'opentelemetry/baggage/propagation/text_map_extractor'
|
8
|
+
require 'opentelemetry/baggage/propagation/text_map_propagator'
|
10
9
|
|
11
10
|
module OpenTelemetry
|
12
11
|
module Baggage
|
13
|
-
# The Baggage::Propagation module contains
|
14
|
-
#
|
12
|
+
# The Baggage::Propagation module contains a text map propagator for
|
13
|
+
# sending and receiving baggage over the wire.
|
15
14
|
module Propagation
|
16
15
|
extend self
|
17
16
|
|
18
|
-
|
19
|
-
TEXT_MAP_INJECTOR = TextMapInjector.new
|
20
|
-
RACK_EXTRACTOR = TextMapExtractor.new(
|
21
|
-
baggage_key: 'HTTP_BAGGAGE'
|
22
|
-
)
|
23
|
-
RACK_INJECTOR = TextMapInjector.new(
|
24
|
-
baggage_key: 'HTTP_BAGGAGE'
|
25
|
-
)
|
17
|
+
TEXT_MAP_PROPAGATOR = TextMapPropagator.new
|
26
18
|
|
27
|
-
private_constant :
|
28
|
-
:RACK_EXTRACTOR
|
19
|
+
private_constant :TEXT_MAP_PROPAGATOR
|
29
20
|
|
30
|
-
# Returns
|
31
|
-
# format
|
32
|
-
def
|
33
|
-
|
34
|
-
end
|
35
|
-
|
36
|
-
# Returns an injector that injects context using the W3C Baggage
|
37
|
-
# format
|
38
|
-
def text_map_extractor
|
39
|
-
TEXT_MAP_EXTRACTOR
|
40
|
-
end
|
41
|
-
|
42
|
-
# Returns an extractor that extracts context using the W3C Baggage
|
43
|
-
# format with Rack normalized keys (upcased and prefixed with
|
44
|
-
# HTTP_)
|
45
|
-
def rack_injector
|
46
|
-
RACK_INJECTOR
|
47
|
-
end
|
48
|
-
|
49
|
-
# Returns an injector that injects context using the W3C Baggage
|
50
|
-
# format with Rack normalized keys (upcased and prefixed with
|
51
|
-
# HTTP_)
|
52
|
-
def rack_extractor
|
53
|
-
RACK_EXTRACTOR
|
21
|
+
# Returns a text map propagator that propagates context using the
|
22
|
+
# W3C Baggage format.
|
23
|
+
def text_map_propagator
|
24
|
+
TEXT_MAP_PROPAGATOR
|
54
25
|
end
|
55
26
|
end
|
56
27
|
end
|