Skip to content

Commit 8e7111a

Browse files
authored
Merge branch 'main' into config-metrics
2 parents 458a83c + 1dd1855 commit 8e7111a

File tree

11 files changed

+37
-31
lines changed

11 files changed

+37
-31
lines changed

CHANGELOG.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased](https://github.com/open-telemetry/opentelemetry-python/compare/v1.12.0rc1-0.31b0...HEAD)
99

10+
- Fix type hints for textmap `Getter` and `Setter`
11+
([#2657](https://github.com/open-telemetry/opentelemetry-python/pull/2657))
1012
- Fix LogEmitterProvider.force_flush hanging randomly
1113
([#2714](https://github.com/open-telemetry/opentelemetry-python/pull/2714))
1214
- narrow protobuf dependencies to exclude protobuf >= 4
1315
([#2720](https://github.com/open-telemetry/opentelemetry-python/pull/2720))
16+
- Loosen dependency on `backoff` for newer Python versions
17+
([#2726](https://github.com/open-telemetry/opentelemetry-python/pull/2726))
18+
- fix: frozenset object has no attribute items
19+
([#2727](https://github.com/open-telemetry/opentelemetry-python/pull/2727))
1420

1521
## [1.12.0rc1-0.31b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.12.0rc1-0.31b0) - 2022-05-17
1622

17-
18-
1923
- Fix LoggingHandler to handle LogRecord with exc_info=False
2024
([#2690](https://github.com/open-telemetry/opentelemetry-python/pull/2690))
2125
- Make metrics components public

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
---
33
<p align="center">
44
<strong>
5-
<a href="https://opentelemetry-python.readthedocs.io/en/stable/getting-started.html">Getting Started<a/>
5+
<a href="https://opentelemetry.io/docs/instrumentation/python/getting-started/">Getting Started<a/>
66
&nbsp;&nbsp;&bull;&nbsp;&nbsp;
77
<a href="https://opentelemetry-python.readthedocs.io/">API Documentation<a/>
88
&nbsp;&nbsp;&bull;&nbsp;&nbsp;

exporter/opentelemetry-exporter-otlp-proto-grpc/setup.cfg

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ install_requires =
4545
opentelemetry-api ~= 1.3
4646
opentelemetry-sdk ~= 1.11
4747
opentelemetry-proto == 1.12.0rc1
48-
backoff >= 1.10.0, < 2.0.0
48+
backoff >= 1.10.0, < 2.0.0; python_version<'3.7'
49+
backoff >= 1.10.0, < 3.0.0; python_version>='3.7'
4950

5051
[options.extras_require]
5152
test =

exporter/opentelemetry-exporter-otlp-proto-http/setup.cfg

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,8 @@ install_requires =
4545
opentelemetry-api ~= 1.3
4646
opentelemetry-sdk ~= 1.11
4747
opentelemetry-proto == 1.12.0rc1
48-
backoff >= 1.10.0, < 2.0.0
48+
backoff >= 1.10.0, < 2.0.0; python_version<'3.7'
49+
backoff >= 1.10.0, < 3.0.0; python_version>='3.7'
4950

5051
[options.extras_require]
5152
test =

opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ def extract(
3838
self,
3939
carrier: textmap.CarrierT,
4040
context: Optional[Context] = None,
41-
getter: textmap.Getter = textmap.default_getter,
41+
getter: textmap.Getter[textmap.CarrierT] = textmap.default_getter,
4242
) -> Context:
4343
"""Extract Baggage from the carrier.
4444
@@ -109,7 +109,7 @@ def inject(
109109
self,
110110
carrier: textmap.CarrierT,
111111
context: Optional[Context] = None,
112-
setter: textmap.Setter = textmap.default_setter,
112+
setter: textmap.Setter[textmap.CarrierT] = textmap.default_setter,
113113
) -> None:
114114
"""Injects Baggage into the carrier.
115115

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def example_route():
8484
def extract(
8585
carrier: textmap.CarrierT,
8686
context: typing.Optional[Context] = None,
87-
getter: textmap.Getter = textmap.default_getter,
87+
getter: textmap.Getter[textmap.CarrierT] = textmap.default_getter,
8888
) -> Context:
8989
"""Uses the configured propagator to extract a Context from the carrier.
9090
@@ -105,7 +105,7 @@ def extract(
105105
def inject(
106106
carrier: textmap.CarrierT,
107107
context: typing.Optional[Context] = None,
108-
setter: textmap.Setter = textmap.default_setter,
108+
setter: textmap.Setter[textmap.CarrierT] = textmap.default_setter,
109109
) -> None:
110110
"""Uses the configured propagator to inject a Context into the carrier.
111111

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def extract(
3939
self,
4040
carrier: textmap.CarrierT,
4141
context: typing.Optional[Context] = None,
42-
getter: textmap.Getter = textmap.default_getter,
42+
getter: textmap.Getter[textmap.CarrierT] = textmap.default_getter,
4343
) -> Context:
4444
"""Run each of the configured propagators with the given context and carrier.
4545
Propagators are run in the order they are configured, if multiple
@@ -56,7 +56,7 @@ def inject(
5656
self,
5757
carrier: textmap.CarrierT,
5858
context: typing.Optional[Context] = None,
59-
setter: textmap.Setter = textmap.default_setter,
59+
setter: textmap.Setter[textmap.CarrierT] = textmap.default_setter,
6060
) -> None:
6161
"""Run each of the configured propagators with the given context and carrier.
6262
Propagators are run in the order they are configured, if multiple

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

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
CarrierValT = typing.Union[typing.List[str], str]
2222

2323

24-
class Getter(abc.ABC):
24+
class Getter(abc.ABC, typing.Generic[CarrierT]):
2525
"""This class implements a Getter that enables extracting propagated
2626
fields from a carrier.
2727
"""
@@ -54,7 +54,7 @@ def keys(self, carrier: CarrierT) -> typing.List[str]:
5454
"""
5555

5656

57-
class Setter(abc.ABC):
57+
class Setter(abc.ABC, typing.Generic[CarrierT]):
5858
"""This class implements a Setter that enables injecting propagated
5959
fields into a carrier.
6060
"""
@@ -71,8 +71,8 @@ def set(self, carrier: CarrierT, key: str, value: str) -> None:
7171
"""
7272

7373

74-
class DefaultGetter(Getter):
75-
def get( # type: ignore
74+
class DefaultGetter(Getter[typing.Mapping[str, CarrierValT]]):
75+
def get(
7676
self, carrier: typing.Mapping[str, CarrierValT], key: str
7777
) -> typing.Optional[typing.List[str]]:
7878
"""Getter implementation to retrieve a value from a dictionary.
@@ -90,18 +90,18 @@ def get( # type: ignore
9090
return list(val)
9191
return [val]
9292

93-
def keys( # type: ignore
94-
self, carrier: typing.Dict[str, CarrierValT]
93+
def keys(
94+
self, carrier: typing.Mapping[str, CarrierValT]
9595
) -> typing.List[str]:
9696
"""Keys implementation that returns all keys from a dictionary."""
9797
return list(carrier.keys())
9898

9999

100-
default_getter = DefaultGetter()
100+
default_getter: Getter[CarrierT] = DefaultGetter() # type: ignore
101101

102102

103-
class DefaultSetter(Setter):
104-
def set( # type: ignore
103+
class DefaultSetter(Setter[typing.MutableMapping[str, CarrierValT]]):
104+
def set(
105105
self,
106106
carrier: typing.MutableMapping[str, CarrierValT],
107107
key: str,
@@ -117,7 +117,7 @@ def set( # type: ignore
117117
carrier[key] = value
118118

119119

120-
default_setter = DefaultSetter()
120+
default_setter: Setter[CarrierT] = DefaultSetter() # type: ignore
121121

122122

123123
class TextMapPropagator(abc.ABC):
@@ -134,7 +134,7 @@ def extract(
134134
self,
135135
carrier: CarrierT,
136136
context: typing.Optional[Context] = None,
137-
getter: Getter = default_getter,
137+
getter: Getter[CarrierT] = default_getter,
138138
) -> Context:
139139
"""Create a Context from values in the carrier.
140140
@@ -162,7 +162,7 @@ def inject(
162162
self,
163163
carrier: CarrierT,
164164
context: typing.Optional[Context] = None,
165-
setter: Setter = default_setter,
165+
setter: Setter[CarrierT] = default_setter,
166166
) -> None:
167167
"""Inject values from a Context into a carrier.
168168

opentelemetry-api/src/opentelemetry/trace/propagation/tracecontext.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def extract(
3737
self,
3838
carrier: textmap.CarrierT,
3939
context: typing.Optional[Context] = None,
40-
getter: textmap.Getter = textmap.default_getter,
40+
getter: textmap.Getter[textmap.CarrierT] = textmap.default_getter,
4141
) -> Context:
4242
"""Extracts SpanContext from the carrier.
4343
@@ -90,7 +90,7 @@ def inject(
9090
self,
9191
carrier: textmap.CarrierT,
9292
context: typing.Optional[Context] = None,
93-
setter: textmap.Setter = textmap.default_setter,
93+
setter: textmap.Setter[textmap.CarrierT] = textmap.default_setter,
9494
) -> None:
9595
"""Injects SpanContext into the carrier.
9696

opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -95,11 +95,11 @@ def consume_measurement(self, measurement: Measurement) -> None:
9595
else:
9696
attributes = {}
9797

98-
attributes = frozenset(attributes.items())
98+
aggr_key = frozenset(attributes.items())
9999

100-
if attributes not in self._attributes_aggregation:
100+
if aggr_key not in self._attributes_aggregation:
101101
with self._lock:
102-
if attributes not in self._attributes_aggregation:
102+
if aggr_key not in self._attributes_aggregation:
103103
if not isinstance(
104104
self._view._aggregation, DefaultAggregation
105105
):
@@ -118,9 +118,9 @@ def consume_measurement(self, measurement: Measurement) -> None:
118118
attributes,
119119
self._start_time_unix_nano,
120120
)
121-
self._attributes_aggregation[attributes] = aggregation
121+
self._attributes_aggregation[aggr_key] = aggregation
122122

123-
self._attributes_aggregation[attributes].aggregate(measurement)
123+
self._attributes_aggregation[aggr_key].aggregate(measurement)
124124

125125
def collect(
126126
self,

0 commit comments

Comments
 (0)