Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2c76890

Browse files
author
alrex
authored
rename CompositeHTTPPropagator, add deprecation notice (open-telemetry#1807)
1 parent db0a0c8 commit 2c76890

File tree

7 files changed

+28
-18
lines changed

7 files changed

+28
-18
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
1313
### Changed
1414
- Fixed OTLP gRPC exporter silently failing if scheme is not specified in endpoint.
1515
([#1806](https://github.com/open-telemetry/opentelemetry-python/pull/1806))
16+
- Rename CompositeHTTPPropagator to CompositePropagator as per specification.
17+
([#1807](https://github.com/open-telemetry/opentelemetry-python/pull/1807))
1618

1719
### Removed
1820
- Moved `opentelemetry-instrumentation` to contrib repository.

docs/examples/datadog_exporter/server.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
)
2222
from opentelemetry.exporter.datadog.propagator import DatadogFormat
2323
from opentelemetry.propagate import get_global_textmap, set_global_textmap
24-
from opentelemetry.propagators.composite import CompositeHTTPPropagator
24+
from opentelemetry.propagators.composite import CompositePropagator
2525
from opentelemetry.sdk.trace import TracerProvider
2626

2727
app = Flask(__name__)
@@ -38,13 +38,11 @@
3838

3939
# append Datadog format for propagation to and from Datadog instrumented services
4040
global_textmap = get_global_textmap()
41-
if isinstance(global_textmap, CompositeHTTPPropagator) and not any(
41+
if isinstance(global_textmap, CompositePropagator) and not any(
4242
isinstance(p, DatadogFormat) for p in global_textmap._propagators
4343
):
4444
set_global_textmap(
45-
CompositeHTTPPropagator(
46-
global_textmap._propagators + [DatadogFormat()]
47-
)
45+
CompositePropagator(global_textmap._propagators + [DatadogFormat()])
4846
)
4947
else:
5048
set_global_textmap(DatadogFormat())

opentelemetry-api/setup.cfg

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ packages=find_namespace:
4242
zip_safe = False
4343
include_package_data = True
4444
install_requires =
45+
Deprecated >= 1.2.6
4546
aiocontextvars; python_version<'3.7'
4647

4748
[options.packages.find]

opentelemetry-api/src/opentelemetry/propagate/__init__.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@
1616
API for propagation of context.
1717
1818
The propagators for the
19-
``opentelemetry.propagators.composite.CompositeHTTPPropagator`` can be defined
19+
``opentelemetry.propagators.composite.CompositePropagator`` can be defined
2020
via configuration in the ``OTEL_PROPAGATORS`` environment variable. This
2121
variable should be set to a comma-separated string of names of values for the
2222
``opentelemetry_propagator`` entry point. For example, setting
2323
``OTEL_PROPAGATORS`` to ``tracecontext,baggage`` (which is the default value)
2424
would instantiate
25-
``opentelemetry.propagators.composite.CompositeHTTPPropagator`` with 2
25+
``opentelemetry.propagators.composite.CompositePropagator`` with 2
2626
propagators, one of type
2727
``opentelemetry.trace.propagation.tracecontext.TraceContextTextMapPropagator``
2828
and other of type ``opentelemetry.baggage.propagation.W3CBaggagePropagator``.
@@ -142,7 +142,7 @@ def inject(
142142
logger.exception("Failed to load configured propagators")
143143
raise
144144

145-
_HTTP_TEXT_FORMAT = composite.CompositeHTTPPropagator(propagators) # type: ignore
145+
_HTTP_TEXT_FORMAT = composite.CompositePropagator(propagators) # type: ignore
146146

147147

148148
def get_global_textmap() -> textmap.TextMapPropagator:

opentelemetry-api/src/opentelemetry/propagators/composite.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,16 @@
1414
import logging
1515
import typing
1616

17+
from deprecated import deprecated
18+
1719
from opentelemetry.context.context import Context
1820
from opentelemetry.propagators import textmap
1921

2022
logger = logging.getLogger(__name__)
2123

2224

23-
class CompositeHTTPPropagator(textmap.TextMapPropagator):
24-
"""CompositeHTTPPropagator provides a mechanism for combining multiple
25+
class CompositePropagator(textmap.TextMapPropagator):
26+
"""CompositePropagator provides a mechanism for combining multiple
2527
propagators into a single one.
2628
2729
Args:
@@ -80,3 +82,10 @@ def fields(self) -> typing.Set[str]:
8082
composite_fields.add(field)
8183

8284
return composite_fields
85+
86+
87+
@deprecated(version="1.2.0", reason="You should use CompositePropagator") # type: ignore
88+
class CompositeHTTPPropagator(CompositePropagator):
89+
"""CompositeHTTPPropagator provides a mechanism for combining multiple
90+
propagators into a single one.
91+
"""

opentelemetry-api/tests/propagators/test_composite.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import unittest
1818
from unittest.mock import Mock
1919

20-
from opentelemetry.propagators.composite import CompositeHTTPPropagator
20+
from opentelemetry.propagators.composite import CompositePropagator
2121

2222

2323
def get_as_list(dict_object, key):
@@ -67,7 +67,7 @@ def setUpClass(cls):
6767
)
6868

6969
def test_no_propagators(self):
70-
propagator = CompositeHTTPPropagator([])
70+
propagator = CompositePropagator([])
7171
new_carrier = {}
7272
propagator.inject(new_carrier)
7373
self.assertEqual(new_carrier, {})
@@ -78,7 +78,7 @@ def test_no_propagators(self):
7878
self.assertEqual(context, {})
7979

8080
def test_single_propagator(self):
81-
propagator = CompositeHTTPPropagator([self.mock_propagator_0])
81+
propagator = CompositePropagator([self.mock_propagator_0])
8282

8383
new_carrier = {}
8484
propagator.inject(new_carrier)
@@ -90,7 +90,7 @@ def test_single_propagator(self):
9090
self.assertEqual(context, {"mock-0": "context"})
9191

9292
def test_multiple_propagators(self):
93-
propagator = CompositeHTTPPropagator(
93+
propagator = CompositePropagator(
9494
[self.mock_propagator_0, self.mock_propagator_1]
9595
)
9696

@@ -106,7 +106,7 @@ def test_multiple_propagators(self):
106106
def test_multiple_propagators_same_key(self):
107107
# test that when multiple propagators extract/inject the same
108108
# key, the later propagator values are extracted/injected
109-
propagator = CompositeHTTPPropagator(
109+
propagator = CompositePropagator(
110110
[self.mock_propagator_0, self.mock_propagator_2]
111111
)
112112

@@ -120,7 +120,7 @@ def test_multiple_propagators_same_key(self):
120120
self.assertEqual(context, {"mock-0": "context2"})
121121

122122
def test_fields(self):
123-
propagator = CompositeHTTPPropagator(
123+
propagator = CompositePropagator(
124124
[
125125
self.mock_propagator_0,
126126
self.mock_propagator_1,

opentelemetry-api/tests/propagators/test_propagators.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727

2828

2929
class TestPropagators(TestCase):
30-
@patch("opentelemetry.propagators.composite.CompositeHTTPPropagator")
30+
@patch("opentelemetry.propagators.composite.CompositePropagator")
3131
def test_default_composite_propagators(self, mock_compositehttppropagator):
3232
def test_propagators(propagators):
3333

@@ -48,7 +48,7 @@ def test_propagators(propagators):
4848
reload(opentelemetry.propagate)
4949

5050
@patch.dict(environ, {OTEL_PROPAGATORS: "a,b,c"})
51-
@patch("opentelemetry.propagators.composite.CompositeHTTPPropagator")
51+
@patch("opentelemetry.propagators.composite.CompositePropagator")
5252
@patch("pkg_resources.iter_entry_points")
5353
def test_non_default_propagators(
5454
self, mock_iter_entry_points, mock_compositehttppropagator

0 commit comments

Comments
 (0)