From 100ecfeb08c1bd27b69d0706060b3cd89fb24f11 Mon Sep 17 00:00:00 2001 From: Alan Isaac Date: Sat, 28 May 2022 20:32:14 -0400 Subject: [PATCH] updated type hints for getters and setters (#1106) --- .github/workflows/test.yml | 2 +- CHANGELOG.md | 2 ++ .../src/opentelemetry/exporter/datadog/propagator.py | 4 ++-- .../src/opentelemetry/instrumentation/asgi/__init__.py | 4 ++-- .../src/opentelemetry/instrumentation/boto3sqs/__init__.py | 4 ++-- .../src/opentelemetry/instrumentation/kafka/utils.py | 4 ++-- .../src/opentelemetry/instrumentation/pika/utils.py | 2 +- .../src/opentelemetry/instrumentation/wsgi/__init__.py | 2 +- .../src/opentelemetry/propagators/aws/aws_xray_propagator.py | 4 ++-- .../src/opentelemetry/propagators/ot_trace/__init__.py | 4 ++-- 10 files changed, 17 insertions(+), 15 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 97db8312c..562b47bc5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -6,7 +6,7 @@ on: - 'release/*' pull_request: env: - CORE_REPO_SHA: e4494ea9cdd420390a36f6e6bbd9f15cd29873e9 + CORE_REPO_SHA: cad776a2031c84fb3c3a1af90ee2a939f3394b9a jobs: build: diff --git a/CHANGELOG.md b/CHANGELOG.md index 7e6646774..c4b9d1705 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - `opentelemetry-instrumentation-grpc` narrow protobuf dependency to exclude protobuf >= 4 ([1109](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1109)) +- cleanup type hints for textmap `Getter` and `Setter` classes + ([1106](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1106)) ## [1.12.0rc1-0.31b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v1.12.0rc1-0.31b0) - 2022-05-17 diff --git a/exporter/opentelemetry-exporter-datadog/src/opentelemetry/exporter/datadog/propagator.py b/exporter/opentelemetry-exporter-datadog/src/opentelemetry/exporter/datadog/propagator.py index 7c22827e0..a6b19d15f 100644 --- a/exporter/opentelemetry-exporter-datadog/src/opentelemetry/exporter/datadog/propagator.py +++ b/exporter/opentelemetry-exporter-datadog/src/opentelemetry/exporter/datadog/propagator.py @@ -40,7 +40,7 @@ class DatadogFormat(TextMapPropagator): self, carrier: CarrierT, context: typing.Optional[Context] = None, - getter: Getter = default_getter, + getter: Getter[CarrierT] = default_getter, ) -> Context: if context is None: context = Context() @@ -88,7 +88,7 @@ class DatadogFormat(TextMapPropagator): self, carrier: CarrierT, context: typing.Optional[Context] = None, - setter: Setter = default_setter, + setter: Setter[CarrierT] = default_setter, ) -> None: span = get_current_span(context) span_context = span.get_span_context() diff --git a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py index 34ebe9d45..d2e42450a 100644 --- a/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-asgi/src/opentelemetry/instrumentation/asgi/__init__.py @@ -180,7 +180,7 @@ _ClientRequestHookT = typing.Optional[typing.Callable[[Span, dict], None]] _ClientResponseHookT = typing.Optional[typing.Callable[[Span, dict], None]] -class ASGIGetter(Getter): +class ASGIGetter(Getter[dict]): def get( self, carrier: dict, key: str ) -> typing.Optional[typing.List[str]]: @@ -216,7 +216,7 @@ class ASGIGetter(Getter): asgi_getter = ASGIGetter() -class ASGISetter(Setter): +class ASGISetter(Setter[dict]): def set( self, carrier: dict, key: str, value: str ) -> None: # pylint: disable=no-self-use diff --git a/instrumentation/opentelemetry-instrumentation-boto3sqs/src/opentelemetry/instrumentation/boto3sqs/__init__.py b/instrumentation/opentelemetry-instrumentation-boto3sqs/src/opentelemetry/instrumentation/boto3sqs/__init__.py index 49909088b..fa3081635 100644 --- a/instrumentation/opentelemetry-instrumentation-boto3sqs/src/opentelemetry/instrumentation/boto3sqs/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-boto3sqs/src/opentelemetry/instrumentation/boto3sqs/__init__.py @@ -59,7 +59,7 @@ _OPENTELEMETRY_ATTRIBUTE_IDENTIFIER: str = "otel." _OTEL_IDENTIFIER_LENGTH = len(_OPENTELEMETRY_ATTRIBUTE_IDENTIFIER) -class Boto3SQSGetter(Getter): +class Boto3SQSGetter(Getter[CarrierT]): def get(self, carrier: CarrierT, key: str) -> Optional[List[str]]: value = carrier.get(f"{_OPENTELEMETRY_ATTRIBUTE_IDENTIFIER}{key}", {}) if not value: @@ -75,7 +75,7 @@ class Boto3SQSGetter(Getter): ] -class Boto3SQSSetter(Setter): +class Boto3SQSSetter(Setter[CarrierT]): def set(self, carrier: CarrierT, key: str, value: str) -> None: # This is a limitation defined by AWS for SQS MessageAttributes size if len(carrier.items()) < 10: diff --git a/instrumentation/opentelemetry-instrumentation-kafka-python/src/opentelemetry/instrumentation/kafka/utils.py b/instrumentation/opentelemetry-instrumentation-kafka-python/src/opentelemetry/instrumentation/kafka/utils.py index ef5586910..52344ceaf 100644 --- a/instrumentation/opentelemetry-instrumentation-kafka-python/src/opentelemetry/instrumentation/kafka/utils.py +++ b/instrumentation/opentelemetry-instrumentation-kafka-python/src/opentelemetry/instrumentation/kafka/utils.py @@ -91,7 +91,7 @@ ProduceHookT = Optional[Callable[[Span, List, Dict], None]] ConsumeHookT = Optional[Callable[[Span, ABCRecord, List, Dict], None]] -class KafkaContextGetter(textmap.Getter): +class KafkaContextGetter(textmap.Getter[textmap.CarrierT]): def get(self, carrier: textmap.CarrierT, key: str) -> Optional[List[str]]: if carrier is None: return None @@ -108,7 +108,7 @@ class KafkaContextGetter(textmap.Getter): return [key for (key, value) in carrier] -class KafkaContextSetter(textmap.Setter): +class KafkaContextSetter(textmap.Setter[textmap.CarrierT]): def set(self, carrier: textmap.CarrierT, key: str, value: str) -> None: if carrier is None or key is None: return diff --git a/instrumentation/opentelemetry-instrumentation-pika/src/opentelemetry/instrumentation/pika/utils.py b/instrumentation/opentelemetry-instrumentation-pika/src/opentelemetry/instrumentation/pika/utils.py index cc6f68961..e9f819f2d 100644 --- a/instrumentation/opentelemetry-instrumentation-pika/src/opentelemetry/instrumentation/pika/utils.py +++ b/instrumentation/opentelemetry-instrumentation-pika/src/opentelemetry/instrumentation/pika/utils.py @@ -17,7 +17,7 @@ from opentelemetry.trace.span import Span _LOG = getLogger(__name__) -class _PikaGetter(Getter): # type: ignore +class _PikaGetter(Getter[CarrierT]): # type: ignore def get(self, carrier: CarrierT, key: str) -> Optional[List[str]]: value = carrier.get(key, None) if value is None: diff --git a/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/__init__.py b/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/__init__.py index 7ed89c7c7..4f6421789 100644 --- a/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-wsgi/src/opentelemetry/instrumentation/wsgi/__init__.py @@ -182,7 +182,7 @@ _CARRIER_KEY_PREFIX = "HTTP_" _CARRIER_KEY_PREFIX_LEN = len(_CARRIER_KEY_PREFIX) -class WSGIGetter(Getter): +class WSGIGetter(Getter[dict]): def get( self, carrier: dict, key: str ) -> typing.Optional[typing.List[str]]: diff --git a/propagator/opentelemetry-propagator-aws-xray/src/opentelemetry/propagators/aws/aws_xray_propagator.py b/propagator/opentelemetry-propagator-aws-xray/src/opentelemetry/propagators/aws/aws_xray_propagator.py index bd2ba95c7..4e4a6872e 100644 --- a/propagator/opentelemetry-propagator-aws-xray/src/opentelemetry/propagators/aws/aws_xray_propagator.py +++ b/propagator/opentelemetry-propagator-aws-xray/src/opentelemetry/propagators/aws/aws_xray_propagator.py @@ -113,7 +113,7 @@ class AwsXRayPropagator(TextMapPropagator): self, carrier: CarrierT, context: typing.Optional[Context] = None, - getter: Getter = default_getter, + getter: Getter[CarrierT] = default_getter, ) -> Context: if context is None: context = Context() @@ -275,7 +275,7 @@ class AwsXRayPropagator(TextMapPropagator): self, carrier: CarrierT, context: typing.Optional[Context] = None, - setter: Setter = default_setter, + setter: Setter[CarrierT] = default_setter, ) -> None: span = trace.get_current_span(context=context) diff --git a/propagator/opentelemetry-propagator-ot-trace/src/opentelemetry/propagators/ot_trace/__init__.py b/propagator/opentelemetry-propagator-ot-trace/src/opentelemetry/propagators/ot_trace/__init__.py index ea47ae3f5..44c00e19e 100644 --- a/propagator/opentelemetry-propagator-ot-trace/src/opentelemetry/propagators/ot_trace/__init__.py +++ b/propagator/opentelemetry-propagator-ot-trace/src/opentelemetry/propagators/ot_trace/__init__.py @@ -53,7 +53,7 @@ class OTTracePropagator(TextMapPropagator): self, carrier: CarrierT, context: Optional[Context] = None, - getter: Getter = default_getter, + getter: Getter[CarrierT] = default_getter, ) -> Context: if context is None: context = Context() @@ -112,7 +112,7 @@ class OTTracePropagator(TextMapPropagator): self, carrier: CarrierT, context: Optional[Context] = None, - setter: Setter = default_setter, + setter: Setter[CarrierT] = default_setter, ) -> None: span_context = get_current_span(context).get_span_context()