From 8965a97de1bc342e6ed72257709326f519dc8b1b Mon Sep 17 00:00:00 2001 From: Aaron Abbott Date: Thu, 28 Mar 2024 04:39:14 +0000 Subject: [PATCH 1/7] Migrate formatting and linting to ruff --- docs/conf.py | 4 +- docs/examples/auto-instrumentation/client.py | 1 - docs/examples/django/client.py | 1 - .../django/instrumentation_example/urls.py | 1 + docs/examples/django/manage.py | 1 + .../src/error_handler_0/__init__.py | 1 - .../src/error_handler_1/__init__.py | 1 - docs/examples/opentracing/rediscache.py | 6 +- docs/getting_started/tests/test_tracing.py | 5 +- .../opencensus/trace_exporter/__init__.py | 13 ++-- .../opentelemetry/exporter/opencensus/util.py | 2 +- .../otlp/proto/common/_internal/__init__.py | 22 +++--- .../common/_internal/_log_encoder/__init__.py | 9 ++- .../_internal/metrics_encoder/__init__.py | 63 +++++++---------- .../_internal/trace_encoder/__init__.py | 15 ++-- .../tests/test_log_encoder.py | 10 ++- .../tests/test_metrics_encoder.py | 13 ++-- .../exporter/otlp/proto/grpc/__init__.py | 1 + .../otlp/proto/grpc/_log_exporter/__init__.py | 8 +-- .../exporter/otlp/proto/grpc/exporter.py | 15 ++-- .../proto/grpc/metric_exporter/__init__.py | 25 ++++--- .../proto/grpc/trace_exporter/__init__.py | 13 ++-- .../tests/logs/test_otlp_logs_exporter.py | 12 ++-- .../tests/test_otlp_metrics_exporter.py | 10 --- .../tests/test_otlp_trace_exporter.py | 17 +++-- .../exporter/otlp/proto/http/__init__.py | 2 +- .../otlp/proto/http/_log_exporter/__init__.py | 29 ++++---- .../proto/http/metric_exporter/__init__.py | 56 ++++++++------- .../proto/http/trace_exporter/__init__.py | 23 +++--- .../http/trace_exporter/encoder/__init__.py | 20 +++--- .../metrics/test_otlp_metrics_exporter.py | 23 +++--- .../tests/test_proto_log_exporter.py | 11 ++- .../tests/test_proto_span_exporter.py | 14 ++-- .../exporter/prometheus/__init__.py | 70 ++++++++++--------- .../tests/test_prometheus_exporter.py | 2 - .../exporter/zipkin/json/v1/__init__.py | 3 +- .../exporter/zipkin/json/v2/__init__.py | 4 +- .../tests/encoder/test_v1_json.py | 1 - .../exporter/zipkin/proto/http/__init__.py | 2 +- .../exporter/zipkin/proto/http/v2/__init__.py | 3 +- .../src/opentelemetry/context/__init__.py | 1 - .../src/opentelemetry/metrics/__init__.py | 8 +-- .../metrics/_internal/__init__.py | 8 ++- .../src/opentelemetry/propagate/__init__.py | 1 - .../src/opentelemetry/trace/__init__.py | 1 - .../src/opentelemetry/trace/span.py | 1 - .../src/opentelemetry/util/_decorator.py | 3 +- .../src/opentelemetry/util/_providers.py | 2 - .../tests/logs/test_logger_provider.py | 1 - .../tests/metrics/test_instruments.py | 2 - opentelemetry-api/tests/metrics/test_meter.py | 1 - .../tests/metrics/test_meter_provider.py | 1 - .../tests/propagators/test_composite.py | 10 ++- .../tests/propagators/test_propagators.py | 3 - .../propagators/test_w3cbaggagepropagator.py | 3 - .../test_tracecontexthttptextformat.py | 1 - opentelemetry-api/tests/trace/test_globals.py | 1 - opentelemetry-api/tests/trace/test_status.py | 4 +- .../tests/util/test__importlib_metadata.py | 1 - .../tests/util/test__providers.py | 1 - opentelemetry-proto/tests/test_proto.py | 1 - .../sdk/_configuration/__init__.py | 27 ++++--- .../sdk/_logs/_internal/__init__.py | 1 - .../sdk/_logs/_internal/export/__init__.py | 8 +-- .../sdk/error_handler/__init__.py | 8 --- .../src/opentelemetry/sdk/metrics/__init__.py | 4 +- .../sdk/metrics/_internal/__init__.py | 13 ---- .../_internal/_view_instrument_match.py | 3 - .../sdk/metrics/_internal/aggregation.py | 21 +----- .../exponential_histogram/buckets.py | 4 -- .../exponential_histogram/mapping/__init__.py | 1 - .../exponential_histogram/mapping/ieee_754.py | 3 +- .../mapping/logarithm_mapping.py | 1 - .../sdk/metrics/_internal/export/__init__.py | 69 ++++++++---------- .../sdk/metrics/_internal/instrument.py | 3 - .../metrics/_internal/measurement_consumer.py | 3 - .../_internal/metric_reader_storage.py | 17 ++--- .../sdk/metrics/_internal/view.py | 2 - .../opentelemetry/sdk/resources/__init__.py | 3 +- .../src/opentelemetry/sdk/trace/__init__.py | 12 ++-- .../sdk/trace/export/__init__.py | 17 ++--- .../src/opentelemetry/sdk/trace/sampling.py | 1 + .../src/opentelemetry/sdk/util/__init__.pyi | 2 +- .../tests/error_handler/test_error_handler.py | 2 - opentelemetry-sdk/tests/logs/test_handler.py | 1 - .../tests/logs/test_multi_log_processor.py | 5 +- .../test_exponent_mapping.py | 6 -- ...xponential_bucket_histogram_aggregation.py | 19 ----- .../test_logarithm_mapping.py | 6 -- .../integration_test/test_console_exporter.py | 2 - .../metrics/integration_test/test_cpu_time.py | 6 +- ...t_explicit_bucket_histogram_aggregation.py | 10 --- .../integration_test/test_histogram_export.py | 1 - .../integration_test/test_sum_aggregation.py | 14 ---- .../tests/metrics/test_aggregation.py | 7 -- .../metrics/test_in_memory_metric_reader.py | 1 - .../metrics/test_measurement_consumer.py | 1 - .../tests/metrics/test_metric_reader.py | 2 - .../metrics/test_metric_reader_storage.py | 7 +- .../tests/metrics/test_metrics.py | 4 -- .../test_periodic_exporting_metric_reader.py | 1 - opentelemetry-sdk/tests/metrics/test_point.py | 10 --- opentelemetry-sdk/tests/metrics/test_view.py | 9 --- .../metrics/test_view_instrument_match.py | 6 +- .../tests/resources/test_resources.py | 32 ++++++--- opentelemetry-sdk/tests/test_configurator.py | 2 - .../tests/trace/export/test_export.py | 3 - .../tests/trace/test_sampling.py | 1 - opentelemetry-sdk/tests/trace/test_trace.py | 7 +- .../tests/test_semconv.py | 1 - .../tests/test_b3_format.py | 1 - .../propagators/jaeger/__init__.py | 1 - .../tests/test_jaeger_propagator.py | 13 ++-- pyproject.toml | 27 +++++++ scripts/check_for_valid_readme.py | 2 +- scripts/eachdist.py | 20 ++++-- scripts/public_symbols_checker.py | 6 +- .../opentelemetry/shim/opencensus/_patch.py | 1 - .../shim/opencensus/_shim_span.py | 14 ++-- .../shim/opencensus/_shim_tracer.py | 4 +- .../shim/opentracing_shim/__init__.py | 8 ++- .../tests/test_shim.py | 7 +- .../test_asyncio.py | 1 - .../test_threads.py | 1 - .../src/opentelemetry/test/__init__.py | 6 +- .../src/opentelemetry/test/wsgitestutil.py | 4 +- .../tests/test_utils.py | 13 ---- 127 files changed, 455 insertions(+), 650 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index 352cf927cd..fbe5165f2d 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -169,9 +169,7 @@ .. |SCM_WEB| replace:: {s} .. |SCM_RAW_WEB| replace:: {sr} .. |SCM_BRANCH| replace:: {b} -""".format( - s=scm_web, sr=scm_raw_web, b=branch -) +""".format(s=scm_web, sr=scm_raw_web, b=branch) # used to have links to repo files extlinks = { diff --git a/docs/examples/auto-instrumentation/client.py b/docs/examples/auto-instrumentation/client.py index 4f70e2b933..0320493f94 100644 --- a/docs/examples/auto-instrumentation/client.py +++ b/docs/examples/auto-instrumentation/client.py @@ -35,7 +35,6 @@ assert len(argv) == 2 with tracer.start_as_current_span("client"): - with tracer.start_as_current_span("client-server"): headers = {} inject(headers) diff --git a/docs/examples/django/client.py b/docs/examples/django/client.py index 859fe4a9da..d8d476902e 100644 --- a/docs/examples/django/client.py +++ b/docs/examples/django/client.py @@ -33,7 +33,6 @@ with tracer.start_as_current_span("client"): - with tracer.start_as_current_span("client-server"): headers = {} inject(headers) diff --git a/docs/examples/django/instrumentation_example/urls.py b/docs/examples/django/instrumentation_example/urls.py index 292467155f..fcdb2e09be 100644 --- a/docs/examples/django/instrumentation_example/urls.py +++ b/docs/examples/django/instrumentation_example/urls.py @@ -26,6 +26,7 @@ 1. Import the include() function: from django.urls import include, path 2. Add a URL to urlpatterns: path("blog/", include("blog.urls")) """ + from django.contrib import admin from django.urls import include, path diff --git a/docs/examples/django/manage.py b/docs/examples/django/manage.py index bc2d44886b..0a6f51e259 100755 --- a/docs/examples/django/manage.py +++ b/docs/examples/django/manage.py @@ -14,6 +14,7 @@ # limitations under the License. """Django"s command-line utility for administrative tasks.""" + import os import sys diff --git a/docs/examples/error_handler/error_handler_0/src/error_handler_0/__init__.py b/docs/examples/error_handler/error_handler_0/src/error_handler_0/__init__.py index 8b42b7c70e..ef3034bc6b 100644 --- a/docs/examples/error_handler/error_handler_0/src/error_handler_0/__init__.py +++ b/docs/examples/error_handler/error_handler_0/src/error_handler_0/__init__.py @@ -21,5 +21,4 @@ class ErrorHandler0(ErrorHandler, ZeroDivisionError): def _handle(self, error: Exception, *args, **kwargs): - logger.exception("ErrorHandler0 handling a ZeroDivisionError") diff --git a/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py b/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py index cc63465617..1f210a384f 100644 --- a/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py +++ b/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py @@ -22,7 +22,6 @@ # pylint: disable=too-many-ancestors class ErrorHandler1(ErrorHandler, IndexError, KeyError): def _handle(self, error: Exception, *args, **kwargs): - if isinstance(error, IndexError): logger.exception("ErrorHandler1 handling an IndexError") diff --git a/docs/examples/opentracing/rediscache.py b/docs/examples/opentracing/rediscache.py index 9d2a51aab8..14a2676c07 100644 --- a/docs/examples/opentracing/rediscache.py +++ b/docs/examples/opentracing/rediscache.py @@ -30,7 +30,6 @@ def __call__(self, func): @wraps(func) def inner(*args, **kwargs): with self.tracer.start_active_span("Caching decorator") as scope1: - # Pickle the call args to get a canonical key. Don't do this in # prod! key = pickle.dumps((func.__qualname__, args, kwargs)) @@ -39,7 +38,10 @@ def inner(*args, **kwargs): if pval is not None: val = pickle.loads(pval) scope1.span.log_kv( - {"msg": "Found cached value", "val": val} + { + "msg": "Found cached value", + "val": val, + } ) return val diff --git a/docs/getting_started/tests/test_tracing.py b/docs/getting_started/tests/test_tracing.py index 2ad571963b..680b2575d0 100644 --- a/docs/getting_started/tests/test_tracing.py +++ b/docs/getting_started/tests/test_tracing.py @@ -22,7 +22,10 @@ def test_basic_tracer(self): dirpath = os.path.dirname(os.path.realpath(__file__)) test_script = f"{dirpath}/../tracing_example.py" output = subprocess.check_output( - (sys.executable, test_script) + ( + sys.executable, + test_script, + ) ).decode() self.assertIn('"name": "foo"', output) diff --git a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py index b855728cad..95d2e98742 100644 --- a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py @@ -18,13 +18,13 @@ from typing import Sequence import grpc + +import opentelemetry.exporter.opencensus.util as utils from opencensus.proto.agent.trace.v1 import ( trace_service_pb2, trace_service_pb2_grpc, ) from opencensus.proto.trace.v1 import trace_pb2 - -import opentelemetry.exporter.opencensus.util as utils from opentelemetry import trace from opentelemetry.sdk.resources import SERVICE_NAME, Resource from opentelemetry.sdk.trace import ReadableSpan @@ -133,24 +133,23 @@ def translate_to_collector(spans: Sequence[ReadableSpan]): collector_span.parent_span_id = parent_id.to_bytes(8, "big") if span.context.trace_state is not None: - for (key, value) in span.context.trace_state.items(): + for key, value in span.context.trace_state.items(): collector_span.tracestate.entries.add(key=key, value=value) if span.attributes: - for (key, value) in span.attributes.items(): + for key, value in span.attributes.items(): utils.add_proto_attribute_value( collector_span.attributes, key, value ) if span.events: for event in span.events: - collector_annotation = trace_pb2.Span.TimeEvent.Annotation( description=trace_pb2.TruncatableString(value=event.name) ) if event.attributes: - for (key, value) in event.attributes.items(): + for key, value in event.attributes.items(): utils.add_proto_attribute_value( collector_annotation.attributes, key, value ) @@ -183,7 +182,7 @@ def translate_to_collector(spans: Sequence[ReadableSpan]): ) if link.attributes: - for (key, value) in link.attributes.items(): + for key, value in link.attributes.items(): utils.add_proto_attribute_value( collector_span_link.attributes, key, value ) diff --git a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py index 694e8dc6a1..4911a7e0dd 100644 --- a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py +++ b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py @@ -18,9 +18,9 @@ # pylint: disable=wrong-import-position from google.protobuf.timestamp_pb2 import Timestamp + from opencensus.proto.agent.common.v1 import common_pb2 from opencensus.proto.trace.v1 import trace_pb2 - from opentelemetry.exporter.opencensus.version import ( __version__ as opencensusexporter_exporter_version, ) diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py index 6593d89fd8..da297f1d55 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py @@ -18,31 +18,31 @@ from itertools import count from typing import ( Any, - Mapping, - Optional, - List, Callable, - TypeVar, Dict, Iterator, + List, + Mapping, + Optional, + TypeVar, ) -from opentelemetry.sdk.util.instrumentation import InstrumentationScope +from opentelemetry.proto.common.v1.common_pb2 import AnyValue as PB2AnyValue from opentelemetry.proto.common.v1.common_pb2 import ( - InstrumentationScope as PB2InstrumentationScope, + ArrayValue as PB2ArrayValue, ) -from opentelemetry.proto.resource.v1.resource_pb2 import ( - Resource as PB2Resource, +from opentelemetry.proto.common.v1.common_pb2 import ( + InstrumentationScope as PB2InstrumentationScope, ) -from opentelemetry.proto.common.v1.common_pb2 import AnyValue as PB2AnyValue from opentelemetry.proto.common.v1.common_pb2 import KeyValue as PB2KeyValue from opentelemetry.proto.common.v1.common_pb2 import ( KeyValueList as PB2KeyValueList, ) -from opentelemetry.proto.common.v1.common_pb2 import ( - ArrayValue as PB2ArrayValue, +from opentelemetry.proto.resource.v1.resource_pb2 import ( + Resource as PB2Resource, ) from opentelemetry.sdk.trace import Resource +from opentelemetry.sdk.util.instrumentation import InstrumentationScope from opentelemetry.util.types import Attributes _logger = logging.getLogger(__name__) diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py index c664e3ba88..d6909b4517 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/_log_encoder/__init__.py @@ -12,25 +12,24 @@ # See the License for the specific language governing permissions and # limitations under the License. from collections import defaultdict -from typing import Sequence, List +from typing import List, Sequence from opentelemetry.exporter.otlp.proto.common._internal import ( + _encode_attributes, _encode_instrumentation_scope, _encode_resource, _encode_span_id, _encode_trace_id, _encode_value, - _encode_attributes, ) from opentelemetry.proto.collector.logs.v1.logs_service_pb2 import ( ExportLogsServiceRequest, ) +from opentelemetry.proto.logs.v1.logs_pb2 import LogRecord as PB2LogRecord from opentelemetry.proto.logs.v1.logs_pb2 import ( - ScopeLogs, ResourceLogs, + ScopeLogs, ) -from opentelemetry.proto.logs.v1.logs_pb2 import LogRecord as PB2LogRecord - from opentelemetry.sdk._logs import LogData diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py index 0d66fd28b7..dde34e4da6 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py @@ -12,12 +12,24 @@ # See the License for the specific language governing permissions and # limitations under the License. import logging +from os import environ +from typing import Dict -from opentelemetry.sdk.metrics.export import ( - MetricExporter, +from opentelemetry.exporter.otlp.proto.common._internal import ( + _encode_attributes, +) +from opentelemetry.proto.collector.metrics.v1.metrics_service_pb2 import ( + ExportMetricsServiceRequest, +) +from opentelemetry.proto.common.v1.common_pb2 import InstrumentationScope +from opentelemetry.proto.metrics.v1 import metrics_pb2 as pb2 +from opentelemetry.proto.resource.v1.resource_pb2 import ( + Resource as PB2Resource, +) +from opentelemetry.sdk.environment_variables import ( + OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION, + OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE, ) -from opentelemetry.sdk.metrics.view import Aggregation -from os import environ from opentelemetry.sdk.metrics import ( Counter, Histogram, @@ -26,37 +38,23 @@ ObservableUpDownCounter, UpDownCounter, ) -from opentelemetry.exporter.otlp.proto.common._internal import ( - _encode_attributes, -) -from opentelemetry.sdk.environment_variables import ( - OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE, -) from opentelemetry.sdk.metrics.export import ( AggregationTemporality, -) -from opentelemetry.proto.collector.metrics.v1.metrics_service_pb2 import ( - ExportMetricsServiceRequest, -) -from opentelemetry.proto.common.v1.common_pb2 import InstrumentationScope -from opentelemetry.proto.metrics.v1 import metrics_pb2 as pb2 -from opentelemetry.sdk.metrics.export import ( - MetricsData, Gauge, - Histogram as HistogramType, + MetricExporter, + MetricsData, Sum, - ExponentialHistogram as ExponentialHistogramType, ) -from typing import Dict -from opentelemetry.proto.resource.v1.resource_pb2 import ( - Resource as PB2Resource, +from opentelemetry.sdk.metrics.export import ( + ExponentialHistogram as ExponentialHistogramType, ) -from opentelemetry.sdk.environment_variables import ( - OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION, +from opentelemetry.sdk.metrics.export import ( + Histogram as HistogramType, ) from opentelemetry.sdk.metrics.view import ( - ExponentialBucketHistogramAggregation, + Aggregation, ExplicitBucketHistogramAggregation, + ExponentialBucketHistogramAggregation, ) _logger = logging.getLogger(__name__) @@ -68,7 +66,6 @@ def _common_configuration( preferred_temporality: Dict[type, AggregationTemporality] = None, preferred_aggregation: Dict[type, Aggregation] = None, ) -> None: - MetricExporter.__init__( self, preferred_temporality=self._get_temporality(preferred_temporality), @@ -78,7 +75,6 @@ def _common_configuration( def _get_temporality( self, preferred_temporality: Dict[type, AggregationTemporality] ) -> Dict[type, AggregationTemporality]: - otel_exporter_otlp_metrics_temporality_preference = ( environ.get( OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE, @@ -135,7 +131,6 @@ def _get_aggregation( self, preferred_aggregation: Dict[type, Aggregation], ) -> Dict[type, Aggregation]: - otel_exporter_otlp_metrics_default_histogram_aggregation = environ.get( OTEL_EXPORTER_OTLP_METRICS_DEFAULT_HISTOGRAM_AGGREGATION, "explicit_bucket_histogram", @@ -144,17 +139,14 @@ def _get_aggregation( if otel_exporter_otlp_metrics_default_histogram_aggregation == ( "base2_exponential_bucket_histogram" ): - instrument_class_aggregation = { Histogram: ExponentialBucketHistogramAggregation(), } else: - if otel_exporter_otlp_metrics_default_histogram_aggregation != ( "explicit_bucket_histogram" ): - _logger.warning( ( "Invalid value for %s: %s, using explicit bucket " @@ -177,7 +169,6 @@ def encode_metrics(data: MetricsData) -> ExportMetricsServiceRequest: resource_metrics_dict = {} for resource_metrics in data.resource_metrics: - resource = resource_metrics.resource # It is safe to assume that each entry in data.resource_metrics is @@ -187,7 +178,6 @@ def encode_metrics(data: MetricsData) -> ExportMetricsServiceRequest: resource_metrics_dict[resource] = scope_metrics_dict for scope_metrics in resource_metrics.scope_metrics: - instrumentation_scope = scope_metrics.scope # The SDK groups metrics in instrumentation scopes already so @@ -271,7 +261,6 @@ def encode_metrics(data: MetricsData) -> ExportMetricsServiceRequest: elif isinstance(metric.data, ExponentialHistogramType): for data_point in metric.data.data_points: - if data_point.positive.bucket_counts: positive = pb2.ExponentialHistogramDataPoint.Buckets( offset=data_point.positive.offset, @@ -306,9 +295,7 @@ def encode_metrics(data: MetricsData) -> ExportMetricsServiceRequest: max=data_point.max, min=data_point.min, ) - pb2_metric.exponential_histogram.aggregation_temporality = ( - metric.data.aggregation_temporality - ) + pb2_metric.exponential_histogram.aggregation_temporality = metric.data.aggregation_temporality pb2_metric.exponential_histogram.data_points.append(pt) else: diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py index 99498c93ef..3a62916bc2 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py @@ -17,27 +17,26 @@ from typing import List, Optional, Sequence from opentelemetry.exporter.otlp.proto.common._internal import ( - _encode_trace_id, - _encode_span_id, - _encode_instrumentation_scope, _encode_attributes, + _encode_instrumentation_scope, _encode_resource, + _encode_span_id, + _encode_trace_id, ) from opentelemetry.proto.collector.trace.v1.trace_service_pb2 import ( ExportTraceServiceRequest as PB2ExportTraceServiceRequest, ) from opentelemetry.proto.trace.v1.trace_pb2 import ( - ScopeSpans as PB2ScopeSpans, + ResourceSpans as PB2ResourceSpans, ) from opentelemetry.proto.trace.v1.trace_pb2 import ( - ResourceSpans as PB2ResourceSpans, + ScopeSpans as PB2ScopeSpans, ) from opentelemetry.proto.trace.v1.trace_pb2 import Span as PB2SPan from opentelemetry.proto.trace.v1.trace_pb2 import Status as PB2Status from opentelemetry.sdk.trace import Event, ReadableSpan -from opentelemetry.trace import Link -from opentelemetry.trace import SpanKind -from opentelemetry.trace.span import SpanContext, TraceState, Status +from opentelemetry.trace import Link, SpanKind +from opentelemetry.trace.span import SpanContext, Status, TraceState # pylint: disable=E1101 _SPAN_KIND_MAP = { diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_log_encoder.py b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_log_encoder.py index 0731bc5125..504285b476 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_log_encoder.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_log_encoder.py @@ -177,7 +177,10 @@ def get_test_logs( "Do not go gentle into that good night. Rage, rage against the dying of the light" ), attributes=_encode_attributes( - {"a": 1, "b": "c"} + { + "a": 1, + "b": "c", + } ), ) ], @@ -260,7 +263,10 @@ def get_test_logs( severity_number=SeverityNumber.DEBUG.value, body=_encode_value("To our galaxy"), attributes=_encode_attributes( - {"a": 1, "b": "c"} + { + "a": 1, + "b": "c", + } ), ), ], diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py index 70863bb44a..880ea69de6 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py @@ -30,19 +30,20 @@ from opentelemetry.proto.resource.v1.resource_pb2 import ( Resource as OTLPResource, ) -from opentelemetry.sdk.metrics.export import AggregationTemporality, Buckets -from opentelemetry.sdk.metrics.export import ( - ExponentialHistogram as ExponentialHistogramType, -) -from opentelemetry.sdk.metrics.export import ExponentialHistogramDataPoint -from opentelemetry.sdk.metrics.export import Histogram as HistogramType from opentelemetry.sdk.metrics.export import ( + AggregationTemporality, + Buckets, + ExponentialHistogramDataPoint, HistogramDataPoint, Metric, MetricsData, ResourceMetrics, ScopeMetrics, ) +from opentelemetry.sdk.metrics.export import ( + ExponentialHistogram as ExponentialHistogramType, +) +from opentelemetry.sdk.metrics.export import Histogram as HistogramType from opentelemetry.sdk.resources import Resource from opentelemetry.sdk.util.instrumentation import ( InstrumentationScope as SDKInstrumentationScope, diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/__init__.py index 07553d69d0..31976a43da 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/__init__.py @@ -69,6 +69,7 @@ API --- """ + from .version import __version__ _USER_AGENT_HEADER_VALUE = "OTel-OTLP-Exporter-Python/" + __version__ diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/_log_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/_log_exporter/__init__.py index 3a87ef1223..039fb39211 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/_log_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/_log_exporter/__init__.py @@ -12,10 +12,10 @@ # limitations under the License. from os import environ -from typing import Dict, Optional, Tuple, Union, Sequence +from typing import Dict, Optional, Sequence, Tuple, Union from typing import Sequence as TypingSequence -from grpc import ChannelCredentials, Compression +from grpc import ChannelCredentials, Compression from opentelemetry.exporter.otlp.proto.common._log_encoder import encode_logs from opentelemetry.exporter.otlp.proto.grpc.exporter import ( OTLPExporterMixin, @@ -28,10 +28,9 @@ from opentelemetry.proto.collector.logs.v1.logs_service_pb2_grpc import ( LogsServiceStub, ) -from opentelemetry.sdk._logs import LogRecord as SDKLogRecord from opentelemetry.sdk._logs import LogData +from opentelemetry.sdk._logs import LogRecord as SDKLogRecord from opentelemetry.sdk._logs.export import LogExporter, LogExportResult - from opentelemetry.sdk.environment_variables import ( OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE, OTEL_EXPORTER_OTLP_LOGS_COMPRESSION, @@ -46,7 +45,6 @@ class OTLPLogExporter( LogExporter, OTLPExporterMixin[SDKLogRecord, ExportLogsServiceRequest, LogExportResult], ): - _result = LogExportResult _stub = LogsServiceStub diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py index b422682828..a43d7e9d64 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py @@ -28,19 +28,15 @@ List, Optional, Tuple, + TypeVar, Union, ) from typing import Sequence as TypingSequence -from typing import TypeVar from urllib.parse import urlparse from deprecated import deprecated - -from opentelemetry.exporter.otlp.proto.common._internal import ( - _get_resource_data, - _create_exp_backoff_generator, -) from google.rpc.error_details_pb2 import RetryInfo + from grpc import ( ChannelCredentials, Compression, @@ -50,7 +46,10 @@ secure_channel, ssl_channel_credentials, ) - +from opentelemetry.exporter.otlp.proto.common._internal import ( + _create_exp_backoff_generator, + _get_resource_data, +) from opentelemetry.exporter.otlp.proto.grpc import ( _OTLP_GRPC_HEADERS, ) @@ -268,7 +267,6 @@ def _export( return self._result.SUCCESS except RpcError as error: - if error.code() in [ StatusCode.CANCELLED, StatusCode.DEADLINE_EXCEEDED, @@ -278,7 +276,6 @@ def _export( StatusCode.UNAVAILABLE, StatusCode.DATA_LOSS, ]: - retry_info_bin = dict(error.trailing_metadata()).get( "google.rpc.retryinfo-bin" ) diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/metric_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/metric_exporter/__init__.py index 0ceca25c86..cb6484b930 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/metric_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/metric_exporter/__init__.py @@ -16,18 +16,18 @@ from os import environ from typing import Dict, Iterable, List, Optional, Tuple, Union from typing import Sequence as TypingSequence -from grpc import ChannelCredentials, Compression +from grpc import ChannelCredentials, Compression +from opentelemetry.exporter.otlp.proto.common._internal.metrics_encoder import ( + OTLPMetricExporterMixin, +) from opentelemetry.exporter.otlp.proto.common.metrics_encoder import ( encode_metrics, ) -from opentelemetry.sdk.metrics._internal.aggregation import Aggregation -from opentelemetry.exporter.otlp.proto.grpc.exporter import ( +from opentelemetry.exporter.otlp.proto.grpc.exporter import ( # noqa: F401 OTLPExporterMixin, _get_credentials, environ_to_compression, -) -from opentelemetry.exporter.otlp.proto.grpc.exporter import ( # noqa: F401 get_resource_data, ) from opentelemetry.proto.collector.metrics.v1.metrics_service_pb2 import ( @@ -48,24 +48,24 @@ OTEL_EXPORTER_OTLP_METRICS_INSECURE, OTEL_EXPORTER_OTLP_METRICS_TIMEOUT, ) -from opentelemetry.sdk.metrics.export import ( +from opentelemetry.sdk.metrics._internal.aggregation import Aggregation +from opentelemetry.sdk.metrics.export import ( # noqa: F401 AggregationTemporality, DataPointT, + Gauge, Metric, MetricExporter, MetricExportResult, MetricsData, ResourceMetrics, ScopeMetrics, -) -from opentelemetry.sdk.metrics.export import ( # noqa: F401 - Gauge, - Histogram as HistogramType, Sum, +) +from opentelemetry.sdk.metrics.export import ( ExponentialHistogram as ExponentialHistogramType, ) -from opentelemetry.exporter.otlp.proto.common._internal.metrics_encoder import ( - OTLPMetricExporterMixin, +from opentelemetry.sdk.metrics.export import ( + Histogram as HistogramType, ) _logger = getLogger(__name__) @@ -102,7 +102,6 @@ def __init__( preferred_aggregation: Dict[type, Aggregation] = None, max_export_batch_size: Optional[int] = None, ): - if insecure is None: insecure = environ.get(OTEL_EXPORTER_OTLP_METRICS_INSECURE) if insecure is not None: diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py index bd120ac787..bb52da358d 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py @@ -18,18 +18,14 @@ from typing import Dict, Optional, Sequence, Tuple, Union from typing import Sequence as TypingSequence - from grpc import ChannelCredentials, Compression - from opentelemetry.exporter.otlp.proto.common.trace_encoder import ( encode_spans, ) -from opentelemetry.exporter.otlp.proto.grpc.exporter import ( +from opentelemetry.exporter.otlp.proto.grpc.exporter import ( # noqa: F401 OTLPExporterMixin, _get_credentials, environ_to_compression, -) -from opentelemetry.exporter.otlp.proto.grpc.exporter import ( # noqa: F401 get_resource_data, ) from opentelemetry.proto.collector.trace.v1.trace_service_pb2 import ( @@ -42,11 +38,13 @@ InstrumentationScope, ) from opentelemetry.proto.trace.v1.trace_pb2 import ( # noqa: F401 - ScopeSpans, ResourceSpans, + ScopeSpans, + Status, # noqa: F401 +) +from opentelemetry.proto.trace.v1.trace_pb2 import ( Span as CollectorSpan, ) -from opentelemetry.proto.trace.v1.trace_pb2 import Status # noqa: F401 from opentelemetry.sdk.environment_variables import ( OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE, OTEL_EXPORTER_OTLP_TRACES_COMPRESSION, @@ -94,7 +92,6 @@ def __init__( timeout: Optional[int] = None, compression: Optional[Compression] = None, ): - if insecure is None: insecure = environ.get(OTEL_EXPORTER_OTLP_TRACES_INSECURE) if insecure is not None: diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py index a6479a1474..9b8d88879b 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py @@ -36,11 +36,10 @@ LogsServiceServicer, add_LogsServiceServicer_to_server, ) -from opentelemetry.proto.common.v1.common_pb2 import AnyValue +from opentelemetry.proto.common.v1.common_pb2 import AnyValue, KeyValue from opentelemetry.proto.common.v1.common_pb2 import ( InstrumentationScope as PB2InstrumentationScope, ) -from opentelemetry.proto.common.v1.common_pb2 import KeyValue from opentelemetry.proto.logs.v1.logs_pb2 import LogRecord as PB2LogRecord from opentelemetry.proto.logs.v1.logs_pb2 import ResourceLogs, ScopeLogs from opentelemetry.proto.resource.v1.resource_pb2 import ( @@ -297,7 +296,6 @@ def test_otlp_headers_from_env(self): ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.sleep") def test_unavailable(self, mock_sleep, mock_expo): - mock_expo.configure_mock(**{"return_value": [1]}) add_LogsServiceServicer_to_server( @@ -313,7 +311,6 @@ def test_unavailable(self, mock_sleep, mock_expo): ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.sleep") def test_unavailable_delay(self, mock_sleep, mock_expo): - mock_expo.configure_mock(**{"return_value": [1]}) add_LogsServiceServicer_to_server( @@ -341,7 +338,6 @@ def test_failure(self): ) def test_translate_log_data(self): - expected = ExportLogsServiceRequest( resource_logs=[ ResourceLogs( @@ -531,6 +527,10 @@ def test_translate_multiple_logs(self): self.assertEqual( expected, self.exporter._translate_data( - [self.log_data_1, self.log_data_2, self.log_data_3] + [ + self.log_data_1, + self.log_data_2, + self.log_data_3, + ] ), ) diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py index 95733b917b..a7756725be 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py @@ -140,7 +140,6 @@ class TestOTLPMetricExporter(TestCase): # pylint: disable=too-many-public-methods def setUp(self): - self.exporter = OTLPMetricExporter() self.server = server(ThreadPoolExecutor(max_workers=10)) @@ -420,7 +419,6 @@ def test_otlp_exporter_otlp_compression_unspecified( ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.sleep") def test_unavailable(self, mock_sleep, mock_expo): - mock_expo.configure_mock(**{"return_value": [1]}) add_MetricsServiceServicer_to_server( @@ -437,7 +435,6 @@ def test_unavailable(self, mock_sleep, mock_expo): ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.sleep") def test_unavailable_delay(self, mock_sleep, mock_expo): - mock_expo.configure_mock(**{"return_value": [1]}) add_MetricsServiceServicer_to_server( @@ -455,7 +452,6 @@ def test_unavailable_delay(self, mock_sleep, mock_expo): @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.sleep") @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.logger.error") def test_unknown_logs(self, mock_logger_error, mock_sleep, mock_expo): - mock_expo.configure_mock(**{"return_value": [1]}) add_MetricsServiceServicer_to_server( @@ -825,7 +821,6 @@ def test_aggregation_temporality(self): environ, {OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "CUMULATIVE"}, ): - otlp_metric_exporter = OTLPMetricExporter() for ( @@ -838,7 +833,6 @@ def test_aggregation_temporality(self): with patch.dict( environ, {OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "ABC"} ): - with self.assertLogs(level=WARNING): otlp_metric_exporter = OTLPMetricExporter() @@ -853,7 +847,6 @@ def test_aggregation_temporality(self): environ, {OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "DELTA"}, ): - otlp_metric_exporter = OTLPMetricExporter() self.assertEqual( @@ -887,7 +880,6 @@ def test_aggregation_temporality(self): environ, {OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "LOWMEMORY"}, ): - otlp_metric_exporter = OTLPMetricExporter() self.assertEqual( @@ -918,7 +910,6 @@ def test_aggregation_temporality(self): ) def test_exponential_explicit_bucket_histogram(self): - self.assertIsInstance( # pylint: disable=protected-access OTLPMetricExporter()._preferred_aggregation[Histogram], @@ -969,7 +960,6 @@ def test_exponential_explicit_bucket_histogram(self): ) def test_preferred_aggregation_override(self): - histogram_aggregation = ExplicitBucketHistogramAggregation( boundaries=[0.05, 0.1, 0.5, 1, 5, 10], ) diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py index bb17e35b7b..8c27fbe63a 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py @@ -40,17 +40,23 @@ TraceServiceServicer, add_TraceServiceServicer_to_server, ) -from opentelemetry.proto.common.v1.common_pb2 import AnyValue, ArrayValue +from opentelemetry.proto.common.v1.common_pb2 import ( + AnyValue, + ArrayValue, + KeyValue, +) from opentelemetry.proto.common.v1.common_pb2 import ( InstrumentationScope as PB2InstrumentationScope, ) -from opentelemetry.proto.common.v1.common_pb2 import KeyValue from opentelemetry.proto.resource.v1.resource_pb2 import ( Resource as OTLPResource, ) -from opentelemetry.proto.trace.v1.trace_pb2 import ResourceSpans, ScopeSpans +from opentelemetry.proto.trace.v1.trace_pb2 import ( + ResourceSpans, + ScopeSpans, + Status, +) from opentelemetry.proto.trace.v1.trace_pb2 import Span as OTLPSpan -from opentelemetry.proto.trace.v1.trace_pb2 import Status from opentelemetry.sdk.environment_variables import ( OTEL_EXPORTER_OTLP_COMPRESSION, OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE, @@ -463,7 +469,6 @@ def test_otlp_headers(self, mock_ssl_channel, mock_secure): ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.sleep") def test_unavailable(self, mock_sleep, mock_expo): - mock_expo.configure_mock(**{"return_value": [1]}) add_TraceServiceServicer_to_server( @@ -478,7 +483,6 @@ def test_unavailable(self, mock_sleep, mock_expo): ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.sleep") def test_unavailable_delay(self, mock_sleep, mock_expo): - mock_expo.configure_mock(**{"return_value": [1]}) add_TraceServiceServicer_to_server( @@ -506,7 +510,6 @@ def test_failure(self): ) def test_translate_spans(self): - expected = ExportTraceServiceRequest( resource_spans=[ ResourceSpans( diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/__init__.py index 2c40b39590..b8f92bd9a8 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/__init__.py @@ -69,11 +69,11 @@ API --- """ + import enum from .version import __version__ - _OTLP_HTTP_HEADERS = { "Content-Type": "application/x-protobuf", "User-Agent": "OTel-OTLP-Exporter-Python/" + __version__, diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py index 902ac5f242..51aea1a393 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py @@ -17,8 +17,8 @@ import zlib from io import BytesIO from os import environ -from typing import Dict, Optional, Sequence from time import sleep +from typing import Dict, Optional, Sequence import requests @@ -26,30 +26,29 @@ _create_exp_backoff_generator, ) from opentelemetry.exporter.otlp.proto.common._log_encoder import encode_logs +from opentelemetry.exporter.otlp.proto.http import ( + _OTLP_HTTP_HEADERS, + Compression, +) +from opentelemetry.sdk._logs import LogData +from opentelemetry.sdk._logs.export import ( + LogExporter, + LogExportResult, +) from opentelemetry.sdk.environment_variables import ( OTEL_EXPORTER_OTLP_CERTIFICATE, OTEL_EXPORTER_OTLP_COMPRESSION, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_HEADERS, - OTEL_EXPORTER_OTLP_TIMEOUT, - OTEL_EXPORTER_OTLP_LOGS_ENDPOINT, OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE, + OTEL_EXPORTER_OTLP_LOGS_COMPRESSION, + OTEL_EXPORTER_OTLP_LOGS_ENDPOINT, OTEL_EXPORTER_OTLP_LOGS_HEADERS, OTEL_EXPORTER_OTLP_LOGS_TIMEOUT, - OTEL_EXPORTER_OTLP_LOGS_COMPRESSION, -) -from opentelemetry.sdk._logs import LogData -from opentelemetry.sdk._logs.export import ( - LogExporter, - LogExportResult, -) -from opentelemetry.exporter.otlp.proto.http import ( - _OTLP_HTTP_HEADERS, - Compression, + OTEL_EXPORTER_OTLP_TIMEOUT, ) from opentelemetry.util.re import parse_env_headers - _logger = logging.getLogger(__name__) @@ -60,7 +59,6 @@ class OTLPLogExporter(LogExporter): - _MAX_RETRY_TIMEOUT = 64 def __init__( @@ -140,7 +138,6 @@ def export(self, batch: Sequence[LogData]) -> LogExportResult: for delay in _create_exp_backoff_generator( max_value=self._MAX_RETRY_TIMEOUT ): - if delay == self._MAX_RETRY_TIMEOUT: return LogExportResult.FAILURE diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py index 57e030bd54..539e774eb6 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py @@ -14,17 +14,25 @@ import gzip import logging import zlib -from os import environ -from typing import Dict, Optional, Any, Callable, List -from typing import Sequence, Mapping # noqa: F401 - from io import BytesIO +from os import environ from time import sleep +from typing import ( # noqa: F401 + Any, + Callable, + Dict, + List, + Mapping, + Optional, + Sequence, +) + +import requests from deprecated import deprecated from opentelemetry.exporter.otlp.proto.common._internal import ( - _get_resource_data, _create_exp_backoff_generator, + _get_resource_data, ) from opentelemetry.exporter.otlp.proto.common._internal.metrics_encoder import ( OTLPMetricExporterMixin, @@ -33,52 +41,48 @@ encode_metrics, ) from opentelemetry.exporter.otlp.proto.http import Compression -from opentelemetry.sdk.metrics._internal.aggregation import Aggregation from opentelemetry.proto.collector.metrics.v1.metrics_service_pb2 import ( # noqa: F401 ExportMetricsServiceRequest, ) -from opentelemetry.proto.common.v1.common_pb2 import ( # noqa: F401 +from opentelemetry.proto.common.v1.common_pb2 import ( # noqa: F401 # noqa: F401 AnyValue, ArrayValue, + InstrumentationScope, KeyValue, KeyValueList, ) -from opentelemetry.proto.common.v1.common_pb2 import ( # noqa: F401 - InstrumentationScope, -) -from opentelemetry.proto.resource.v1.resource_pb2 import Resource # noqa: F401 from opentelemetry.proto.metrics.v1 import metrics_pb2 as pb2 # noqa: F401 +from opentelemetry.proto.resource.v1.resource_pb2 import Resource # noqa: F401 +from opentelemetry.proto.resource.v1.resource_pb2 import ( + Resource as PB2Resource, +) from opentelemetry.sdk.environment_variables import ( - OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_CERTIFICATE, - OTEL_EXPORTER_OTLP_HEADERS, - OTEL_EXPORTER_OTLP_TIMEOUT, OTEL_EXPORTER_OTLP_COMPRESSION, - OTEL_EXPORTER_OTLP_METRICS_ENDPOINT, + OTEL_EXPORTER_OTLP_ENDPOINT, + OTEL_EXPORTER_OTLP_HEADERS, OTEL_EXPORTER_OTLP_METRICS_CERTIFICATE, + OTEL_EXPORTER_OTLP_METRICS_COMPRESSION, + OTEL_EXPORTER_OTLP_METRICS_ENDPOINT, OTEL_EXPORTER_OTLP_METRICS_HEADERS, OTEL_EXPORTER_OTLP_METRICS_TIMEOUT, - OTEL_EXPORTER_OTLP_METRICS_COMPRESSION, + OTEL_EXPORTER_OTLP_TIMEOUT, ) -from opentelemetry.sdk.metrics.export import ( +from opentelemetry.sdk.metrics._internal.aggregation import Aggregation +from opentelemetry.sdk.metrics.export import ( # noqa: F401 AggregationTemporality, + Gauge, MetricExporter, MetricExportResult, MetricsData, + Sum, ) -from opentelemetry.sdk.metrics.export import ( # noqa: F401 - Gauge, +from opentelemetry.sdk.metrics.export import ( Histogram as HistogramType, - Sum, ) from opentelemetry.sdk.resources import Resource as SDKResource from opentelemetry.util.re import parse_env_headers -import requests -from opentelemetry.proto.resource.v1.resource_pb2 import ( - Resource as PB2Resource, -) - _logger = logging.getLogger(__name__) @@ -89,7 +93,6 @@ class OTLPMetricExporter(MetricExporter, OTLPMetricExporterMixin): - _MAX_RETRY_TIMEOUT = 64 def __init__( @@ -174,7 +177,6 @@ def export( for delay in _create_exp_backoff_generator( max_value=self._MAX_RETRY_TIMEOUT ): - if delay == self._MAX_RETRY_TIMEOUT: return MetricExportResult.FAILURE diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py index c624dfe476..1f3c35bdb4 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py @@ -17,8 +17,8 @@ import zlib from io import BytesIO from os import environ -from typing import Dict, Optional from time import sleep +from typing import Dict, Optional import requests @@ -28,26 +28,25 @@ from opentelemetry.exporter.otlp.proto.common.trace_encoder import ( encode_spans, ) +from opentelemetry.exporter.otlp.proto.http import ( + _OTLP_HTTP_HEADERS, + Compression, +) from opentelemetry.sdk.environment_variables import ( - OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE, - OTEL_EXPORTER_OTLP_TRACES_COMPRESSION, - OTEL_EXPORTER_OTLP_TRACES_ENDPOINT, - OTEL_EXPORTER_OTLP_TRACES_HEADERS, - OTEL_EXPORTER_OTLP_TRACES_TIMEOUT, OTEL_EXPORTER_OTLP_CERTIFICATE, OTEL_EXPORTER_OTLP_COMPRESSION, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_HEADERS, OTEL_EXPORTER_OTLP_TIMEOUT, + OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE, + OTEL_EXPORTER_OTLP_TRACES_COMPRESSION, + OTEL_EXPORTER_OTLP_TRACES_ENDPOINT, + OTEL_EXPORTER_OTLP_TRACES_HEADERS, + OTEL_EXPORTER_OTLP_TRACES_TIMEOUT, ) from opentelemetry.sdk.trace.export import SpanExporter, SpanExportResult -from opentelemetry.exporter.otlp.proto.http import ( - _OTLP_HTTP_HEADERS, - Compression, -) from opentelemetry.util.re import parse_env_headers - _logger = logging.getLogger(__name__) @@ -58,7 +57,6 @@ class OTLPSpanExporter(SpanExporter): - _MAX_RETRY_TIMEOUT = 64 def __init__( @@ -138,7 +136,6 @@ def export(self, spans) -> SpanExportResult: for delay in _create_exp_backoff_generator( max_value=self._MAX_RETRY_TIMEOUT ): - if delay == self._MAX_RETRY_TIMEOUT: return SpanExportResult.FAILURE diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/encoder/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/encoder/__init__.py index a0036ecd24..aec46da1a2 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/encoder/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/encoder/__init__.py @@ -35,10 +35,10 @@ Resource as PB2Resource, ) from opentelemetry.proto.trace.v1.trace_pb2 import ( # noqa: F401 - ScopeSpans as PB2ScopeSpans, + ResourceSpans as PB2ResourceSpans, ) from opentelemetry.proto.trace.v1.trace_pb2 import ( # noqa: F401 - ResourceSpans as PB2ResourceSpans, + ScopeSpans as PB2ScopeSpans, ) from opentelemetry.proto.trace.v1.trace_pb2 import ( # noqa: F401 Span as PB2SPan, @@ -46,17 +46,21 @@ from opentelemetry.proto.trace.v1.trace_pb2 import ( # noqa: F401 Status as PB2Status, ) -from opentelemetry.sdk.trace import Event # noqa: F401 +from opentelemetry.sdk.trace import ( + Event, # noqa: F401 + Resource, # noqa: F401 +) +from opentelemetry.sdk.trace import Span as SDKSpan # noqa: F401 from opentelemetry.sdk.util.instrumentation import ( # noqa: F401 InstrumentationScope, ) -from opentelemetry.sdk.trace import Resource # noqa: F401 -from opentelemetry.sdk.trace import Span as SDKSpan # noqa: F401 -from opentelemetry.trace import Link # noqa: F401 -from opentelemetry.trace import SpanKind # noqa: F401 +from opentelemetry.trace import ( + Link, # noqa: F401 + SpanKind, # noqa: F401 +) from opentelemetry.trace.span import ( # noqa: F401 SpanContext, - TraceState, Status, + TraceState, ) from opentelemetry.util.types import Attributes # noqa: F401 diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py index 674785056a..ceedff03dd 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py @@ -80,7 +80,6 @@ # pylint: disable=protected-access class TestOTLPMetricExporter(TestCase): def setUp(self): - self.metrics = { "sum_int": MetricsData( resource_metrics=[ @@ -107,7 +106,6 @@ def setUp(self): } def test_constructor_default(self): - exporter = OTLPMetricExporter() self.assertEqual( @@ -192,7 +190,6 @@ def test_exporter_constructor_take_priority(self): }, ) def test_exporter_env(self): - exporter = OTLPMetricExporter() self.assertEqual(exporter._certificate_file, OS_ENV_CERTIFICATE) @@ -207,7 +204,6 @@ def test_exporter_env(self): {OTEL_EXPORTER_OTLP_ENDPOINT: OS_ENV_ENDPOINT}, ) def test_exporter_env_endpoint_without_slash(self): - exporter = OTLPMetricExporter() self.assertEqual( @@ -220,7 +216,6 @@ def test_exporter_env_endpoint_without_slash(self): {OTEL_EXPORTER_OTLP_ENDPOINT: OS_ENV_ENDPOINT + "/"}, ) def test_exporter_env_endpoint_with_slash(self): - exporter = OTLPMetricExporter() self.assertEqual( @@ -235,7 +230,6 @@ def test_exporter_env_endpoint_with_slash(self): }, ) def test_headers_parse_from_env(self): - with self.assertLogs(level="WARNING") as cm: _ = OTLPMetricExporter() @@ -276,7 +270,6 @@ def test_failure(self, mock_post): @patch.object(Session, "post") def test_serialization(self, mock_post): - resp = Response() resp.status_code = 200 mock_post.return_value = resp @@ -314,11 +307,17 @@ def test_exponential_backoff(self, mock_sleep): exporter.export(metrics_data) mock_sleep.assert_has_calls( - [call(1), call(2), call(4), call(8), call(16), call(32)] + [ + call(1), + call(2), + call(4), + call(8), + call(16), + call(32), + ] ) def test_aggregation_temporality(self): - otlp_metric_exporter = OTLPMetricExporter() for ( @@ -330,7 +329,6 @@ def test_aggregation_temporality(self): environ, {OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "CUMULATIVE"}, ): - otlp_metric_exporter = OTLPMetricExporter() for ( @@ -343,7 +341,6 @@ def test_aggregation_temporality(self): with patch.dict( environ, {OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "ABC"} ): - with self.assertLogs(level=WARNING): otlp_metric_exporter = OTLPMetricExporter() @@ -358,7 +355,6 @@ def test_aggregation_temporality(self): environ, {OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "DELTA"}, ): - otlp_metric_exporter = OTLPMetricExporter() self.assertEqual( @@ -392,7 +388,6 @@ def test_aggregation_temporality(self): environ, {OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "LOWMEMORY"}, ): - otlp_metric_exporter = OTLPMetricExporter() self.assertEqual( @@ -423,7 +418,6 @@ def test_aggregation_temporality(self): ) def test_exponential_explicit_bucket_histogram(self): - self.assertIsInstance( OTLPMetricExporter()._preferred_aggregation[Histogram], ExplicitBucketHistogramAggregation, @@ -481,7 +475,6 @@ def test_2xx_status_code(self, mock_otlp_metric_exporter): ) def test_preferred_aggregation_override(self): - histogram_aggregation = ExplicitBucketHistogramAggregation( boundaries=[0.05, 0.1, 0.5, 1, 5, 10], ) diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py index 6b6aafd465..1008b1da44 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py @@ -58,7 +58,6 @@ class TestOTLPHTTPLogExporter(unittest.TestCase): def test_constructor_default(self): - exporter = OTLPLogExporter() self.assertEqual( @@ -153,7 +152,6 @@ def test_exporter_constructor_take_priority(self): }, ) def test_exporter_env(self): - exporter = OTLPLogExporter() self.assertEqual( @@ -183,7 +181,14 @@ def test_exponential_backoff(self, mock_sleep): exporter.export(logs) mock_sleep.assert_has_calls( - [call(1), call(2), call(4), call(8), call(16), call(32)] + [ + call(1), + call(2), + call(4), + call(8), + call(16), + call(32), + ] ) @staticmethod diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py index 69874664c7..dcaf6873cc 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py @@ -51,7 +51,6 @@ # pylint: disable=protected-access class TestOTLPSpanExporter(unittest.TestCase): def test_constructor_default(self): - exporter = OTLPSpanExporter() self.assertEqual( @@ -145,7 +144,6 @@ def test_exporter_constructor_take_priority(self): }, ) def test_exporter_env(self): - exporter = OTLPSpanExporter() self.assertEqual(exporter._certificate_file, OS_ENV_CERTIFICATE) @@ -160,7 +158,6 @@ def test_exporter_env(self): {OTEL_EXPORTER_OTLP_ENDPOINT: OS_ENV_ENDPOINT}, ) def test_exporter_env_endpoint_without_slash(self): - exporter = OTLPSpanExporter() self.assertEqual( @@ -173,7 +170,6 @@ def test_exporter_env_endpoint_without_slash(self): {OTEL_EXPORTER_OTLP_ENDPOINT: OS_ENV_ENDPOINT + "/"}, ) def test_exporter_env_endpoint_with_slash(self): - exporter = OTLPSpanExporter() self.assertEqual( @@ -188,7 +184,6 @@ def test_exporter_env_endpoint_with_slash(self): }, ) def test_headers_parse_from_env(self): - with self.assertLogs(level="WARNING") as cm: _ = OTLPSpanExporter() @@ -229,7 +224,14 @@ def test_exponential_backoff(self, mock_sleep): exporter.export([span]) mock_sleep.assert_has_calls( - [call(1), call(2), call(4), call(8), call(16), call(32)] + [ + call(1), + call(2), + call(4), + call(8), + call(16), + call(32), + ] ) @patch.object(OTLPSpanExporter, "_export", return_value=Mock(ok=True)) diff --git a/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py b/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py index b1a8d668c4..15bf0e6ecf 100644 --- a/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py +++ b/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py @@ -84,14 +84,14 @@ OTEL_EXPORTER_PROMETHEUS_HOST, OTEL_EXPORTER_PROMETHEUS_PORT, ) -from opentelemetry.sdk.metrics import Counter -from opentelemetry.sdk.metrics import Histogram as HistogramInstrument from opentelemetry.sdk.metrics import ( + Counter, ObservableCounter, ObservableGauge, ObservableUpDownCounter, UpDownCounter, ) +from opentelemetry.sdk.metrics import Histogram as HistogramInstrument from opentelemetry.sdk.metrics.export import ( AggregationTemporality, Gauge, @@ -196,9 +196,9 @@ def collect(self) -> None: self._target_info = self._create_info_metric( _TARGET_INFO_NAME, _TARGET_INFO_DESCRIPTION, attributes ) - metric_family_id_metric_family[ - _TARGET_INFO_NAME - ] = self._target_info + metric_family_id_metric_family[_TARGET_INFO_NAME] = ( + self._target_info + ) while self._metrics_datas: self._translate_to_prometheus( @@ -288,19 +288,21 @@ def _translate_to_prometheus( isinstance(metric.data, Sum) and not should_convert_sum_to_gauge ): - metric_family_id = "|".join( - [pre_metric_family_id, CounterMetricFamily.__name__] + [ + pre_metric_family_id, + CounterMetricFamily.__name__, + ] ) if metric_family_id not in metric_family_id_metric_family: - metric_family_id_metric_family[ - metric_family_id - ] = CounterMetricFamily( - name=metric_name, - documentation=metric_description, - labels=label_keys, - unit=metric.unit, + metric_family_id_metric_family[metric_family_id] = ( + CounterMetricFamily( + name=metric_name, + documentation=metric_description, + labels=label_keys, + unit=metric.unit, + ) ) metric_family_id_metric_family[ metric_family_id @@ -309,43 +311,47 @@ def _translate_to_prometheus( isinstance(metric.data, Gauge) or should_convert_sum_to_gauge ): - metric_family_id = "|".join( - [pre_metric_family_id, GaugeMetricFamily.__name__] + [ + pre_metric_family_id, + GaugeMetricFamily.__name__, + ] ) if ( metric_family_id not in metric_family_id_metric_family.keys() ): - metric_family_id_metric_family[ - metric_family_id - ] = GaugeMetricFamily( - name=metric_name, - documentation=metric_description, - labels=label_keys, - unit=metric.unit, + metric_family_id_metric_family[metric_family_id] = ( + GaugeMetricFamily( + name=metric_name, + documentation=metric_description, + labels=label_keys, + unit=metric.unit, + ) ) metric_family_id_metric_family[ metric_family_id ].add_metric(labels=label_values, value=value) elif isinstance(metric.data, Histogram): - metric_family_id = "|".join( - [pre_metric_family_id, HistogramMetricFamily.__name__] + [ + pre_metric_family_id, + HistogramMetricFamily.__name__, + ] ) if ( metric_family_id not in metric_family_id_metric_family.keys() ): - metric_family_id_metric_family[ - metric_family_id - ] = HistogramMetricFamily( - name=metric_name, - documentation=metric_description, - labels=label_keys, - unit=metric.unit, + metric_family_id_metric_family[metric_family_id] = ( + HistogramMetricFamily( + name=metric_name, + documentation=metric_description, + labels=label_keys, + unit=metric.unit, + ) ) metric_family_id_metric_family[ metric_family_id diff --git a/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py b/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py index 6d9126c815..745355ec44 100644 --- a/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py +++ b/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py @@ -321,7 +321,6 @@ def test_list_labels(self): self.assertEqual(prometheus_metric.samples[0].labels["os"], "Unix") def test_check_value(self): - collector = _CustomCollector() self.assertEqual(collector._check_value(1), "1") @@ -335,7 +334,6 @@ def test_check_value(self): self.assertEqual(collector._check_value(None), "null") def test_multiple_collection_calls(self): - metric_reader = PrometheusMetricReader() provider = MeterProvider(metric_readers=[metric_reader]) meter = provider.get_meter("getting-started", "0.1.2") diff --git a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py index 5272173f31..c44a2dd0af 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py +++ b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py @@ -12,8 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Zipkin Export Encoders for JSON formats -""" +"""Zipkin Export Encoders for JSON formats""" from typing import Dict, List diff --git a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v2/__init__.py b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v2/__init__.py index ec6e53382b..579087c451 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v2/__init__.py +++ b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v2/__init__.py @@ -12,8 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Zipkin Export Encoders for JSON formats -""" +"""Zipkin Export Encoders for JSON formats""" + from typing import Dict from opentelemetry.exporter.zipkin.encoder import JsonEncoder diff --git a/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v1_json.py b/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v1_json.py index 778ed74e8d..7ff4e9b276 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v1_json.py +++ b/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v1_json.py @@ -41,7 +41,6 @@ def get_encoder(*args, **kwargs) -> JsonV1Encoder: return JsonV1Encoder(*args, **kwargs) def test_encode(self): - local_endpoint = {"serviceName": TEST_SERVICE_NAME} otel_spans = self.get_exhaustive_otel_span_list() diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/__init__.py b/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/__init__.py index 8177efc07b..dcb092c9ce 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/__init__.py +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/__init__.py @@ -77,8 +77,8 @@ import requests -from opentelemetry.exporter.zipkin.proto.http.v2 import ProtobufEncoder from opentelemetry.exporter.zipkin.node_endpoint import IpInput, NodeEndpoint +from opentelemetry.exporter.zipkin.proto.http.v2 import ProtobufEncoder from opentelemetry.sdk.environment_variables import ( OTEL_EXPORTER_ZIPKIN_ENDPOINT, OTEL_EXPORTER_ZIPKIN_TIMEOUT, diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py b/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py index 308abde01f..d7ca3b88d2 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py @@ -16,11 +16,12 @@ API spec: https://github.com/openzipkin/zipkin-api/blob/master/zipkin.proto """ + from typing import List, Optional, Sequence from opentelemetry.exporter.zipkin.encoder import Encoder -from opentelemetry.exporter.zipkin.proto.http.v2.gen import zipkin_pb2 from opentelemetry.exporter.zipkin.node_endpoint import NodeEndpoint +from opentelemetry.exporter.zipkin.proto.http.v2.gen import zipkin_pb2 from opentelemetry.sdk.trace import Event from opentelemetry.trace import Span, SpanKind diff --git a/opentelemetry-api/src/opentelemetry/context/__init__.py b/opentelemetry-api/src/opentelemetry/context/__init__.py index 91133884f6..f801e7d3f4 100644 --- a/opentelemetry-api/src/opentelemetry/context/__init__.py +++ b/opentelemetry-api/src/opentelemetry/context/__init__.py @@ -56,7 +56,6 @@ def wrapper( OTEL_PYTHON_CONTEXT, default_context ) # type: str try: - _RUNTIME_CONTEXT = next( # type: ignore iter( # type: ignore entry_points( # type: ignore diff --git a/opentelemetry-api/src/opentelemetry/metrics/__init__.py b/opentelemetry-api/src/opentelemetry/metrics/__init__.py index 56ffabee6c..74284ad6e3 100644 --- a/opentelemetry-api/src/opentelemetry/metrics/__init__.py +++ b/opentelemetry-api/src/opentelemetry/metrics/__init__.py @@ -53,15 +53,9 @@ CallbackOptions, CallbackT, Counter, -) -from opentelemetry.metrics._internal.instrument import Gauge as _Gauge -from opentelemetry.metrics._internal.instrument import ( Histogram, Instrument, NoOpCounter, -) -from opentelemetry.metrics._internal.instrument import NoOpGauge as _NoOpGauge -from opentelemetry.metrics._internal.instrument import ( NoOpHistogram, NoOpObservableCounter, NoOpObservableGauge, @@ -73,6 +67,8 @@ Synchronous, UpDownCounter, ) +from opentelemetry.metrics._internal.instrument import Gauge as _Gauge +from opentelemetry.metrics._internal.instrument import NoOpGauge as _NoOpGauge from opentelemetry.metrics._internal.observation import Observation for obj in [ diff --git a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py index 2e6914f8e3..e4de2517ce 100644 --- a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py +++ b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py @@ -40,7 +40,6 @@ .. versionadded:: 1.10.0 """ - from abc import ABC, abstractmethod from logging import getLogger from os import environ @@ -227,7 +226,12 @@ def _is_instrument_registered( """ instrument_id = ",".join( - [name.strip().lower(), type_.__name__, unit, description] + [ + name.strip().lower(), + type_.__name__, + unit, + description, + ] ) result = False diff --git a/opentelemetry-api/src/opentelemetry/propagate/__init__.py b/opentelemetry-api/src/opentelemetry/propagate/__init__.py index 90f9e61744..109ae3992f 100644 --- a/opentelemetry-api/src/opentelemetry/propagate/__init__.py +++ b/opentelemetry-api/src/opentelemetry/propagate/__init__.py @@ -133,7 +133,6 @@ def inject( propagator = propagator.strip() try: - propagators.append( # type: ignore next( # type: ignore iter( # type: ignore diff --git a/opentelemetry-api/src/opentelemetry/trace/__init__.py b/opentelemetry-api/src/opentelemetry/trace/__init__.py index 3b6295e259..52403cf6b9 100644 --- a/opentelemetry-api/src/opentelemetry/trace/__init__.py +++ b/opentelemetry-api/src/opentelemetry/trace/__init__.py @@ -73,7 +73,6 @@ `set_tracer_provider`. """ - import os import typing from abc import ABC, abstractmethod diff --git a/opentelemetry-api/src/opentelemetry/trace/span.py b/opentelemetry-api/src/opentelemetry/trace/span.py index 8201fdb251..306c13942c 100644 --- a/opentelemetry-api/src/opentelemetry/trace/span.py +++ b/opentelemetry-api/src/opentelemetry/trace/span.py @@ -45,7 +45,6 @@ def _is_valid_pair(key: str, value: str) -> bool: - return ( isinstance(key, str) and _KEY_PATTERN.fullmatch(key) is not None diff --git a/opentelemetry-api/src/opentelemetry/util/_decorator.py b/opentelemetry-api/src/opentelemetry/util/_decorator.py index 233f29ff79..fe0941f2fb 100644 --- a/opentelemetry-api/src/opentelemetry/util/_decorator.py +++ b/opentelemetry-api/src/opentelemetry/util/_decorator.py @@ -30,7 +30,8 @@ class _AgnosticContextManager( - contextlib._GeneratorContextManager, Generic[R] # type: ignore # FIXME use contextlib._GeneratorContextManager[R] when we drop the python 3.8 support + contextlib._GeneratorContextManager, + Generic[R], # type: ignore # FIXME use contextlib._GeneratorContextManager[R] when we drop the python 3.8 support ): # pylint: disable=protected-access """Context manager that can decorate both async and sync functions. diff --git a/opentelemetry-api/src/opentelemetry/util/_providers.py b/opentelemetry-api/src/opentelemetry/util/_providers.py index d255ac999f..dfe08d106a 100644 --- a/opentelemetry-api/src/opentelemetry/util/_providers.py +++ b/opentelemetry-api/src/opentelemetry/util/_providers.py @@ -30,9 +30,7 @@ def _load_provider( provider_environment_variable: str, provider: str ) -> Provider: - try: - provider_name = cast( str, environ.get(provider_environment_variable, f"default_{provider}"), diff --git a/opentelemetry-api/tests/logs/test_logger_provider.py b/opentelemetry-api/tests/logs/test_logger_provider.py index 84f3f13e9c..63a4889908 100644 --- a/opentelemetry-api/tests/logs/test_logger_provider.py +++ b/opentelemetry-api/tests/logs/test_logger_provider.py @@ -53,7 +53,6 @@ def test_get_logger_provider(self): "os.environ", {_OTEL_PYTHON_LOGGER_PROVIDER: "test_logger_provider"}, ): - with patch("opentelemetry._logs._internal._load_provider", Mock()): with patch( "opentelemetry._logs._internal.cast", diff --git a/opentelemetry-api/tests/metrics/test_instruments.py b/opentelemetry-api/tests/metrics/test_instruments.py index 12267433af..2e07e19ebd 100644 --- a/opentelemetry-api/tests/metrics/test_instruments.py +++ b/opentelemetry-api/tests/metrics/test_instruments.py @@ -675,7 +675,6 @@ def test_name_check(self): ) def test_unit_check(self): - instrument = ChildInstrument("name") self.assertEqual( @@ -709,7 +708,6 @@ def test_unit_check(self): ) def test_description_check(self): - instrument = ChildInstrument("name") self.assertEqual( diff --git a/opentelemetry-api/tests/metrics/test_meter.py b/opentelemetry-api/tests/metrics/test_meter.py index 8b427a7372..aef5ea1a8b 100644 --- a/opentelemetry-api/tests/metrics/test_meter.py +++ b/opentelemetry-api/tests/metrics/test_meter.py @@ -59,7 +59,6 @@ def create_observable_up_down_counter( class TestMeter(TestCase): def test_repeated_instrument_names(self): - try: test_meter = NoOpMeter("name") diff --git a/opentelemetry-api/tests/metrics/test_meter_provider.py b/opentelemetry-api/tests/metrics/test_meter_provider.py index 559b56205e..046584a3f0 100644 --- a/opentelemetry-api/tests/metrics/test_meter_provider.py +++ b/opentelemetry-api/tests/metrics/test_meter_provider.py @@ -95,7 +95,6 @@ def test_get_meter_provider(reset_meter_provider): with patch.dict( "os.environ", {OTEL_PYTHON_METER_PROVIDER: "test_meter_provider"} ): - with patch("opentelemetry.metrics._internal._load_provider", Mock()): with patch( "opentelemetry.metrics._internal.cast", diff --git a/opentelemetry-api/tests/propagators/test_composite.py b/opentelemetry-api/tests/propagators/test_composite.py index 14d1894153..19a505f7bb 100644 --- a/opentelemetry-api/tests/propagators/test_composite.py +++ b/opentelemetry-api/tests/propagators/test_composite.py @@ -91,7 +91,10 @@ def test_single_propagator(self): def test_multiple_propagators(self): propagator = CompositePropagator( - [self.mock_propagator_0, self.mock_propagator_1] + [ + self.mock_propagator_0, + self.mock_propagator_1, + ] ) new_carrier = {} @@ -107,7 +110,10 @@ def test_multiple_propagators_same_key(self): # test that when multiple propagators extract/inject the same # key, the later propagator values are extracted/injected propagator = CompositePropagator( - [self.mock_propagator_0, self.mock_propagator_2] + [ + self.mock_propagator_0, + self.mock_propagator_2, + ] ) new_carrier = {} diff --git a/opentelemetry-api/tests/propagators/test_propagators.py b/opentelemetry-api/tests/propagators/test_propagators.py index 29065b8cb3..f0554ad281 100644 --- a/opentelemetry-api/tests/propagators/test_propagators.py +++ b/opentelemetry-api/tests/propagators/test_propagators.py @@ -32,7 +32,6 @@ class TestPropagators(TestCase): @patch("opentelemetry.propagators.composite.CompositePropagator") def test_default_composite_propagators(self, mock_compositehttppropagator): def test_propagators(propagators): - propagators = {propagator.__class__ for propagator in propagators} self.assertEqual(len(propagators), 2) @@ -56,7 +55,6 @@ def test_propagators(propagators): def test_non_default_propagators( self, mock_entry_points, mock_compositehttppropagator ): - mock_entry_points.configure_mock( **{ "side_effect": [ @@ -107,7 +105,6 @@ def test_propagators(propagators): environ, {OTEL_PROPAGATORS: "tracecontext , unknown , baggage"} ) def test_composite_propagators_error(self): - with self.assertRaises(ValueError) as cm: # pylint: disable=import-outside-toplevel import opentelemetry.propagate diff --git a/opentelemetry-api/tests/propagators/test_w3cbaggagepropagator.py b/opentelemetry-api/tests/propagators/test_w3cbaggagepropagator.py index ccc4b3cb2d..7666b39cbb 100644 --- a/opentelemetry-api/tests/propagators/test_w3cbaggagepropagator.py +++ b/opentelemetry-api/tests/propagators/test_w3cbaggagepropagator.py @@ -128,7 +128,6 @@ def test_extract_unquote_plus(self): ) def test_header_max_entries_skip_invalid_entry(self): - with self.assertLogs(level=WARNING) as warning: self.assertEqual( self._extract( @@ -221,7 +220,6 @@ def test_inject_non_string_values(self): @patch("opentelemetry.baggage.propagation.get_all") @patch("opentelemetry.baggage.propagation._format_baggage") def test_fields(self, mock_format_baggage, mock_baggage): - mock_setter = Mock() self.propagator.inject({}, setter=mock_setter) @@ -244,7 +242,6 @@ def test__format_baggage(self): @patch("opentelemetry.baggage._BAGGAGE_KEY", new="abc") def test_inject_extract(self): - carrier = {} context = set_baggage( diff --git a/opentelemetry-api/tests/trace/propagation/test_tracecontexthttptextformat.py b/opentelemetry-api/tests/trace/propagation/test_tracecontexthttptextformat.py index 7fefd8dea6..150982cab4 100644 --- a/opentelemetry-api/tests/trace/propagation/test_tracecontexthttptextformat.py +++ b/opentelemetry-api/tests/trace/propagation/test_tracecontexthttptextformat.py @@ -245,7 +245,6 @@ def test_tracestate_keys(self): @patch("opentelemetry.trace.INVALID_SPAN_CONTEXT") @patch("opentelemetry.trace.get_current_span") def test_fields(self, mock_get_current_span, mock_invalid_span_context): - mock_get_current_span.configure_mock( return_value=Mock( **{ diff --git a/opentelemetry-api/tests/trace/test_globals.py b/opentelemetry-api/tests/trace/test_globals.py index c2cc80db82..cdeeed246a 100644 --- a/opentelemetry-api/tests/trace/test_globals.py +++ b/opentelemetry-api/tests/trace/test_globals.py @@ -109,7 +109,6 @@ def test_use_span(self): self.assertEqual(trace.get_current_span(), trace.INVALID_SPAN) def test_use_span_end_on_exit(self): - test_span = TestSpan(trace.INVALID_SPAN_CONTEXT) with trace.use_span(test_span): diff --git a/opentelemetry-api/tests/trace/test_status.py b/opentelemetry-api/tests/trace/test_status.py index 6388ae9804..f670bdb44b 100644 --- a/opentelemetry-api/tests/trace/test_status.py +++ b/opentelemetry-api/tests/trace/test_status.py @@ -30,7 +30,9 @@ def test_constructor(self): def test_invalid_description(self): with self.assertLogs(level=WARNING) as warning: - status = Status(status_code=StatusCode.ERROR, description={"test": "val"}) # type: ignore + status = Status( + status_code=StatusCode.ERROR, description={"test": "val"} + ) # type: ignore self.assertIs(status.status_code, StatusCode.ERROR) self.assertEqual(status.description, None) self.assertIn( diff --git a/opentelemetry-api/tests/util/test__importlib_metadata.py b/opentelemetry-api/tests/util/test__importlib_metadata.py index 92a4e7dd62..406f8ce527 100644 --- a/opentelemetry-api/tests/util/test__importlib_metadata.py +++ b/opentelemetry-api/tests/util/test__importlib_metadata.py @@ -23,7 +23,6 @@ class TestEntryPoints(TestCase): def test_entry_points(self): - self.assertIsInstance( next( iter( diff --git a/opentelemetry-api/tests/util/test__providers.py b/opentelemetry-api/tests/util/test__providers.py index f7b21ebacf..988b6afdae 100644 --- a/opentelemetry-api/tests/util/test__providers.py +++ b/opentelemetry-api/tests/util/test__providers.py @@ -29,7 +29,6 @@ class Test_Providers(TestCase): ) @patch("opentelemetry.util._importlib_metadata.entry_points") def test__providers(self, mock_entry_points): - reload(_providers) mock_entry_points.configure_mock( diff --git a/opentelemetry-proto/tests/test_proto.py b/opentelemetry-proto/tests/test_proto.py index 9670be4627..5c04116243 100644 --- a/opentelemetry-proto/tests/test_proto.py +++ b/opentelemetry-proto/tests/test_proto.py @@ -19,6 +19,5 @@ class TestInstrumentor(TestCase): def test_proto(self): - if find_spec("opentelemetry.proto") is None: self.fail("opentelemetry-proto not installed") diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py index 33c5147a59..9038f3675e 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py @@ -91,7 +91,6 @@ def _import_config_components( selected_components: List[str], entry_point_name: str ) -> Sequence[Tuple[str, object]]: - component_implementations = [] for selected_component in selected_components: @@ -109,13 +108,11 @@ def _import_config_components( ) ) except KeyError: - raise RuntimeError( f"Requested entry point '{entry_point_name}' not found" ) except StopIteration: - raise RuntimeError( f"Requested component '{selected_component}' not found in " f"entry point '{entry_point_name}'" @@ -177,7 +174,7 @@ def _get_exporter_entry_point( def _get_exporter_names( - signal_type: Literal["traces", "metrics", "logs"] + signal_type: Literal["traces", "metrics", "logs"], ) -> Sequence[str]: names = environ.get(_EXPORTER_ENV_BY_SIGNAL_TYPE.get(signal_type, "")) @@ -265,7 +262,10 @@ def _import_exporters( metric_exporters = {} log_exporters = {} - for (exporter_name, exporter_impl,) in _import_config_components( + for ( + exporter_name, + exporter_impl, + ) in _import_config_components( trace_exporter_names, "opentelemetry_traces_exporter" ): if issubclass(exporter_impl, SpanExporter): @@ -273,7 +273,10 @@ def _import_exporters( else: raise RuntimeError(f"{exporter_name} is not a trace exporter") - for (exporter_name, exporter_impl,) in _import_config_components( + for ( + exporter_name, + exporter_impl, + ) in _import_config_components( metric_exporter_names, "opentelemetry_metrics_exporter" ): # The metric exporter components may be push MetricExporter or pull exporters which @@ -283,7 +286,10 @@ def _import_exporters( else: raise RuntimeError(f"{exporter_name} is not a metric exporter") - for (exporter_name, exporter_impl,) in _import_config_components( + for ( + exporter_name, + exporter_impl, + ) in _import_config_components( log_exporter_names, "opentelemetry_logs_exporter" ): if issubclass(exporter_impl, LogExporter): @@ -360,9 +366,9 @@ def _initialize_components(auto_instrumentation_version): auto_resource = {} # populate version if using auto-instrumentation if auto_instrumentation_version: - auto_resource[ - ResourceAttributes.TELEMETRY_AUTO_VERSION - ] = auto_instrumentation_version + auto_resource[ResourceAttributes.TELEMETRY_AUTO_VERSION] = ( + auto_instrumentation_version + ) resource = Resource.create(auto_resource) _init_tracing( @@ -391,7 +397,6 @@ class _BaseConfigurator(ABC): _is_instrumented = False def __new__(cls, *args, **kwargs): - if cls._instance is None: cls._instance = object.__new__(cls, *args, **kwargs) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/__init__.py index 8ba0dae6f2..4b407353ab 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/__init__.py @@ -94,7 +94,6 @@ def __init__( max_attributes: Optional[int] = None, max_attribute_length: Optional[int] = None, ): - # attribute count global_max_attributes = self._from_env_if_absent( max_attributes, OTEL_ATTRIBUTE_COUNT_LIMIT diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py index 597c55a672..79c3ffc119 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py @@ -135,9 +135,7 @@ def shutdown(self): self._shutdown = True self._exporter.shutdown() - def force_flush( - self, timeout_millis: int = 30000 - ) -> bool: # pylint: disable=no-self-use + def force_flush(self, timeout_millis: int = 30000) -> bool: # pylint: disable=no-self-use return True @@ -217,9 +215,7 @@ def __init__( self._log_records = [None] * self._max_export_batch_size self._worker_thread.start() if hasattr(os, "register_at_fork"): - os.register_at_fork( - after_in_child=self._at_fork_reinit - ) # pylint: disable=protected-access + os.register_at_fork(after_in_child=self._at_fork_reinit) # pylint: disable=protected-access self._pid = os.getpid() def _at_fork_reinit(self): diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py index 7b21d92d2a..a5930dbd5a 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py @@ -84,7 +84,6 @@ class _DefaultErrorHandler(ErrorHandler): # pylint: disable=useless-return def _handle(self, error: Exception, *args, **kwargs): - logger.exception("Error handled by default error handler: ") return None @@ -111,9 +110,7 @@ def __enter__(self): # pylint: disable=no-self-use def __exit__(self, exc_type, exc_value, traceback): - if exc_value is None: - return None plugin_handled = False @@ -123,19 +120,15 @@ def __exit__(self, exc_type, exc_value, traceback): ) for error_handler_entry_point in error_handler_entry_points: - error_handler_class = error_handler_entry_point.load() if issubclass(error_handler_class, exc_value.__class__): - try: - error_handler_class()._handle(exc_value) plugin_handled = True # pylint: disable=broad-except except Exception as error_handling_error: - logger.exception( "%s error while handling error" " %s by error handler %s", @@ -145,7 +138,6 @@ def __exit__(self, exc_type, exc_value, traceback): ) if not plugin_handled: - _DefaultErrorHandler()._handle(exc_value) return True diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/__init__.py index a907a28976..96bb54f61f 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/__init__.py @@ -15,15 +15,15 @@ from opentelemetry.sdk.metrics._internal import Meter, MeterProvider from opentelemetry.sdk.metrics._internal.exceptions import MetricsTimeoutError -from opentelemetry.sdk.metrics._internal.instrument import Counter -from opentelemetry.sdk.metrics._internal.instrument import Gauge as _Gauge from opentelemetry.sdk.metrics._internal.instrument import ( + Counter, Histogram, ObservableCounter, ObservableGauge, ObservableUpDownCounter, UpDownCounter, ) +from opentelemetry.sdk.metrics._internal.instrument import Gauge as _Gauge __all__ = [ "Meter", diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py index 908d8f81cf..1e70021fa9 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py @@ -77,7 +77,6 @@ def __init__( self._instrument_id_instrument_lock = Lock() def create_counter(self, name, unit="", description="") -> APICounter: - ( is_instrument_registered, instrument_id, @@ -113,7 +112,6 @@ def create_counter(self, name, unit="", description="") -> APICounter: def create_up_down_counter( self, name, unit="", description="" ) -> APIUpDownCounter: - ( is_instrument_registered, instrument_id, @@ -151,7 +149,6 @@ def create_up_down_counter( def create_observable_counter( self, name, callbacks=None, unit="", description="" ) -> APIObservableCounter: - ( is_instrument_registered, instrument_id, @@ -190,7 +187,6 @@ def create_observable_counter( return instrument def create_histogram(self, name, unit="", description="") -> APIHistogram: - ( is_instrument_registered, instrument_id, @@ -223,7 +219,6 @@ def create_histogram(self, name, unit="", description="") -> APIHistogram: return instrument def create_gauge(self, name, unit="", description="") -> APIGauge: - ( is_instrument_registered, instrument_id, @@ -259,7 +254,6 @@ def create_gauge(self, name, unit="", description="") -> APIGauge: def create_observable_gauge( self, name, callbacks=None, unit="", description="" ) -> APIObservableGauge: - ( is_instrument_registered, instrument_id, @@ -300,7 +294,6 @@ def create_observable_gauge( def create_observable_up_down_counter( self, name, callbacks=None, unit="", description="" ) -> APIObservableUpDownCounter: - ( is_instrument_registered, instrument_id, @@ -407,7 +400,6 @@ def __init__( self._shutdown = False for metric_reader in self._sdk_config.metric_readers: - with self._all_metric_readers_lock: if metric_reader in self._all_metric_readers: raise Exception( @@ -439,11 +431,9 @@ def force_flush(self, timeout_millis: float = 10_000) -> bool: # pylint: disable=broad-except except Exception as error: - metric_reader_error[metric_reader] = error if metric_reader_error: - metric_reader_error_string = "\n".join( [ f"{metric_reader.__class__.__name__}: {repr(error)}" @@ -485,7 +475,6 @@ def _shutdown(): # pylint: disable=broad-except except Exception as error: - metric_reader_error[metric_reader] = error if self._atexit_handler is not None: @@ -493,7 +482,6 @@ def _shutdown(): self._atexit_handler = None if metric_reader_error: - metric_reader_error_string = "\n".join( [ f"{metric_reader.__class__.__name__}: {repr(error)}" @@ -515,7 +503,6 @@ def get_meter( version: Optional[str] = None, schema_url: Optional[str] = None, ) -> Meter: - if self._disabled: _logger.warning("SDK is disabled.") return NoOpMeter(name, version=version, schema_url=schema_url) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py index 7dd7f58f27..36c302abc6 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py @@ -82,9 +82,7 @@ def conflicts(self, other: "_ViewInstrumentMatch") -> bool: # pylint: disable=protected-access def consume_measurement(self, measurement: Measurement) -> None: - if self._view._attribute_keys is not None: - attributes = {} for key, value in (measurement.attributes or {}).items(): @@ -127,7 +125,6 @@ def collect( collection_aggregation_temporality: AggregationTemporality, collection_start_nanos: int, ) -> Optional[Sequence[DataPointT]]: - data_points: List[DataPointT] = [] with self._lock: for aggregation in self._attributes_aggregation.values(): diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py index 3ec37473f6..cd2fbb5092 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py @@ -47,16 +47,14 @@ from opentelemetry.sdk.metrics._internal.point import Buckets as BucketsPoint from opentelemetry.sdk.metrics._internal.point import ( ExponentialHistogramDataPoint, + HistogramDataPoint, + NumberDataPoint, + Sum, ) from opentelemetry.sdk.metrics._internal.point import Gauge as GaugePoint from opentelemetry.sdk.metrics._internal.point import ( Histogram as HistogramPoint, ) -from opentelemetry.sdk.metrics._internal.point import ( - HistogramDataPoint, - NumberDataPoint, - Sum, -) from opentelemetry.util.types import Attributes _DataPointVarT = TypeVar("_DataPointVarT", NumberDataPoint, HistogramDataPoint) @@ -274,7 +272,6 @@ def collect( collection_aggregation_temporality is AggregationTemporality.DELTA ): - if current_value is None: return None @@ -467,7 +464,6 @@ def collect( collection_aggregation_temporality is AggregationTemporality.DELTA ): - if current_value is None: return None @@ -609,7 +605,6 @@ def aggregate(self, measurement: Measurement) -> None: # pylint: disable=too-many-branches,too-many-statements, too-many-locals with self._lock: - value = measurement.value # 0. Set the following attributes: @@ -677,7 +672,6 @@ def aggregate(self, measurement: Measurement) -> None: # 4. Rescale the mapping if needed. if is_rescaling_needed: - self._downscale( self._get_scale_change(low, high), self._positive, @@ -823,7 +817,6 @@ def collect( collection_aggregation_temporality is AggregationTemporality.CUMULATIVE ): - start_time_unix_nano = self._previous_start_time_unix_nano sum_ = current_sum + self._previous_sum # Only update min/max on delta -> cumulative @@ -899,7 +892,6 @@ def collect( def _get_low_high_previous_current( self, previous_point_buckets, current_point_buckets, min_scale ): - (previous_point_low, previous_point_high) = self._get_low_high( previous_point_buckets, min_scale ) @@ -930,7 +922,6 @@ def _get_low_high(self, buckets, min_scale): return buckets.index_start >> shift, buckets.index_end >> shift def _get_scale_change(self, low, high): - change = 0 while high - low >= self._max_size: @@ -942,7 +933,6 @@ def _get_scale_change(self, low, high): return change def _downscale(self, change: int, positive, negative): - if change == 0: return @@ -969,13 +959,11 @@ def _merge( min_scale, aggregation_temporality, ): - current_change = current_scale - min_scale for current_bucket_index, current_bucket in enumerate( current_buckets.counts ): - if current_bucket == 0: continue @@ -1062,7 +1050,6 @@ def _create_aggregation( attributes: Attributes, start_time_unix_nano: int, ) -> _Aggregation: - # pylint: disable=too-many-return-statements if isinstance(instrument, Counter): return _SumAggregation( @@ -1188,7 +1175,6 @@ def _create_aggregation( attributes: Attributes, start_time_unix_nano: int, ) -> _Aggregation: - instrument_aggregation_temporality = AggregationTemporality.UNSPECIFIED if isinstance(instrument, Synchronous): instrument_aggregation_temporality = AggregationTemporality.DELTA @@ -1218,7 +1204,6 @@ def _create_aggregation( attributes: Attributes, start_time_unix_nano: int, ) -> _Aggregation: - instrument_aggregation_temporality = AggregationTemporality.UNSPECIFIED if isinstance(instrument, Synchronous): instrument_aggregation_temporality = AggregationTemporality.DELTA diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/buckets.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/buckets.py index 5c6b04bd39..a538221189 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/buckets.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/buckets.py @@ -16,7 +16,6 @@ class Buckets: - # No method of this class is protected by locks because instances of this # class are only used in methods that are protected by locks themselves. @@ -74,7 +73,6 @@ def counts(self): return self._counts def grow(self, needed: int, max_size: int) -> None: - size = len(self._counts) bias = self.__index_base - self.__index_start old_positive_limit = size - bias @@ -129,7 +127,6 @@ def downscale(self, amount: int) -> None: bias = self.__index_base - self.__index_start if bias != 0: - self.__index_base = self.__index_start # [0, 1, 2, 3, 4] Original backing array @@ -157,7 +154,6 @@ def downscale(self, amount: int) -> None: index = mod while index < each and inpos < size: - if outpos != inpos: self._counts[outpos] += self._counts[inpos] self._counts[inpos] = 0 diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py index d8c780cf40..96709ccee5 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py @@ -22,7 +22,6 @@ class Mapping(ABC): # pylint: disable=no-member def __new__(cls, scale: int): - with cls._mappings_lock: # cls._mappings and cls._mappings_lock are implemented in each of # the child classes as a dictionary and a lock, respectively. They diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/ieee_754.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/ieee_754.py index 9503b57c0e..d4b7e86148 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/ieee_754.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/ieee_754.py @@ -82,8 +82,7 @@ def get_ieee_754_exponent(value: float) -> int: # # This step isolates the exponent bits, turning every bit outside # of the exponent field (sign and mantissa bits) to 0. - c_uint64.from_buffer(c_double(value)).value - & EXPONENT_MASK + c_uint64.from_buffer(c_double(value)).value & EXPONENT_MASK # For the example this means: # 18442240474082181119 & EXPONENT_MASK == 9214364837600034816 # bin(9214364837600034816) == '0b111111111100000000000000000000000000000000000000000000000000000' diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py index 5abf9238b9..e73f3a81e2 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py @@ -115,7 +115,6 @@ def map_to_index(self, value: float) -> int: ) def get_lower_boundary(self, index: int) -> float: - if index >= self._max_normal_lower_boundary_index: if index == self._max_normal_lower_boundary_index: return 2 * exp( diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py index 14546636a9..bb91e803b3 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py @@ -142,8 +142,7 @@ def __init__( out: IO = stdout, formatter: Callable[ ["opentelemetry.sdk.metrics.export.MetricsData"], str - ] = lambda metrics_data: metrics_data.to_json() - + linesep, + ] = lambda metrics_data: metrics_data.to_json() + linesep, preferred_temporality: Dict[type, AggregationTemporality] = None, preferred_aggregation: Dict[ type, "opentelemetry.sdk.metrics.view.Aggregation" @@ -247,27 +246,27 @@ def __init__( if typ is Counter: self._instrument_class_temporality[_Counter] = temporality elif typ is UpDownCounter: - self._instrument_class_temporality[ - _UpDownCounter - ] = temporality + self._instrument_class_temporality[_UpDownCounter] = ( + temporality + ) elif typ is Histogram: - self._instrument_class_temporality[ - _Histogram - ] = temporality + self._instrument_class_temporality[_Histogram] = ( + temporality + ) elif typ is Gauge: self._instrument_class_temporality[_Gauge] = temporality elif typ is ObservableCounter: - self._instrument_class_temporality[ - _ObservableCounter - ] = temporality + self._instrument_class_temporality[_ObservableCounter] = ( + temporality + ) elif typ is ObservableUpDownCounter: self._instrument_class_temporality[ _ObservableUpDownCounter ] = temporality elif typ is ObservableGauge: - self._instrument_class_temporality[ - _ObservableGauge - ] = temporality + self._instrument_class_temporality[_ObservableGauge] = ( + temporality + ) else: raise Exception(f"Invalid instrument class found {typ}") @@ -287,27 +286,27 @@ def __init__( if typ is Counter: self._instrument_class_aggregation[_Counter] = aggregation elif typ is UpDownCounter: - self._instrument_class_aggregation[ - _UpDownCounter - ] = aggregation + self._instrument_class_aggregation[_UpDownCounter] = ( + aggregation + ) elif typ is Histogram: - self._instrument_class_aggregation[ - _Histogram - ] = aggregation + self._instrument_class_aggregation[_Histogram] = ( + aggregation + ) elif typ is Gauge: self._instrument_class_aggregation[_Gauge] = aggregation elif typ is ObservableCounter: - self._instrument_class_aggregation[ - _ObservableCounter - ] = aggregation + self._instrument_class_aggregation[_ObservableCounter] = ( + aggregation + ) elif typ is ObservableUpDownCounter: self._instrument_class_aggregation[ _ObservableUpDownCounter ] = aggregation elif typ is ObservableGauge: - self._instrument_class_aggregation[ - _ObservableGauge - ] = aggregation + self._instrument_class_aggregation[_ObservableGauge] = ( + aggregation + ) else: raise Exception(f"Invalid instrument class found {typ}") @@ -333,7 +332,6 @@ def collect(self, timeout_millis: float = 10_000) -> None: metrics = self._collect(self, timeout_millis=timeout_millis) if metrics is not None: - self._receive_metrics( metrics, timeout_millis=timeout_millis, @@ -398,13 +396,13 @@ def __init__( preferred_aggregation=preferred_aggregation, ) self._lock = RLock() - self._metrics_data: ( - "opentelemetry.sdk.metrics.export.MetricsData" - ) = None + self._metrics_data: "opentelemetry.sdk.metrics.export.MetricsData" = ( + None + ) def get_metrics_data( self, - ) -> ("opentelemetry.sdk.metrics.export.MetricsData"): + ) -> "opentelemetry.sdk.metrics.export.MetricsData": """Reads and returns current metrics from the SDK""" with self._lock: self.collect() @@ -490,9 +488,7 @@ def __init__( ) self._daemon_thread.start() if hasattr(os, "register_at_fork"): - os.register_at_fork( - after_in_child=self._at_fork_reinit - ) # pylint: disable=protected-access + os.register_at_fork(after_in_child=self._at_fork_reinit) # pylint: disable=protected-access elif self._export_interval_millis <= 0: raise ValueError( f"interval value {self._export_interval_millis} is invalid \ @@ -527,7 +523,6 @@ def _receive_metrics( timeout_millis: float = 10_000, **kwargs, ) -> None: - token = attach(set_value(_SUPPRESS_INSTRUMENTATION_KEY, True)) try: with self._export_lock: @@ -551,9 +546,7 @@ def _shutdown(): self._shutdown_event.set() if self._daemon_thread: - self._daemon_thread.join( - timeout=(deadline_ns - time_ns()) / 10**9 - ) + self._daemon_thread.join(timeout=(deadline_ns - time_ns()) / 10**9) self._exporter.shutdown(timeout=(deadline_ns - time_ns()) / 10**6) def force_flush(self, timeout_millis: float = 10_000) -> bool: diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py index 11dd849934..538be42ace 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py @@ -104,11 +104,8 @@ def __init__( self._callbacks: List[CallbackT] = [] if callbacks is not None: - for callback in callbacks: - if isinstance(callback, Generator): - # advance generator to it's first yield next(callback) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py index c5e81678dc..6d4e5f6be2 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py @@ -95,7 +95,6 @@ def collect( metric_reader: "opentelemetry.sdk.metrics.MetricReader", timeout_millis: float = 10_000, ) -> Optional[Iterable[Metric]]: - with self._lock: metric_reader_storage = self._reader_storages[metric_reader] # for now, just use the defaults @@ -105,11 +104,9 @@ def collect( default_timeout_millis = 10000 * 10**6 for async_instrument in self._async_instruments: - remaining_time = deadline_ns - time_ns() if remaining_time < default_timeout_millis: - callback_options = CallbackOptions( timeout_millis=remaining_time ) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py index 700ace8720..fdd9a13ec4 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py @@ -107,9 +107,9 @@ def _get_or_init_view_instrument_match( ), ) ) - self._instrument_view_instrument_matches[ - instrument - ] = view_instrument_matches + self._instrument_view_instrument_matches[instrument] = ( + view_instrument_matches + ) return view_instrument_matches @@ -135,10 +135,9 @@ def collect(self) -> Optional[MetricsData]: collection_start_nanos = time_ns() with self._lock: - - instrumentation_scope_scope_metrics: ( - Dict[InstrumentationScope, ScopeMetrics] - ) = {} + instrumentation_scope_scope_metrics: Dict[ + InstrumentationScope, ScopeMetrics + ] = {} for ( instrument, @@ -151,7 +150,6 @@ def collect(self) -> Optional[MetricsData]: metrics: List[Metric] = [] for view_instrument_match in view_instrument_matches: - data_points = view_instrument_match.collect( aggregation_temporality, collection_start_nanos ) @@ -214,7 +212,6 @@ def collect(self) -> Optional[MetricsData]: ) if metrics: - if instrument.instrumentation_scope not in ( instrumentation_scope_scope_metrics ): @@ -231,7 +228,6 @@ def collect(self) -> Optional[MetricsData]: ].metrics.extend(metrics) if instrumentation_scope_scope_metrics: - return MetricsData( resource_metrics=[ ResourceMetrics( @@ -276,7 +272,6 @@ def _handle_view_instrument_match( if existing_view_instrument_match.conflicts( new_view_instrument_match ): - _logger.warning( "Views %s and %s will cause conflicting " "metrics identities", diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py index 5b548a5e05..575136258d 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py @@ -113,7 +113,6 @@ def __init__( and instrument_name is not None and ("*" in instrument_name or "?" in instrument_name) ): - raise Exception( f"View {name} declared with wildcard " "characters in instrument_name" @@ -136,7 +135,6 @@ def __init__( # pylint: disable=too-many-return-statements # pylint: disable=too-many-branches def _match(self, instrument: Instrument) -> bool: - if self._instrument_type is not None: if not isinstance(instrument, self._instrument_type): return False diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py index 852b23f500..118288608f 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py @@ -53,7 +53,7 @@ `_ that have prescribed semantic meanings, for example ``service.name`` in the above example. - """ +""" import abc import concurrent.futures @@ -305,7 +305,6 @@ def detect(self) -> "Resource": class OTELResourceDetector(ResourceDetector): # pylint: disable=no-self-use def detect(self) -> "Resource": - env_resources_items = environ.get(OTEL_RESOURCE_ATTRIBUTES) env_resource_map = {} diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py index ff999b9ba8..26a62d45c4 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py @@ -601,7 +601,6 @@ def __init__( max_attribute_length: Optional[int] = None, max_span_attribute_length: Optional[int] = None, ): - # span events and links count self.max_events = self._from_env_if_absent( max_events, @@ -702,12 +701,10 @@ def _from_env_if_absent( ) # not removed for backward compat. please use SpanLimits instead. -SPAN_ATTRIBUTE_COUNT_LIMIT = ( - SpanLimits._from_env_if_absent( # pylint: disable=protected-access - None, - OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, - _DEFAULT_OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, - ) +SPAN_ATTRIBUTE_COUNT_LIMIT = SpanLimits._from_env_if_absent( # pylint: disable=protected-access + None, + OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, + _DEFAULT_OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, ) @@ -1081,7 +1078,6 @@ def start_span( # pylint: disable=too-many-locals record_exception: bool = True, set_status_on_exception: bool = True, ) -> trace_api.Span: - parent_span_context = trace_api.get_current_span( context ).get_span_context() diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py index a4a9958343..83a5b54415 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py @@ -183,9 +183,7 @@ def __init__( ) self.span_exporter = span_exporter - self.queue = collections.deque( - [], max_queue_size - ) # type: typing.Deque[Span] + self.queue = collections.deque([], max_queue_size) # type: typing.Deque[Span] self.worker_thread = threading.Thread( name="OtelBatchSpanProcessor", target=self.worker, daemon=True ) @@ -199,14 +197,10 @@ def __init__( # flag that indicates that spans are being dropped self._spans_dropped = False # precallocated list to send spans to exporter - self.spans_list = [ - None - ] * self.max_export_batch_size # type: typing.List[typing.Optional[Span]] + self.spans_list = [None] * self.max_export_batch_size # type: typing.List[typing.Optional[Span]] self.worker_thread.start() if hasattr(os, "register_at_fork"): - os.register_at_fork( - after_in_child=self._at_fork_reinit - ) # pylint: disable=protected-access + os.register_at_fork(after_in_child=self._at_fork_reinit) # pylint: disable=protected-access self._pid = os.getpid() def on_start( @@ -259,7 +253,6 @@ def worker(self): len(self.queue) < self.max_export_batch_size and flush_request is None ): - self.condition.wait(timeout) flush_request = self._get_and_unset_flush_request() if not self.queue: @@ -384,7 +377,6 @@ def _drain_queue(self): self._export_batch() def force_flush(self, timeout_millis: int = None) -> bool: - if timeout_millis is None: timeout_millis = self.export_timeout_millis @@ -509,8 +501,7 @@ def __init__( out: typing.IO = sys.stdout, formatter: typing.Callable[ [ReadableSpan], str - ] = lambda span: span.to_json() - + linesep, + ] = lambda span: span.to_json() + linesep, ): self.out = out self.formatter = formatter diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py index 40e142ea1a..5a73e84130 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py @@ -131,6 +131,7 @@ class CustomSamplerFactory: In order to configure you application with a custom sampler's entry point, set the ``OTEL_TRACES_SAMPLER`` environment variable to the key name of the entry point. For example, to configured the above sampler, set ``OTEL_TRACES_SAMPLER=custom_sampler_name`` and ``OTEL_TRACES_SAMPLER_ARG=0.5``. """ + import abc import enum import os diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/util/__init__.pyi b/opentelemetry-sdk/src/opentelemetry/sdk/util/__init__.pyi index d42e0f018f..d7c2f209e4 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/util/__init__.pyi +++ b/opentelemetry-sdk/src/opentelemetry/sdk/util/__init__.pyi @@ -30,7 +30,7 @@ _VT = TypeVar("_VT") def ns_to_iso_str(nanoseconds: int) -> str: ... def get_dict_as_key( - labels: Mapping[str, AttributeValue] + labels: Mapping[str, AttributeValue], ) -> AttributesAsKey: ... class BoundedList(Sequence[_T]): diff --git a/opentelemetry-sdk/tests/error_handler/test_error_handler.py b/opentelemetry-sdk/tests/error_handler/test_error_handler.py index 116771dc9a..31a07315ae 100644 --- a/opentelemetry-sdk/tests/error_handler/test_error_handler.py +++ b/opentelemetry-sdk/tests/error_handler/test_error_handler.py @@ -27,7 +27,6 @@ class TestErrorHandler(TestCase): @patch("opentelemetry.sdk.error_handler.entry_points") def test_default_error_handler(self, mock_entry_points): - with self.assertLogs(logger, ERROR): with GlobalErrorHandler(): raise Exception("some exception") @@ -104,7 +103,6 @@ def _handle(self, error: Exception): # pylint: disable=no-self-use @patch("opentelemetry.sdk.error_handler.entry_points") def test_plugin_error_handler_context_manager(self, mock_entry_points): - mock_error_handler_instance = Mock() class MockErrorHandlerClass(IndexError): diff --git a/opentelemetry-sdk/tests/logs/test_handler.py b/opentelemetry-sdk/tests/logs/test_handler.py index 0f96361712..866e5d05d7 100644 --- a/opentelemetry-sdk/tests/logs/test_handler.py +++ b/opentelemetry-sdk/tests/logs/test_handler.py @@ -80,7 +80,6 @@ def test_log_record_emit_noop(self): handler_mock._translate.assert_not_called() def test_log_flush_noop(self): - no_op_logger_provider = NoOpLoggerProvider() no_op_logger_provider.force_flush = Mock() diff --git a/opentelemetry-sdk/tests/logs/test_multi_log_processor.py b/opentelemetry-sdk/tests/logs/test_multi_log_processor.py index 110fedb957..3a1c3ae2c1 100644 --- a/opentelemetry-sdk/tests/logs/test_multi_log_processor.py +++ b/opentelemetry-sdk/tests/logs/test_multi_log_processor.py @@ -42,7 +42,10 @@ def emit(self, log_data): if self._closed: return self._log_list.append( - (log_data.log_record.body, log_data.log_record.severity_text) + ( + log_data.log_record.body, + log_data.log_record.severity_text, + ) ) def shutdown(self): diff --git a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py index 96ba399181..1232aa6376 100644 --- a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py +++ b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py @@ -47,7 +47,6 @@ def right_boundary(scale: int, index: int) -> float: class TestExponentMapping(TestCase): def test_singleton(self): - self.assertIs(ExponentMapping(-3), ExponentMapping(-3)) self.assertIsNot(ExponentMapping(-3), ExponentMapping(-5)) @@ -61,19 +60,16 @@ def test_singleton(self): "exponent_mapping.ExponentMapping._init" ) def test_init_called_once(self, mock_init): - ExponentMapping(-3) ExponentMapping(-3) mock_init.assert_called_once() def test_exponent_mapping_0(self): - with self.assertNotRaises(Exception): ExponentMapping(0) def test_exponent_mapping_zero(self): - exponent_mapping = ExponentMapping(0) # This is the equivalent to 1.1 in hexadecimal @@ -133,7 +129,6 @@ def test_exponent_mapping_zero(self): ) def test_exponent_mapping_min_scale(self): - exponent_mapping = ExponentMapping(ExponentMapping._min_scale) self.assertEqual(exponent_mapping.map_to_index(1.000001), 0) self.assertEqual(exponent_mapping.map_to_index(1), -1) @@ -306,7 +301,6 @@ def test_exponent_mapping_neg_four(self): self.assertEqual(exponent_mapping.map_to_index(2**-975), -61) def test_exponent_index_max(self): - for scale in range( ExponentMapping._min_scale, ExponentMapping._max_scale ): diff --git a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponential_bucket_histogram_aggregation.py b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponential_bucket_histogram_aggregation.py index 311f00a0b0..d208f214c1 100644 --- a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponential_bucket_histogram_aggregation.py +++ b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponential_bucket_histogram_aggregation.py @@ -44,7 +44,6 @@ def get_counts(buckets: Buckets) -> int: - counts = [] for index in range(len(buckets)): @@ -64,7 +63,6 @@ def swap( first: _ExponentialBucketHistogramAggregation, second: _ExponentialBucketHistogramAggregation, ): - for attribute in [ "_positive", "_negative", @@ -119,7 +117,6 @@ def assertInEpsilon(self, first, second, epsilon): self.assertGreaterEqual(first, (second * (1 - epsilon))) def require_equal(self, a, b): - if a._sum == 0 or b._sum == 0: self.assertAlmostEqual(a._sum, b._sum, 1e-6) else: @@ -234,9 +231,7 @@ def test_permutations(self): }, ], ]: - for permutation in permutations(test_values): - exponential_histogram_aggregation = ( _ExponentialBucketHistogramAggregation( Mock(), Mock(), max_size=2 @@ -244,7 +239,6 @@ def test_permutations(self): ) for value in permutation: - exponential_histogram_aggregation.aggregate( Measurement(value, Mock()) ) @@ -271,7 +265,6 @@ def test_permutations(self): ) def test_ascending_sequence(self): - for max_size in [3, 4, 6, 9]: for offset in range(-5, 6): for init_scale in [0, 4]: @@ -280,9 +273,7 @@ def test_ascending_sequence(self): def ascending_sequence_test( self, max_size: int, offset: int, init_scale: int ): - for step in range(max_size, max_size * 4): - exponential_histogram_aggregation = ( _ExponentialBucketHistogramAggregation( Mock(), Mock(), max_size=max_size @@ -375,7 +366,6 @@ def ascending_sequence_test( ) def test_reset(self): - for increment in [0x1, 0x100, 0x10000, 0x100000000, 0x200000000]: def mock_increment(self, bucket_index: int) -> None: @@ -441,7 +431,6 @@ def mock_increment(self, bucket_index: int) -> None: ) def test_move_into(self): - exponential_histogram_aggregation_0 = ( _ExponentialBucketHistogramAggregation( Mock(), Mock(), max_size=256 @@ -495,7 +484,6 @@ def test_move_into(self): ) def test_very_large_numbers(self): - exponential_histogram_aggregation = ( _ExponentialBucketHistogramAggregation(Mock(), Mock(), max_size=2) ) @@ -571,7 +559,6 @@ def expect_balanced(count: int): expect_balanced(3) def test_full_range(self): - exponential_histogram_aggregation = ( _ExponentialBucketHistogramAggregation(Mock(), Mock(), max_size=2) ) @@ -604,7 +591,6 @@ def test_full_range(self): self.assertLessEqual(exponential_histogram_aggregation._positive[1], 1) def test_aggregator_min_max(self): - exponential_histogram_aggregation = ( _ExponentialBucketHistogramAggregation(Mock(), Mock()) ) @@ -630,7 +616,6 @@ def test_aggregator_min_max(self): self.assertEqual(-1, exponential_histogram_aggregation._max) def test_aggregator_copy_swap(self): - exponential_histogram_aggregation_0 = ( _ExponentialBucketHistogramAggregation(Mock(), Mock()) ) @@ -687,7 +672,6 @@ def test_aggregator_copy_swap(self): ) def test_zero_count_by_increment(self): - exponential_histogram_aggregation_0 = ( _ExponentialBucketHistogramAggregation(Mock(), Mock()) ) @@ -730,7 +714,6 @@ def mock_increment(self, bucket_index: int) -> None: ) def test_one_count_by_increment(self): - exponential_histogram_aggregation_0 = ( _ExponentialBucketHistogramAggregation(Mock(), Mock()) ) @@ -773,13 +756,11 @@ def mock_increment(self, bucket_index: int) -> None: ) def test_boundary_statistics(self): - total = MAX_NORMAL_EXPONENT - MIN_NORMAL_EXPONENT + 1 for scale in range( LogarithmMapping._min_scale, LogarithmMapping._max_scale + 1 ): - above = 0 below = 0 diff --git a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_logarithm_mapping.py b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_logarithm_mapping.py index 1fd18845bb..d4001263d2 100644 --- a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_logarithm_mapping.py +++ b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_logarithm_mapping.py @@ -32,7 +32,6 @@ def left_boundary(scale: int, index: int) -> float: - # This is implemented in this way to avoid using a third-party bigfloat # package. The Go implementation uses a bigfloat package that is part of # their standard library. The assumption here is that the smallest float @@ -67,7 +66,6 @@ def assertInEpsilon(self, first, second, epsilon): "logarithm_mapping.LogarithmMapping._init" ) def test_init_called_once(self, mock_init): - LogarithmMapping(3) LogarithmMapping(3) @@ -78,7 +76,6 @@ def test_invalid_scale(self): LogarithmMapping(-1) def test_logarithm_mapping_scale_one(self): - # The exponentiation factor for this logarithm exponent histogram # mapping is square_root(2). # Scale 1 means 1 division between every power of two, having @@ -130,12 +127,10 @@ def test_logarithm_mapping_scale_one(self): ) def test_logarithm_boundary(self): - for scale in [1, 2, 3, 4, 10, 15]: logarithm_exponent_histogram_mapping = LogarithmMapping(scale) for index in [-100, -10, -1, 0, 1, 10, 100]: - lower_boundary = ( logarithm_exponent_histogram_mapping.get_lower_boundary( index @@ -156,7 +151,6 @@ def test_logarithm_boundary(self): ) def test_logarithm_index_max(self): - for scale in range( LogarithmMapping._min_scale, LogarithmMapping._max_scale + 1 ): diff --git a/opentelemetry-sdk/tests/metrics/integration_test/test_console_exporter.py b/opentelemetry-sdk/tests/metrics/integration_test/test_console_exporter.py index 1b3283717a..13b15f3bd2 100644 --- a/opentelemetry-sdk/tests/metrics/integration_test/test_console_exporter.py +++ b/opentelemetry-sdk/tests/metrics/integration_test/test_console_exporter.py @@ -33,7 +33,6 @@ def tearDown(self): reset_metrics_globals() def test_console_exporter(self): - output = StringIO() exporter = ConsoleMetricExporter(out=output) reader = PeriodicExportingMetricReader( @@ -74,7 +73,6 @@ def test_console_exporter(self): self.assertEqual(metrics["value"], 1) def test_console_exporter_no_export(self): - output = StringIO() exporter = ConsoleMetricExporter(out=output) reader = PeriodicExportingMetricReader( diff --git a/opentelemetry-sdk/tests/metrics/integration_test/test_cpu_time.py b/opentelemetry-sdk/tests/metrics/integration_test/test_cpu_time.py index 7b440c0332..18b8cbdcea 100644 --- a/opentelemetry-sdk/tests/metrics/integration_test/test_cpu_time.py +++ b/opentelemetry-sdk/tests/metrics/integration_test/test_cpu_time.py @@ -188,9 +188,9 @@ def cpu_time_callback( ) def test_cpu_time_generator(self): - def cpu_time_generator() -> Generator[ - Iterable[Observation], None, None - ]: + def cpu_time_generator() -> ( + Generator[Iterable[Observation], None, None] + ): options = yield while True: self.assertIsInstance(options, CallbackOptions) diff --git a/opentelemetry-sdk/tests/metrics/integration_test/test_explicit_bucket_histogram_aggregation.py b/opentelemetry-sdk/tests/metrics/integration_test/test_explicit_bucket_histogram_aggregation.py index 6db35fd4c0..f46e04ee9b 100644 --- a/opentelemetry-sdk/tests/metrics/integration_test/test_explicit_bucket_histogram_aggregation.py +++ b/opentelemetry-sdk/tests/metrics/integration_test/test_explicit_bucket_histogram_aggregation.py @@ -26,7 +26,6 @@ class TestExplicitBucketHistogramAggregation(TestCase): - test_values = [1, 6, 11, 26, 51, 76, 101, 251, 501, 751] @mark.skipif( @@ -38,7 +37,6 @@ class TestExplicitBucketHistogramAggregation(TestCase): ), ) def test_synchronous_delta_temporality(self): - aggregation = ExplicitBucketHistogramAggregation() reader = InMemoryMetricReader( @@ -54,7 +52,6 @@ def test_synchronous_delta_temporality(self): results = [] for _ in range(10): - results.append(reader.get_metrics_data()) for metrics_data in results: @@ -120,7 +117,6 @@ def test_synchronous_delta_temporality(self): results = [] for _ in range(10): - results.append(reader.get_metrics_data()) provider.shutdown() @@ -137,7 +133,6 @@ def test_synchronous_delta_temporality(self): ), ) def test_synchronous_cumulative_temporality(self): - aggregation = ExplicitBucketHistogramAggregation() reader = InMemoryMetricReader( @@ -155,7 +150,6 @@ def test_synchronous_cumulative_temporality(self): results = [] for _ in range(10): - results.append(reader.get_metrics_data()) for metrics_data in results: @@ -164,7 +158,6 @@ def test_synchronous_cumulative_temporality(self): results = [] for test_value in self.test_values: - histogram.record(test_value) results.append(reader.get_metrics_data()) @@ -178,7 +171,6 @@ def test_synchronous_cumulative_temporality(self): ) for index, metrics_data in enumerate(results): - metric_data = ( metrics_data.resource_metrics[0] .scope_metrics[0] @@ -209,7 +201,6 @@ def test_synchronous_cumulative_temporality(self): results = [] for _ in range(10): - results.append(reader.get_metrics_data()) provider.shutdown() @@ -224,7 +215,6 @@ def test_synchronous_cumulative_temporality(self): ) for metrics_data in results: - metric_data = ( metrics_data.resource_metrics[0] .scope_metrics[0] diff --git a/opentelemetry-sdk/tests/metrics/integration_test/test_histogram_export.py b/opentelemetry-sdk/tests/metrics/integration_test/test_histogram_export.py index eaf590219b..6e1213a377 100644 --- a/opentelemetry-sdk/tests/metrics/integration_test/test_histogram_export.py +++ b/opentelemetry-sdk/tests/metrics/integration_test/test_histogram_export.py @@ -21,7 +21,6 @@ class TestHistogramExport(TestCase): def test_histogram_counter_collection(self): - in_memory_metric_reader = InMemoryMetricReader() provider = MeterProvider( diff --git a/opentelemetry-sdk/tests/metrics/integration_test/test_sum_aggregation.py b/opentelemetry-sdk/tests/metrics/integration_test/test_sum_aggregation.py index 708b44f5fe..bc7322fccb 100644 --- a/opentelemetry-sdk/tests/metrics/integration_test/test_sum_aggregation.py +++ b/opentelemetry-sdk/tests/metrics/integration_test/test_sum_aggregation.py @@ -38,7 +38,6 @@ class TestSumAggregation(TestCase): ), ) def test_asynchronous_delta_temporality(self): - eight_multiple_generator = count(start=8, step=8) counter = 0 @@ -124,7 +123,6 @@ def observable_counter_callback(callback_options): ) for metrics_data in results[1:]: - metric_data = ( metrics_data.resource_metrics[0] .scope_metrics[0] @@ -163,7 +161,6 @@ def observable_counter_callback(callback_options): ), ) def test_asynchronous_cumulative_temporality(self): - eight_multiple_generator = count(start=8, step=8) counter = 0 @@ -225,7 +222,6 @@ def observable_counter_callback(callback_options): ) for index, metrics_data in enumerate(results): - metric_data = ( metrics_data.resource_metrics[0] .scope_metrics[0] @@ -260,7 +256,6 @@ def observable_counter_callback(callback_options): ), ) def test_synchronous_delta_temporality(self): - aggregation = SumAggregation() reader = InMemoryMetricReader( @@ -276,7 +271,6 @@ def test_synchronous_delta_temporality(self): results = [] for _ in range(10): - results.append(reader.get_metrics_data()) for metrics_data in results: @@ -322,7 +316,6 @@ def test_synchronous_delta_temporality(self): ) for metrics_data in results[1:]: - metric_data = ( metrics_data.resource_metrics[0] .scope_metrics[0] @@ -342,7 +335,6 @@ def test_synchronous_delta_temporality(self): results = [] for _ in range(10): - results.append(reader.get_metrics_data()) provider.shutdown() @@ -359,7 +351,6 @@ def test_synchronous_delta_temporality(self): ), ) def test_synchronous_cumulative_temporality(self): - aggregation = SumAggregation() reader = InMemoryMetricReader( @@ -375,7 +366,6 @@ def test_synchronous_cumulative_temporality(self): results = [] for _ in range(10): - results.append(reader.get_metrics_data()) for metrics_data in results: @@ -384,7 +374,6 @@ def test_synchronous_cumulative_temporality(self): results = [] for _ in range(10): - counter.add(8) results.append(reader.get_metrics_data()) @@ -398,7 +387,6 @@ def test_synchronous_cumulative_temporality(self): ) for index, metrics_data in enumerate(results): - metric_data = ( metrics_data.resource_metrics[0] .scope_metrics[0] @@ -414,7 +402,6 @@ def test_synchronous_cumulative_temporality(self): results = [] for _ in range(10): - results.append(reader.get_metrics_data()) provider.shutdown() @@ -429,7 +416,6 @@ def test_synchronous_cumulative_temporality(self): ) for metrics_data in results: - metric_data = ( metrics_data.resource_metrics[0] .scope_metrics[0] diff --git a/opentelemetry-sdk/tests/metrics/test_aggregation.py b/opentelemetry-sdk/tests/metrics/test_aggregation.py index 37656b0a34..4fd942b568 100644 --- a/opentelemetry-sdk/tests/metrics/test_aggregation.py +++ b/opentelemetry-sdk/tests/metrics/test_aggregation.py @@ -481,7 +481,6 @@ def setUpClass(cls): cls.default_aggregation = DefaultAggregation() def test_counter(self): - aggregation = self.default_aggregation._create_aggregation( _Counter("name", Mock(), Mock()), Mock(), 0 ) @@ -493,7 +492,6 @@ def test_counter(self): ) def test_up_down_counter(self): - aggregation = self.default_aggregation._create_aggregation( _UpDownCounter("name", Mock(), Mock()), Mock(), 0 ) @@ -505,7 +503,6 @@ def test_up_down_counter(self): ) def test_observable_counter(self): - aggregation = self.default_aggregation._create_aggregation( _ObservableCounter("name", Mock(), Mock(), callbacks=[Mock()]), Mock(), @@ -519,7 +516,6 @@ def test_observable_counter(self): ) def test_observable_up_down_counter(self): - aggregation = self.default_aggregation._create_aggregation( _ObservableUpDownCounter( "name", Mock(), Mock(), callbacks=[Mock()] @@ -535,7 +531,6 @@ def test_observable_up_down_counter(self): ) def test_histogram(self): - aggregation = self.default_aggregation._create_aggregation( _Histogram( "name", @@ -548,7 +543,6 @@ def test_histogram(self): self.assertIsInstance(aggregation, _ExplicitBucketHistogramAggregation) def test_gauge(self): - aggregation = self.default_aggregation._create_aggregation( _Gauge( "name", @@ -561,7 +555,6 @@ def test_gauge(self): self.assertIsInstance(aggregation, _LastValueAggregation) def test_observable_gauge(self): - aggregation = self.default_aggregation._create_aggregation( _ObservableGauge( "name", diff --git a/opentelemetry-sdk/tests/metrics/test_in_memory_metric_reader.py b/opentelemetry-sdk/tests/metrics/test_in_memory_metric_reader.py index 68c81e8b7e..04d648c772 100644 --- a/opentelemetry-sdk/tests/metrics/test_in_memory_metric_reader.py +++ b/opentelemetry-sdk/tests/metrics/test_in_memory_metric_reader.py @@ -109,7 +109,6 @@ def test_integration(self): ) def test_cumulative_multiple_collect(self): - reader = InMemoryMetricReader( preferred_temporality={Counter: AggregationTemporality.CUMULATIVE} ) diff --git a/opentelemetry-sdk/tests/metrics/test_measurement_consumer.py b/opentelemetry-sdk/tests/metrics/test_measurement_consumer.py index b1f3dc2a38..f9d4c26f01 100644 --- a/opentelemetry-sdk/tests/metrics/test_measurement_consumer.py +++ b/opentelemetry-sdk/tests/metrics/test_measurement_consumer.py @@ -32,7 +32,6 @@ ) class TestSynchronousMeasurementConsumer(TestCase): def test_parent(self, _): - self.assertIsInstance( SynchronousMeasurementConsumer(MagicMock()), MeasurementConsumer ) diff --git a/opentelemetry-sdk/tests/metrics/test_metric_reader.py b/opentelemetry-sdk/tests/metrics/test_metric_reader.py index fff645e36d..a3eb5fa71c 100644 --- a/opentelemetry-sdk/tests/metrics/test_metric_reader.py +++ b/opentelemetry-sdk/tests/metrics/test_metric_reader.py @@ -74,7 +74,6 @@ def shutdown(self, timeout_millis: float = 30_000, **kwargs) -> None: class TestMetricReader(TestCase): def test_configure_temporality(self): - dummy_metric_reader = DummyMetricReader( preferred_temporality={ Histogram: AggregationTemporality.DELTA, @@ -147,7 +146,6 @@ def test_configure_aggregation(self): ) def test_force_flush(self): - with patch.object(DummyMetricReader, "collect") as mock_collect: DummyMetricReader().force_flush(timeout_millis=10) mock_collect.assert_called_with(timeout_millis=10) diff --git a/opentelemetry-sdk/tests/metrics/test_metric_reader_storage.py b/opentelemetry-sdk/tests/metrics/test_metric_reader_storage.py index 5bcf07f6b6..fe48818272 100644 --- a/opentelemetry-sdk/tests/metrics/test_metric_reader_storage.py +++ b/opentelemetry-sdk/tests/metrics/test_metric_reader_storage.py @@ -294,7 +294,6 @@ def test_default_view_enabled(self, MockViewInstrumentMatch: Mock): self.assertEqual(len(MockViewInstrumentMatch.call_args_list), 1) def test_drop_aggregation(self): - counter = _Counter("name", Mock(), Mock()) metric_reader_storage = MetricReaderStorage( SdkConfiguration( @@ -318,7 +317,6 @@ def test_drop_aggregation(self): self.assertIsNone(metric_reader_storage.collect()) def test_same_collection_start(self): - counter = _Counter("name", Mock(), Mock()) up_down_counter = _UpDownCounter("name", Mock(), Mock()) @@ -359,7 +357,6 @@ def test_same_collection_start(self): ) def test_conflicting_view_configuration(self): - observable_counter = _ObservableCounter( "observable_counter", Mock(), @@ -515,9 +512,7 @@ def test_view_instrument_match_conflict_1(self): log.records[0].message, ) - for ( - view_instrument_matches - ) in ( + for view_instrument_matches in ( metric_reader_storage._instrument_view_instrument_matches.values() ): for view_instrument_match in view_instrument_matches: diff --git a/opentelemetry-sdk/tests/metrics/test_metrics.py b/opentelemetry-sdk/tests/metrics/test_metrics.py index 199305005b..621a96b941 100644 --- a/opentelemetry-sdk/tests/metrics/test_metrics.py +++ b/opentelemetry-sdk/tests/metrics/test_metrics.py @@ -63,7 +63,6 @@ def shutdown(self, timeout_millis: float = 30_000, **kwargs) -> None: class TestMeterProvider(ConcurrencyTestBase, TestCase): def tearDown(self): - MeterProvider._all_metric_readers = set() @patch.object(Resource, "create") @@ -181,7 +180,6 @@ def test_get_meter_duplicate(self): self.assertIsNot(meter1, meter3) def test_shutdown(self): - mock_metric_reader_0 = MagicMock( **{ "shutdown.side_effect": ZeroDivisionError(), @@ -289,7 +287,6 @@ def test_creates_sync_measurement_consumer( def test_register_asynchronous_instrument( self, mock_sync_measurement_consumer ): - meter_provider = MeterProvider() meter_provider._measurement_consumer.register_asynchronous_instrument.assert_called_with( @@ -497,7 +494,6 @@ def force_flush(self, timeout_millis: float = 10_000) -> bool: class TestDuplicateInstrumentAggregateData(TestCase): def test_duplicate_instrument_aggregate_data(self): - exporter = InMemoryMetricExporter() reader = PeriodicExportingMetricReader( exporter, export_interval_millis=500 diff --git a/opentelemetry-sdk/tests/metrics/test_periodic_exporting_metric_reader.py b/opentelemetry-sdk/tests/metrics/test_periodic_exporting_metric_reader.py index 98f59526ef..648b1c8aac 100644 --- a/opentelemetry-sdk/tests/metrics/test_periodic_exporting_metric_reader.py +++ b/opentelemetry-sdk/tests/metrics/test_periodic_exporting_metric_reader.py @@ -134,7 +134,6 @@ def test_defaults(self): def _create_periodic_reader( self, metrics, exporter, collect_wait=0, interval=60000, timeout=30000 ): - pmr = PeriodicExportingMetricReader( exporter, export_interval_millis=interval, diff --git a/opentelemetry-sdk/tests/metrics/test_point.py b/opentelemetry-sdk/tests/metrics/test_point.py index 5d6640fdea..534c411996 100644 --- a/opentelemetry-sdk/tests/metrics/test_point.py +++ b/opentelemetry-sdk/tests/metrics/test_point.py @@ -33,7 +33,6 @@ class TestToJson(TestCase): @classmethod def setUpClass(cls): - cls.attributes_0 = { "a": "b", "b": True, @@ -188,7 +187,6 @@ def setUpClass(cls): cls.metrics_data_0_str = f'{{"resource_metrics": [{cls.resource_metrics_0_str}, {cls.resource_metrics_1_str}]}}' def test_number_data_point(self): - self.assertEqual( self.number_data_point_0.to_json(indent=None), self.number_data_point_0_str, @@ -199,7 +197,6 @@ def test_number_data_point(self): ) def test_histogram_data_point(self): - self.assertEqual( self.histogram_data_point_0.to_json(indent=None), self.histogram_data_point_0_str, @@ -210,23 +207,19 @@ def test_histogram_data_point(self): ) def test_sum(self): - self.assertEqual(self.sum_0.to_json(indent=None), self.sum_0_str) def test_gauge(self): - self.maxDiff = None self.assertEqual(self.gauge_0.to_json(indent=None), self.gauge_0_str) def test_histogram(self): - self.assertEqual( self.histogram_0.to_json(indent=None), self.histogram_0_str ) def test_metric(self): - self.assertEqual(self.metric_0.to_json(indent=None), self.metric_0_str) self.assertEqual(self.metric_1.to_json(indent=None), self.metric_1_str) @@ -234,7 +227,6 @@ def test_metric(self): self.assertEqual(self.metric_2.to_json(indent=None), self.metric_2_str) def test_scope_metrics(self): - self.assertEqual( self.scope_metrics_0.to_json(indent=None), self.scope_metrics_0_str ) @@ -243,7 +235,6 @@ def test_scope_metrics(self): ) def test_resource_metrics(self): - self.assertEqual( self.resource_metrics_0.to_json(indent=None), self.resource_metrics_0_str, @@ -254,7 +245,6 @@ def test_resource_metrics(self): ) def test_metrics_data(self): - self.assertEqual( self.metrics_data_0.to_json(indent=None), self.metrics_data_0_str ) diff --git a/opentelemetry-sdk/tests/metrics/test_view.py b/opentelemetry-sdk/tests/metrics/test_view.py index 00376a0068..847872c96c 100644 --- a/opentelemetry-sdk/tests/metrics/test_view.py +++ b/opentelemetry-sdk/tests/metrics/test_view.py @@ -20,16 +20,13 @@ class TestView(TestCase): def test_required_instrument_criteria(self): - with self.assertRaises(Exception): View() def test_instrument_type(self): - self.assertTrue(View(instrument_type=Mock)._match(Mock())) def test_instrument_name(self): - mock_instrument = Mock() mock_instrument.configure_mock(**{"name": "instrument_name"}) @@ -38,7 +35,6 @@ def test_instrument_name(self): ) def test_instrument_unit(self): - mock_instrument = Mock() mock_instrument.configure_mock(**{"unit": "instrument_unit"}) @@ -47,7 +43,6 @@ def test_instrument_unit(self): ) def test_meter_name(self): - self.assertTrue( View(meter_name="meter_name")._match( Mock(**{"instrumentation_scope.name": "meter_name"}) @@ -55,7 +50,6 @@ def test_meter_name(self): ) def test_meter_version(self): - self.assertTrue( View(meter_version="meter_version")._match( Mock(**{"instrumentation_scope.version": "meter_version"}) @@ -63,7 +57,6 @@ def test_meter_version(self): ) def test_meter_schema_url(self): - self.assertTrue( View(meter_schema_url="meter_schema_url")._match( Mock( @@ -89,7 +82,6 @@ def test_meter_schema_url(self): ) def test_additive_criteria(self): - view = View( meter_name="meter_name", meter_version="meter_version", @@ -120,6 +112,5 @@ def test_additive_criteria(self): ) def test_view_name(self): - with self.assertRaises(Exception): View(name="name", instrument_name="instrument_name*") diff --git a/opentelemetry-sdk/tests/metrics/test_view_instrument_match.py b/opentelemetry-sdk/tests/metrics/test_view_instrument_match.py index c22c2d7a96..f1a401d99b 100644 --- a/opentelemetry-sdk/tests/metrics/test_view_instrument_match.py +++ b/opentelemetry-sdk/tests/metrics/test_view_instrument_match.py @@ -39,7 +39,6 @@ class Test_ViewInstrumentMatch(TestCase): @classmethod def setUpClass(cls): - cls.mock_aggregation_factory = Mock() cls.mock_created_aggregation = ( cls.mock_aggregation_factory._create_aggregation() @@ -120,7 +119,10 @@ def test_consume_measurement(self): view_instrument_match._attributes_aggregation, { frozenset( - [("c", "d"), ("f", "g")] + [ + ("c", "d"), + ("f", "g"), + ] ): self.mock_created_aggregation }, ) diff --git a/opentelemetry-sdk/tests/resources/test_resources.py b/opentelemetry-sdk/tests/resources/test_resources.py index da3f946961..9779f61b9f 100644 --- a/opentelemetry-sdk/tests/resources/test_resources.py +++ b/opentelemetry-sdk/tests/resources/test_resources.py @@ -275,7 +275,10 @@ def test_aggregated_resources_with_default_destroying_static_resource( resource_detector = Mock(spec=ResourceDetector) resource_detector.detect.return_value = Resource( - {"static_key": "try_to_overwrite_existing_value", "key": "value"} + { + "static_key": "try_to_overwrite_existing_value", + "key": "value", + } ) self.assertEqual( get_aggregated_resources( @@ -294,7 +297,10 @@ def test_aggregated_resources_multiple_detectors(self): resource_detector1.detect.return_value = Resource({"key1": "value1"}) resource_detector2 = Mock(spec=ResourceDetector) resource_detector2.detect.return_value = Resource( - {"key2": "value2", "key3": "value3"} + { + "key2": "value2", + "key3": "value3", + } ) resource_detector3 = Mock(spec=ResourceDetector) resource_detector3.detect.return_value = Resource( @@ -307,7 +313,11 @@ def test_aggregated_resources_multiple_detectors(self): self.assertEqual( get_aggregated_resources( - [resource_detector1, resource_detector2, resource_detector3] + [ + resource_detector1, + resource_detector2, + resource_detector3, + ] ), _DEFAULT_RESOURCE.merge( Resource({SERVICE_NAME: "unknown_service"}, "") @@ -364,7 +374,10 @@ def test_aggregated_resources_different_schema_urls(self): with self.assertLogs(level=ERROR) as log_entry: self.assertEqual( get_aggregated_resources( - [resource_detector2, resource_detector3] + [ + resource_detector2, + resource_detector3, + ] ), _DEFAULT_RESOURCE.merge( Resource({SERVICE_NAME: "unknown_service"}, "") @@ -448,7 +461,10 @@ def test_env_priority(self): self.assertEqual(resource_env.attributes["key2"], "env_value2") resource_env_override = Resource.create( - {"key1": "value1", "key2": "value2"} + { + "key1": "value1", + "key2": "value2", + } ) self.assertEqual(resource_env_override.attributes["key1"], "value1") self.assertEqual(resource_env_override.attributes["key2"], "value2") @@ -511,9 +527,9 @@ def test_invalid_key_value_pairs(self): def test_multiple_with_url_decode(self): detector = OTELResourceDetector() - environ[ - OTEL_RESOURCE_ATTRIBUTES - ] = "key=value%20test%0A, key2=value+%202" + environ[OTEL_RESOURCE_ATTRIBUTES] = ( + "key=value%20test%0A, key2=value+%202" + ) self.assertEqual( detector.detect(), Resource({"key": "value test\n", "key2": "value+ 2"}), diff --git a/opentelemetry-sdk/tests/test_configurator.py b/opentelemetry-sdk/tests/test_configurator.py index b825ae931c..d8279fb527 100644 --- a/opentelemetry-sdk/tests/test_configurator.py +++ b/opentelemetry-sdk/tests/test_configurator.py @@ -889,7 +889,6 @@ class TestImportConfigComponents(TestCase): def test__import_config_components_missing_entry_point( self, mock_entry_points ): - with raises(RuntimeError) as error: _import_config_components(["a", "b", "c"], "name") self.assertEqual( @@ -903,7 +902,6 @@ def test__import_config_components_missing_entry_point( def test__import_config_components_missing_component( self, mock_entry_points ): - with raises(RuntimeError) as error: _import_config_components(["a", "b", "c"], "name") self.assertEqual( diff --git a/opentelemetry-sdk/tests/trace/export/test_export.py b/opentelemetry-sdk/tests/trace/export/test_export.py index 8175c09f59..a5a80f16c8 100644 --- a/opentelemetry-sdk/tests/trace/export/test_export.py +++ b/opentelemetry-sdk/tests/trace/export/test_export.py @@ -179,7 +179,6 @@ class TestBatchSpanProcessor(ConcurrencyTestBase): }, ) def test_args_env_var(self): - batch_span_processor = export.BatchSpanProcessor( MySpanExporter(destination=[]) ) @@ -190,7 +189,6 @@ def test_args_env_var(self): self.assertEqual(batch_span_processor.export_timeout_millis, 4) def test_args_env_var_defaults(self): - batch_span_processor = export.BatchSpanProcessor( MySpanExporter(destination=[]) ) @@ -210,7 +208,6 @@ def test_args_env_var_defaults(self): }, ) def test_args_env_var_value_error(self): - logger.disabled = True batch_span_processor = export.BatchSpanProcessor( MySpanExporter(destination=[]) diff --git a/opentelemetry-sdk/tests/trace/test_sampling.py b/opentelemetry-sdk/tests/trace/test_sampling.py index e976b0f551..09057ee1c1 100644 --- a/opentelemetry-sdk/tests/trace/test_sampling.py +++ b/opentelemetry-sdk/tests/trace/test_sampling.py @@ -251,7 +251,6 @@ def test_probability_sampler_one(self): ) def test_probability_sampler_limits(self): - # Sample one of every 2^64 (= 5e-20) traces. This is the lowest # possible meaningful sampling rate, only traces with trace ID 0x0 # should get sampled. diff --git a/opentelemetry-sdk/tests/trace/test_trace.py b/opentelemetry-sdk/tests/trace/test_trace.py index 5441bed6dd..52f34e8753 100644 --- a/opentelemetry-sdk/tests/trace/test_trace.py +++ b/opentelemetry-sdk/tests/trace/test_trace.py @@ -713,7 +713,10 @@ def test_invalid_attribute_values(self): with self.tracer.start_as_current_span("root") as root: with self.assertLogs(level=WARNING): root.set_attributes( - {"correct-value": "foo", "non-primitive-data-type": {}} + { + "correct-value": "foo", + "non-primitive-data-type": {}, + } ) with self.assertLogs(level=WARNING): @@ -889,7 +892,6 @@ def test_links(self): trace_api.Link(other_context2, {"name": "neighbor"}), ) with self.tracer.start_as_current_span("root", links=links) as root: - self.assertEqual(len(root.links), 2) self.assertEqual( root.links[0].context.trace_id, other_context1.trace_id @@ -995,7 +997,6 @@ def test_span_override_start_and_end_time(self): self.assertEqual(end_time, span.end_time) def test_span_set_status(self): - span1 = self.tracer.start_span("span1") span1.set_status(Status(status_code=StatusCode.ERROR)) self.assertEqual(span1.status.status_code, StatusCode.ERROR) diff --git a/opentelemetry-semantic-conventions/tests/test_semconv.py b/opentelemetry-semantic-conventions/tests/test_semconv.py index a7362a8af7..18fe3f045c 100644 --- a/opentelemetry-semantic-conventions/tests/test_semconv.py +++ b/opentelemetry-semantic-conventions/tests/test_semconv.py @@ -19,6 +19,5 @@ class TestSemanticConventions(TestCase): def test_semantic_conventions(self): - if find_spec("opentelemetry.semconv") is None: self.fail("opentelemetry-semantic-conventions not installed") diff --git a/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py b/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py index a4c51b90c1..6625712e33 100644 --- a/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py +++ b/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py @@ -29,7 +29,6 @@ def get_child_parent_new_carrier(old_carrier, propagator): - ctx = propagator.extract(old_carrier) parent_span_context = trace_api.get_current_span(ctx).get_span_context() diff --git a/propagator/opentelemetry-propagator-jaeger/src/opentelemetry/propagators/jaeger/__init__.py b/propagator/opentelemetry-propagator-jaeger/src/opentelemetry/propagators/jaeger/__init__.py index 201d8bf3d3..6b6eb8fbf0 100644 --- a/propagator/opentelemetry-propagator-jaeger/src/opentelemetry/propagators/jaeger/__init__.py +++ b/propagator/opentelemetry-propagator-jaeger/src/opentelemetry/propagators/jaeger/__init__.py @@ -44,7 +44,6 @@ def extract( context: typing.Optional[Context] = None, getter: Getter = default_getter, ) -> Context: - if context is None: context = Context() header = getter.get(carrier, self.TRACE_ID_KEY) diff --git a/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py b/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py index a836cdf403..d9e31a660e 100644 --- a/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py +++ b/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py @@ -29,7 +29,6 @@ def get_context_new_carrier(old_carrier, carrier_baggage=None): - ctx = FORMAT.extract(old_carrier) if carrier_baggage: for key, value in carrier_baggage.items(): @@ -64,10 +63,8 @@ def setUpClass(cls): cls.trace_id = generator.generate_trace_id() cls.span_id = generator.generate_span_id() cls.parent_span_id = generator.generate_span_id() - cls.serialized_uber_trace_id = ( - jaeger._format_uber_trace_id( # pylint: disable=protected-access - cls.trace_id, cls.span_id, cls.parent_span_id, 11 - ) + cls.serialized_uber_trace_id = jaeger._format_uber_trace_id( # pylint: disable=protected-access + cls.trace_id, cls.span_id, cls.parent_span_id, 11 ) def test_extract_valid_span(self): @@ -117,10 +114,8 @@ def test_debug_flag_set(self): self.assertEqual(FORMAT.DEBUG_FLAG, debug_flag_value) def test_sample_debug_flags_unset(self): - uber_trace_id = ( - jaeger._format_uber_trace_id( # pylint: disable=protected-access - self.trace_id, self.span_id, self.parent_span_id, 0 - ) + uber_trace_id = jaeger._format_uber_trace_id( # pylint: disable=protected-access + self.trace_id, self.span_id, self.parent_span_id, 0 ) old_carrier = {FORMAT.TRACE_ID_KEY: uber_trace_id} _, new_carrier = get_context_new_carrier(old_carrier) diff --git a/pyproject.toml b/pyproject.toml index 01ae2999af..4437deae48 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,3 +18,30 @@ exclude = ''' [tool.pytest.ini_options] addopts = "-rs -v" log_cli = true + +[tool.ruff] +# Minimum supported python version +target-version = "py38" + +line-length = 79 +extend-exclude = [ + # Ignore generated files + "exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/gen", + "*_pb2*.py*", +] + +[tool.ruff.lint] +select = [ + # defaults + "E4", + "E7", + "E9", + "F", + + # isort + "I", +] + +[tool.ruff.lint.isort] +known-third-party = ["psutil", "pytest", "redis", "redis_opentracing"] +known-first-party = ["opentelemetry", "opentelemetry_example_app"] diff --git a/scripts/check_for_valid_readme.py b/scripts/check_for_valid_readme.py index c65097ea56..d133ae3d3c 100644 --- a/scripts/check_for_valid_readme.py +++ b/scripts/check_for_valid_readme.py @@ -1,4 +1,5 @@ """Test script to check given paths for valid README.rst files.""" + import argparse import sys from pathlib import Path @@ -29,7 +30,6 @@ def main(): error = False for path in map(Path, args.paths): - readme = path / "README.rst" try: if not is_valid_rst(readme): diff --git a/scripts/eachdist.py b/scripts/eachdist.py index 51f0f7dd2a..bf4d98cefa 100755 --- a/scripts/eachdist.py +++ b/scripts/eachdist.py @@ -517,7 +517,8 @@ def lint_args(args): runsubprocess( args.dry_run, - ("black", "--config", "pyproject.toml", ".") + (("--diff", "--check") if args.check_only else ()), + ("black", "--config", "pyproject.toml", ".") + + (("--diff", "--check") if args.check_only else ()), cwd=rootdir, check=True, ) @@ -528,7 +529,9 @@ def lint_args(args): cwd=rootdir, check=True, ) - runsubprocess(args.dry_run, ("flake8", "--config", ".flake8", rootdir), check=True) + runsubprocess( + args.dry_run, ("flake8", "--config", ".flake8", rootdir), check=True + ) execute_args( parse_subargs( args, ("exec", "pylint {}", "--all", "--mode", "lintroots") @@ -577,8 +580,8 @@ def update_version_files(targets, version, packages): def update_dependencies(targets, version, packages): print("updating dependencies") # PEP 508 allowed specifier operators - operators = ['==', '!=', '<=', '>=', '<', '>', '===', '~=', '='] - operators_pattern = '|'.join(re.escape(op) for op in operators) + operators = ["==", "!=", "<=", ">=", "<", ">", "===", "~=", "="] + operators_pattern = "|".join(re.escape(op) for op in operators) for pkg in packages: search = rf"({basename(pkg)}[^,]*)({operators_pattern})(.*\.dev)" @@ -660,7 +663,14 @@ def format_args(args): ) runsubprocess( args.dry_run, - ("isort", "--settings-path", f"{root_dir}/.isort.cfg", "--profile", "black", "."), + ( + "isort", + "--settings-path", + f"{root_dir}/.isort.cfg", + "--profile", + "black", + ".", + ), cwd=format_dir, check=True, ) diff --git a/scripts/public_symbols_checker.py b/scripts/public_symbols_checker.py index 05b7ad4abb..b401f03259 100644 --- a/scripts/public_symbols_checker.py +++ b/scripts/public_symbols_checker.py @@ -29,7 +29,6 @@ def get_symbols(change_type, diff_lines_getter, prefix): - if change_type == "D" or prefix == r"\-": file_path_symbols = removed_symbols else: @@ -40,7 +39,6 @@ def get_symbols(change_type, diff_lines_getter, prefix): .diff(repo.head.commit) .iter_change_type(change_type) ): - if diff_lines.b_blob is None: # This happens if a file has been removed completely. b_file_path = diff_lines.a_blob.path @@ -53,7 +51,8 @@ def get_symbols(change_type, diff_lines_getter, prefix): or "opentelemetry" not in b_file_path or any( # single leading underscore - part[0] == "_" and part[1] != "_" + part[0] == "_" + and part[1] != "_" # tests directories or part == "tests" for part in b_file_path_obj.parts @@ -124,7 +123,6 @@ def remove_common_symbols(): if added_symbols or removed_symbols: - # If a symbol is added and removed in the same commit, we consider it # as not added or removed. remove_common_symbols() diff --git a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_patch.py b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_patch.py index c3c6e81037..4c9e86f199 100644 --- a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_patch.py +++ b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_patch.py @@ -19,7 +19,6 @@ from opencensus.trace.span_context import SpanContext from opencensus.trace.tracer import Tracer from opencensus.trace.tracers.noop_tracer import NoopTracer - from opentelemetry import trace from opentelemetry.shim.opencensus._shim_tracer import ShimTracer from opentelemetry.shim.opencensus.version import __version__ diff --git a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py index f3ff804c6f..042591038d 100644 --- a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py +++ b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py @@ -17,12 +17,12 @@ from typing import TYPE_CHECKING import wrapt + from opencensus.trace import execution_context from opencensus.trace.blank_span import BlankSpan from opencensus.trace.span import SpanKind from opencensus.trace.status import Status from opencensus.trace.time_event import MessageEvent - from opentelemetry import context, trace if TYPE_CHECKING: @@ -97,13 +97,13 @@ def add_message_event(self, message_event: MessageEvent): ], } if message_event.uncompressed_size_bytes is not None: - attrs[ - _MESSAGE_EVENT_ATTRIBUTE_KEY_SIZE_UNCOMPRESSED - ] = message_event.uncompressed_size_bytes + attrs[_MESSAGE_EVENT_ATTRIBUTE_KEY_SIZE_UNCOMPRESSED] = ( + message_event.uncompressed_size_bytes + ) if message_event.compressed_size_bytes is not None: - attrs[ - _MESSAGE_EVENT_ATTRIBUTE_KEY_SIZE_COMPRESSED - ] = message_event.compressed_size_bytes + attrs[_MESSAGE_EVENT_ATTRIBUTE_KEY_SIZE_COMPRESSED] = ( + message_event.compressed_size_bytes + ) timestamp = _opencensus_time_to_nanos(message_event.timestamp) self._self_otel_span.add_event( diff --git a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py index a1e30afb50..0ca3184fab 100644 --- a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py +++ b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py @@ -15,12 +15,12 @@ import logging import wrapt + from opencensus.trace import execution_context from opencensus.trace.blank_span import BlankSpan from opencensus.trace.span_context import SpanContext from opencensus.trace.tracers.base import Tracer as BaseTracer from opencensus.trace.tracestate import Tracestate - from opentelemetry import context, trace from opentelemetry.shim.opencensus._shim_span import ShimSpan @@ -87,7 +87,7 @@ def __init__( wrapped: BaseTracer, *, oc_span_context: SpanContext, - otel_tracer: trace.Tracer + otel_tracer: trace.Tracer, ) -> None: super().__init__(wrapped) self._self_oc_span_context = oc_span_context diff --git a/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py b/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py index 8fd72da972..a06d783472 100644 --- a/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py +++ b/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py @@ -112,15 +112,17 @@ from opentelemetry.propagate import get_global_textmap from opentelemetry.shim.opentracing_shim import util from opentelemetry.shim.opentracing_shim.version import __version__ -from opentelemetry.trace import INVALID_SPAN_CONTEXT, Link, NonRecordingSpan -from opentelemetry.trace import SpanContext as OtelSpanContext -from opentelemetry.trace import Tracer as OtelTracer from opentelemetry.trace import ( + INVALID_SPAN_CONTEXT, + Link, + NonRecordingSpan, TracerProvider, get_current_span, set_span_in_context, use_span, ) +from opentelemetry.trace import SpanContext as OtelSpanContext +from opentelemetry.trace import Tracer as OtelTracer from opentelemetry.util.types import Attributes ValueT = TypeVar("ValueT", int, float, bool, str) diff --git a/shim/opentelemetry-opentracing-shim/tests/test_shim.py b/shim/opentelemetry-opentracing-shim/tests/test_shim.py index 99394ad216..85a9f68512 100644 --- a/shim/opentelemetry-opentracing-shim/tests/test_shim.py +++ b/shim/opentelemetry-opentracing-shim/tests/test_shim.py @@ -302,7 +302,7 @@ def test_parent_child_implicit(self): # Verify parent span becomes the active span again. self.assertEqual( self.shim.active_span.context.unwrap(), - parent.span.context.unwrap() + parent.span.context.unwrap(), # TODO: Check equality of the spans themselves rather than # their context once the SpanShim reconstruction problem has # been addressed (see previous TODO). @@ -608,7 +608,6 @@ def test_extract_binary(self): self.shim.extract(opentracing.Format.BINARY, bytearray()) def test_baggage(self): - span_context_shim = SpanContextShim( trace.SpanContext(1234, 5678, is_remote=False) ) @@ -650,13 +649,11 @@ def test_mixed_mode(self): span_shim = self.shim.start_span("TestSpan16") with self.shim.scope_manager.activate(span_shim, finish_on_close=True): - with ( TracerProvider() .get_tracer(__name__) .start_as_current_span("abc") ) as opentelemetry_span: - self.assertIs( span_shim.unwrap().context, opentelemetry_span.parent, @@ -665,9 +662,7 @@ def test_mixed_mode(self): with ( TracerProvider().get_tracer(__name__).start_as_current_span("abc") ) as opentelemetry_span: - with self.shim.start_active_span("TestSpan17") as scope: - self.assertIs( scope.span.unwrap().parent, opentelemetry_span.context, diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py index 0419ab44a2..7ffad630d2 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py @@ -54,7 +54,6 @@ def test_main(self): async def task(self, span): # Create a new Span for this task with self.tracer.start_active_span("task"): - with self.tracer.scope_manager.activate(span, True): # Simulate work strictly related to the initial Span pass diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py index 4e76c87a03..fbd0eac308 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py @@ -50,7 +50,6 @@ def test_main(self): def task(self, span): # Create a new Span for this task with self.tracer.start_active_span("task"): - with self.tracer.scope_manager.activate(span, True): # Simulate work strictly related to the initial Span pass diff --git a/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py b/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py index 068ed12e86..84188864bf 100644 --- a/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py +++ b/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py @@ -28,7 +28,6 @@ def __enter__(self): def __exit__(self, type_, value, tb): # pylint: disable=invalid-name if value is not None and type_ in self._exception_types: - self._test_case.fail( "Unexpected exception was raised:\n{}".format( "\n".join(format_tb(tb)) @@ -43,13 +42,10 @@ def __call__(self, exception, *exceptions): return self def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) # pylint: disable=invalid-name self.assertNotRaises = self._AssertNotRaises(self) -class TestCase( - _AssertNotRaisesMixin, TestCase -): # pylint: disable=function-redefined +class TestCase(_AssertNotRaisesMixin, TestCase): # pylint: disable=function-redefined pass diff --git a/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py b/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py index 28a4c2698e..908b1d4184 100644 --- a/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py +++ b/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py @@ -39,9 +39,7 @@ def start_response(self, status, response_headers, exc_info=None): self.exc_info = exc_info return self.write - def assertTraceResponseHeaderMatchesSpan( - self, headers, span - ): # pylint: disable=invalid-name + def assertTraceResponseHeaderMatchesSpan(self, headers, span): # pylint: disable=invalid-name self.assertIn("traceresponse", headers) self.assertEqual( headers["access-control-expose-headers"], diff --git a/tests/opentelemetry-test-utils/tests/test_utils.py b/tests/opentelemetry-test-utils/tests/test_utils.py index ce97951f86..ccebd94fe9 100644 --- a/tests/opentelemetry-test-utils/tests/test_utils.py +++ b/tests/opentelemetry-test-utils/tests/test_utils.py @@ -17,55 +17,42 @@ class TestAssertNotRaises(TestCase): def test_no_exception(self): - try: - with self.assertNotRaises(Exception): pass except Exception as error: # pylint: disable=broad-except - self.fail( # pylint: disable=no-member f"Unexpected exception {error} was raised" ) def test_no_specified_exception_single(self): - try: - with self.assertNotRaises(KeyError): 1 / 0 # pylint: disable=pointless-statement except Exception as error: # pylint: disable=broad-except - self.fail( # pylint: disable=no-member f"Unexpected exception {error} was raised" ) def test_no_specified_exception_multiple(self): - try: - with self.assertNotRaises(KeyError, IndexError): 1 / 0 # pylint: disable=pointless-statement except Exception as error: # pylint: disable=broad-except - self.fail( # pylint: disable=no-member f"Unexpected exception {error} was raised" ) def test_exception(self): - with self.assertRaises(AssertionError): - with self.assertNotRaises(ZeroDivisionError): 1 / 0 # pylint: disable=pointless-statement def test_missing_exception(self): - with self.assertRaises(AssertionError) as error: - with self.assertNotRaises(ZeroDivisionError): def raise_zero_division_error(): From 7b03f7b927d7527735be796f3185664e8d0e7305 Mon Sep 17 00:00:00 2001 From: Aaron Abbott Date: Thu, 28 Mar 2024 04:49:43 +0000 Subject: [PATCH 2/7] Add new noqa comments --- .../exporter/otlp/proto/grpc/metric_exporter/__init__.py | 4 ++-- .../exporter/otlp/proto/grpc/trace_exporter/__init__.py | 2 +- .../exporter/otlp/proto/http/metric_exporter/__init__.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/metric_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/metric_exporter/__init__.py index cb6484b930..77ca548470 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/metric_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/metric_exporter/__init__.py @@ -62,10 +62,10 @@ Sum, ) from opentelemetry.sdk.metrics.export import ( - ExponentialHistogram as ExponentialHistogramType, + ExponentialHistogram as ExponentialHistogramType, # noqa: F401 ) from opentelemetry.sdk.metrics.export import ( - Histogram as HistogramType, + Histogram as HistogramType, # noqa: F401 ) _logger = getLogger(__name__) diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py index bb52da358d..0fa5339b84 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py @@ -43,7 +43,7 @@ Status, # noqa: F401 ) from opentelemetry.proto.trace.v1.trace_pb2 import ( - Span as CollectorSpan, + Span as CollectorSpan, # noqa: F401 ) from opentelemetry.sdk.environment_variables import ( OTEL_EXPORTER_OTLP_TRACES_CERTIFICATE, diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py index 539e774eb6..5d124a5dc6 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py @@ -78,7 +78,7 @@ Sum, ) from opentelemetry.sdk.metrics.export import ( - Histogram as HistogramType, + Histogram as HistogramType, # noqa: F401 ) from opentelemetry.sdk.resources import Resource as SDKResource from opentelemetry.util.re import parse_env_headers From d5e1673c3f1bd222683003e2d6bbdb631779dcaa Mon Sep 17 00:00:00 2001 From: Aaron Abbott Date: Thu, 28 Mar 2024 05:27:19 +0000 Subject: [PATCH 3/7] Replace pylint and flake8 with ruff, add noqa directives needed, remove old qa comments --- .../exporter/opencensus/trace_exporter/__init__.py | 2 +- .../tests/test_otcollector_trace_exporter.py | 2 +- .../common/_internal/metrics_encoder/__init__.py | 2 +- .../exporter/otlp/proto/grpc/exporter.py | 9 ++++----- .../opentelemetry/exporter/prometheus/__init__.py | 2 +- .../exporter/zipkin/encoder/__init__.py | 2 +- .../exporter/zipkin/json/v1/__init__.py | 2 +- .../src/opentelemetry/_logs/_internal/__init__.py | 3 +-- .../src/opentelemetry/attributes/__init__.py | 2 +- .../src/opentelemetry/context/__init__.py | 2 +- .../opentelemetry/metrics/_internal/__init__.py | 2 +- .../src/opentelemetry/propagate/__init__.py | 4 ++-- .../src/opentelemetry/trace/__init__.py | 2 +- .../tests/metrics/test_meter_provider.py | 2 +- .../opentelemetry/sdk/error_handler/__init__.py | 1 - .../sdk/metrics/_internal/aggregation.py | 6 +++--- .../sdk/metrics/_internal/export/__init__.py | 2 +- .../opentelemetry/sdk/metrics/_internal/view.py | 2 +- .../src/opentelemetry/sdk/trace/sampling.py | 7 +++---- .../exponential_histogram/test_exponent_mapping.py | 2 +- .../benchmarks/trace/test_benchmark_trace.py | 2 +- opentelemetry-sdk/tests/trace/test_sampling.py | 2 +- .../trace/propagation/test_benchmark_b3_format.py | 2 +- pyproject.toml | 14 ++++++++++++++ 24 files changed, 44 insertions(+), 34 deletions(-) diff --git a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py index 95d2e98742..ace80381eb 100644 --- a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py @@ -106,7 +106,7 @@ def force_flush(self, timeout_millis: int = 30000) -> bool: # pylint: disable=too-many-branches -def translate_to_collector(spans: Sequence[ReadableSpan]): +def translate_to_collector(spans: Sequence[ReadableSpan]): # noqa: PLR0912 collector_spans = [] for span in spans: status = None diff --git a/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py b/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py index fa546cde7a..3823ab951b 100644 --- a/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py +++ b/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py @@ -80,7 +80,7 @@ def test_proto_timestamp_from_time_ns(self): # pylint: disable=too-many-locals # pylint: disable=too-many-statements - def test_translate_to_collector(self): + def test_translate_to_collector(self): # noqa: PLR0915 trace_id = 0x6E0C63257DE34C926F9EFCD03927272E span_id = 0x34BF92DEEFC58C92 parent_id = 0x1111111111111111 diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py index dde34e4da6..01d4690577 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/metrics_encoder/__init__.py @@ -165,7 +165,7 @@ def _get_aggregation( return instrument_class_aggregation -def encode_metrics(data: MetricsData) -> ExportMetricsServiceRequest: +def encode_metrics(data: MetricsData) -> ExportMetricsServiceRequest: # noqa: PLR0912 resource_metrics_dict = {} for resource_metrics in data.resource_metrics: diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py index a43d7e9d64..b9ed5eb103 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py @@ -176,11 +176,10 @@ def __init__( insecure = environ.get(OTEL_EXPORTER_OTLP_INSECURE) if insecure is not None: insecure = insecure.lower() == "true" + elif parsed_url.scheme == "http": + insecure = True else: - if parsed_url.scheme == "http": - insecure = True - else: - insecure = False + insecure = False if parsed_url.netloc: self._endpoint = parsed_url.netloc @@ -282,7 +281,7 @@ def _export( if retry_info_bin is not None: retry_info = RetryInfo() retry_info.ParseFromString(retry_info_bin) - delay = ( + delay = ( # noqa: PLW2901 retry_info.retry_delay.seconds + retry_info.retry_delay.nanos / 1.0e9 ) diff --git a/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py b/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py index 15bf0e6ecf..6d7e9dc474 100644 --- a/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py +++ b/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py @@ -210,7 +210,7 @@ def collect(self) -> None: yield metric_family # pylint: disable=too-many-locals,too-many-branches - def _translate_to_prometheus( + def _translate_to_prometheus( # noqa: PLR0912 self, metrics_data: MetricsData, metric_family_id_metric_family: Dict[str, PrometheusMetric], diff --git a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py index bb90daa37c..e1114bff1a 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py +++ b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py @@ -242,7 +242,7 @@ def _extract_annotations_from_events( and self.max_tag_value_length is not None and self.max_tag_value_length > 0 ): - value = value[: self.max_tag_value_length] + value = value[: self.max_tag_value_length] # noqa: PLW2901 attrs[key] = value annotations.append( diff --git a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py index c44a2dd0af..d37f32c43a 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py +++ b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py @@ -28,7 +28,7 @@ def _extract_binary_annotations( binary_annotations = [] for tag_key, tag_value in self._extract_tags_from_span(span).items(): if isinstance(tag_value, str) and self.max_tag_value_length > 0: - tag_value = tag_value[: self.max_tag_value_length] + tag_value = tag_value[: self.max_tag_value_length] # noqa: PLW2901 binary_annotations.append( { "key": tag_key, diff --git a/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py b/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py index 156b2598e4..964283ce0f 100644 --- a/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py +++ b/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py @@ -224,7 +224,6 @@ def get_logger( def get_logger_provider() -> LoggerProvider: """Gets the current global :class:`~.LoggerProvider` object.""" - global _LOGGER_PROVIDER # pylint: disable=global-variable-not-assigned if _LOGGER_PROVIDER is None: if _OTEL_PYTHON_LOGGER_PROVIDER not in environ: return _PROXY_LOGGER_PROVIDER @@ -240,7 +239,7 @@ def get_logger_provider() -> LoggerProvider: def _set_logger_provider(logger_provider: LoggerProvider, log: bool) -> None: def set_lp() -> None: - global _LOGGER_PROVIDER # pylint: disable=global-statement + global _LOGGER_PROVIDER # pylint: disable=global-statement # noqa: PLW0603 _LOGGER_PROVIDER = logger_provider did_set = _LOGGER_PROVIDER_SET_ONCE.do_once(set_lp) diff --git a/opentelemetry-api/src/opentelemetry/attributes/__init__.py b/opentelemetry-api/src/opentelemetry/attributes/__init__.py index a3c3c31197..e293a0ad28 100644 --- a/opentelemetry-api/src/opentelemetry/attributes/__init__.py +++ b/opentelemetry-api/src/opentelemetry/attributes/__init__.py @@ -59,7 +59,7 @@ def _clean_attribute( cleaned_seq = [] for element in value: - element = _clean_attribute_value(element, max_len) + element = _clean_attribute_value(element, max_len) # noqa: PLW2901 if element is None: cleaned_seq.append(element) continue diff --git a/opentelemetry-api/src/opentelemetry/context/__init__.py b/opentelemetry-api/src/opentelemetry/context/__init__.py index f801e7d3f4..9bcfcf42b6 100644 --- a/opentelemetry-api/src/opentelemetry/context/__init__.py +++ b/opentelemetry-api/src/opentelemetry/context/__init__.py @@ -43,7 +43,7 @@ def wrapper( *args: typing.Tuple[typing.Any, typing.Any], **kwargs: typing.Dict[typing.Any, typing.Any], ) -> typing.Optional[typing.Any]: - global _RUNTIME_CONTEXT # pylint: disable=global-statement + global _RUNTIME_CONTEXT # pylint: disable=global-statement # noqa: PLW0603 with _RUNTIME_CONTEXT_LOCK: if _RUNTIME_CONTEXT is None: diff --git a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py index e4de2517ce..99b2549715 100644 --- a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py +++ b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py @@ -794,7 +794,7 @@ def get_meter( def _set_meter_provider(meter_provider: MeterProvider, log: bool) -> None: def set_mp() -> None: - global _METER_PROVIDER # pylint: disable=global-statement + global _METER_PROVIDER # pylint: disable=global-statement # noqa: PLW0603 _METER_PROVIDER = meter_provider # gives all proxies real instruments off the newly set meter provider diff --git a/opentelemetry-api/src/opentelemetry/propagate/__init__.py b/opentelemetry-api/src/opentelemetry/propagate/__init__.py index 109ae3992f..37b547db5a 100644 --- a/opentelemetry-api/src/opentelemetry/propagate/__init__.py +++ b/opentelemetry-api/src/opentelemetry/propagate/__init__.py @@ -130,7 +130,7 @@ def inject( for propagator in environ_propagators.split(","): - propagator = propagator.strip() + propagator = propagator.strip() # noqa: PLW2901 try: propagators.append( # type: ignore @@ -162,5 +162,5 @@ def get_global_textmap() -> textmap.TextMapPropagator: def set_global_textmap( http_text_format: textmap.TextMapPropagator, ) -> None: - global _HTTP_TEXT_FORMAT # pylint:disable=global-statement + global _HTTP_TEXT_FORMAT # pylint:disable=global-statement # noqa: PLW0603 _HTTP_TEXT_FORMAT = http_text_format # type: ignore diff --git a/opentelemetry-api/src/opentelemetry/trace/__init__.py b/opentelemetry-api/src/opentelemetry/trace/__init__.py index 52403cf6b9..88396fa879 100644 --- a/opentelemetry-api/src/opentelemetry/trace/__init__.py +++ b/opentelemetry-api/src/opentelemetry/trace/__init__.py @@ -508,7 +508,7 @@ def get_tracer( def _set_tracer_provider(tracer_provider: TracerProvider, log: bool) -> None: def set_tp() -> None: - global _TRACER_PROVIDER # pylint: disable=global-statement + global _TRACER_PROVIDER # pylint: disable=global-statement # noqa: PLW0603 _TRACER_PROVIDER = tracer_provider did_set = _TRACER_PROVIDER_SET_ONCE.do_once(set_tp) diff --git a/opentelemetry-api/tests/metrics/test_meter_provider.py b/opentelemetry-api/tests/metrics/test_meter_provider.py index 046584a3f0..292acb93ed 100644 --- a/opentelemetry-api/tests/metrics/test_meter_provider.py +++ b/opentelemetry-api/tests/metrics/test_meter_provider.py @@ -176,7 +176,7 @@ def test_proxy_provider(self): mock_real_mp.get_meter.assert_called_with(another_name, None, None) # pylint: disable=too-many-locals - def test_proxy_meter(self): + def test_proxy_meter(self): # noqa: PLR0915 meter_name = "foo" proxy_meter: _ProxyMeter = _ProxyMeterProvider().get_meter(meter_name) self.assertIsInstance(proxy_meter, _ProxyMeter) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py index a5930dbd5a..47bfb599b5 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py @@ -85,7 +85,6 @@ class _DefaultErrorHandler(ErrorHandler): # pylint: disable=useless-return def _handle(self, error: Exception, *args, **kwargs): logger.exception("Error handled by default error handler: ") - return None class GlobalErrorHandler: diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py index cd2fbb5092..1253876e34 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py @@ -708,7 +708,7 @@ def aggregate(self, measurement: Measurement) -> None: # 7. Increment the bucket. buckets.increment_bucket(bucket_index) - def collect( + def collect( # noqa: PLR0915 self, collection_aggregation_temporality: AggregationTemporality, collection_start_nano: int, @@ -1003,7 +1003,7 @@ def _merge( bucket_index += len(previous_buckets.counts) if aggregation_temporality is AggregationTemporality.DELTA: - current_bucket = -current_bucket + current_bucket = -current_bucket # noqa: PLW2901 previous_buckets.increment_bucket( bucket_index, increment=current_bucket @@ -1044,7 +1044,7 @@ class DefaultAggregation(Aggregation): ==================================================== ==================================== """ - def _create_aggregation( + def _create_aggregation( # noqa: PLR0911 self, instrument: Instrument, attributes: Attributes, diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py index bb91e803b3..ab8413c697 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py @@ -206,7 +206,7 @@ class MetricReader(ABC): .. automethod:: _receive_metrics """ - def __init__( + def __init__( # noqa: PLR0912 self, preferred_temporality: Dict[type, AggregationTemporality] = None, preferred_aggregation: Dict[ diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py index 575136258d..ead2006825 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py @@ -134,7 +134,7 @@ def __init__( # pylint: disable=too-many-return-statements # pylint: disable=too-many-branches - def _match(self, instrument: Instrument) -> bool: + def _match(self, instrument: Instrument) -> bool: # noqa: PLR0911 if self._instrument_type is not None: if not isinstance(instrument, self._instrument_type): return False diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py index 5a73e84130..3483e342e3 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py @@ -358,11 +358,10 @@ def should_sample( sampler = self._remote_parent_sampled else: sampler = self._remote_parent_not_sampled + elif parent_span_context.trace_flags.sampled: + sampler = self._local_parent_sampled else: - if parent_span_context.trace_flags.sampled: - sampler = self._local_parent_sampled - else: - sampler = self._local_parent_not_sampled + sampler = self._local_parent_not_sampled return sampler.should_sample( parent_context=parent_context, diff --git a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py index 1232aa6376..0580ad5c7e 100644 --- a/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py +++ b/opentelemetry-sdk/tests/metrics/exponential_histogram/test_exponent_mapping.py @@ -165,7 +165,7 @@ def test_exponent_mapping_neg_one(self): self.assertEqual(exponent_mapping.map_to_index(0.0625), -3) self.assertEqual(exponent_mapping.map_to_index(0.06), -3) - def test_exponent_mapping_neg_four(self): + def test_exponent_mapping_neg_four(self): # noqa: PLR0915 exponent_mapping = ExponentMapping(-4) self.assertEqual(exponent_mapping.map_to_index(float(0x1)), -1) self.assertEqual(exponent_mapping.map_to_index(float(0x10)), 0) diff --git a/opentelemetry-sdk/tests/performance/benchmarks/trace/test_benchmark_trace.py b/opentelemetry-sdk/tests/performance/benchmarks/trace/test_benchmark_trace.py index a407a341f4..1b9258006f 100644 --- a/opentelemetry-sdk/tests/performance/benchmarks/trace/test_benchmark_trace.py +++ b/opentelemetry-sdk/tests/performance/benchmarks/trace/test_benchmark_trace.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -import opentelemetry.sdk.trace as trace +from opentelemetry.sdk import trace from opentelemetry.sdk.resources import Resource from opentelemetry.sdk.trace import sampling diff --git a/opentelemetry-sdk/tests/trace/test_sampling.py b/opentelemetry-sdk/tests/trace/test_sampling.py index 09057ee1c1..0034398fa8 100644 --- a/opentelemetry-sdk/tests/trace/test_sampling.py +++ b/opentelemetry-sdk/tests/trace/test_sampling.py @@ -319,7 +319,7 @@ def test_probability_sampler_limits(self): ) # pylint:disable=too-many-statements - def exec_parent_based(self, parent_sampling_context): + def exec_parent_based(self, parent_sampling_context): # noqa: PLR0915 trace_state = trace.TraceState([("key", "value")]) sampler = sampling.ParentBased(sampling.ALWAYS_ON) # Check that the sampling decision matches the parent context if given diff --git a/propagator/opentelemetry-propagator-b3/tests/performance/benchmarks/trace/propagation/test_benchmark_b3_format.py b/propagator/opentelemetry-propagator-b3/tests/performance/benchmarks/trace/propagation/test_benchmark_b3_format.py index 23cbf773ed..3015c1c081 100644 --- a/propagator/opentelemetry-propagator-b3/tests/performance/benchmarks/trace/propagation/test_benchmark_b3_format.py +++ b/propagator/opentelemetry-propagator-b3/tests/performance/benchmarks/trace/propagation/test_benchmark_b3_format.py @@ -13,7 +13,7 @@ # limitations under the License. import opentelemetry.propagators.b3 as b3_format -import opentelemetry.sdk.trace as trace +from opentelemetry.sdk import trace FORMAT = b3_format.B3Format() diff --git a/pyproject.toml b/pyproject.toml index 4437deae48..10ab705284 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,8 +38,22 @@ select = [ "E9", "F", + # pycodestyle + "E", + # isort "I", + + # Pylint + "PL", +] + +ignore = [ + "E501", + # pylint too-many-arguments + "PLR0913", + # pylint magic-value-comparison + "PLR2004", ] [tool.ruff.lint.isort] From 3ff5cdd99a040c78a2cf1dedd15eade081b1b46c Mon Sep 17 00:00:00 2001 From: Aaron Abbott Date: Thu, 28 Mar 2024 05:32:56 +0000 Subject: [PATCH 4/7] resort imports again, remove "pylint: disable" comments --- docs/conf.py | 2 +- .../src/error_handler_1/__init__.py | 2 +- docs/examples/opentracing/rediscache.py | 4 +- .../opencensus/trace_exporter/__init__.py | 4 +- .../opentelemetry/exporter/opencensus/util.py | 7 +- .../tests/test_otcollector_trace_exporter.py | 7 +- .../otlp/proto/common/_internal/__init__.py | 2 +- .../_internal/trace_encoder/__init__.py | 1 - .../tests/test_metrics_encoder.py | 4 +- .../tests/test_trace_encoder.py | 2 +- .../exporter/otlp/proto/grpc/exporter.py | 2 +- .../proto/grpc/trace_exporter/__init__.py | 4 +- .../tests/logs/test_otlp_logs_exporter.py | 30 ++++----- .../tests/test_otlp_exporter_mixin.py | 18 +++--- .../tests/test_otlp_metrics_exporter.py | 64 +++++++++---------- .../tests/test_otlp_trace_exporter.py | 62 +++++++++--------- .../otlp/proto/http/_log_exporter/__init__.py | 2 +- .../proto/http/metric_exporter/__init__.py | 2 +- .../proto/http/trace_exporter/__init__.py | 2 +- .../metrics/test_otlp_metrics_exporter.py | 2 +- .../tests/test_proto_log_exporter.py | 2 +- .../tests/test_proto_span_exporter.py | 4 +- .../exporter/prometheus/__init__.py | 4 +- .../tests/test_entrypoints.py | 2 +- .../tests/test_prometheus_exporter.py | 2 +- .../exporter/zipkin/encoder/__init__.py | 2 +- .../exporter/zipkin/json/v1/__init__.py | 1 - .../tests/encoder/common_tests.py | 4 +- .../tests/encoder/test_v1_json.py | 3 +- .../tests/encoder/test_v2_json.py | 3 +- .../exporter/zipkin/proto/http/v2/__init__.py | 4 +- .../tests/encoder/common_tests.py | 4 +- .../tests/encoder/test_v2_protobuf.py | 5 +- .../tests/test_zipkin.py | 2 +- .../opentelemetry/_logs/_internal/__init__.py | 4 +- .../baggage/propagation/__init__.py | 2 +- .../src/opentelemetry/context/__init__.py | 7 +- .../metrics/_internal/__init__.py | 6 +- .../metrics/_internal/instrument.py | 5 +- .../src/opentelemetry/propagate/__init__.py | 2 +- .../src/opentelemetry/propagators/textmap.py | 2 +- .../src/opentelemetry/trace/__init__.py | 10 +-- .../src/opentelemetry/trace/span.py | 14 ++-- .../src/opentelemetry/util/_decorator.py | 2 +- .../src/opentelemetry/util/_providers.py | 2 +- .../src/opentelemetry/util/re.py | 2 +- .../tests/context/test_contextvars_context.py | 6 +- .../tests/logs/test_logger_provider.py | 4 +- opentelemetry-api/tests/logs/test_proxy.py | 2 +- .../tests/metrics/test_meter_provider.py | 2 +- .../tests/metrics/test_observation.py | 2 +- .../tests/propagators/test_propagators.py | 6 +- .../tests/test_implementation.py | 4 +- opentelemetry-api/tests/trace/test_proxy.py | 4 +- opentelemetry-api/tests/trace/test_tracer.py | 2 +- .../tests/trace/test_tracestate.py | 2 +- .../sdk/_configuration/__init__.py | 2 +- .../sdk/_logs/_internal/export/__init__.py | 8 +-- .../sdk/error_handler/__init__.py | 6 +- .../sdk/metrics/_internal/__init__.py | 4 +- .../_internal/_view_instrument_match.py | 4 +- .../sdk/metrics/_internal/aggregation.py | 10 +-- .../exponential_histogram/mapping/__init__.py | 4 +- .../mapping/exponent_mapping.py | 2 +- .../mapping/logarithm_mapping.py | 2 +- .../sdk/metrics/_internal/export/__init__.py | 6 +- .../sdk/metrics/_internal/instrument.py | 8 +-- .../metrics/_internal/measurement_consumer.py | 2 +- .../_internal/metric_reader_storage.py | 16 ++--- .../sdk/metrics/_internal/point.py | 4 +- .../metrics/_internal/sdk_configuration.py | 2 +- .../sdk/metrics/_internal/view.py | 4 +- .../opentelemetry/sdk/resources/__init__.py | 6 +- .../src/opentelemetry/sdk/trace/__init__.py | 20 +++--- .../sdk/trace/export/__init__.py | 8 +-- .../src/opentelemetry/sdk/trace/sampling.py | 1 - opentelemetry-sdk/tests/conftest.py | 4 +- .../tests/error_handler/test_error_handler.py | 16 ++--- opentelemetry-sdk/tests/logs/test_export.py | 10 +-- opentelemetry-sdk/tests/logs/test_handler.py | 2 +- opentelemetry-sdk/tests/logs/test_logs.py | 2 +- .../tests/metrics/test_import.py | 2 +- .../tests/metrics/test_instrument.py | 14 ++-- opentelemetry-sdk/tests/test_configurator.py | 4 +- .../tests/trace/export/test_export.py | 12 ++-- .../tests/trace/test_implementation.py | 2 +- .../tests/trace/test_sampling.py | 2 +- .../tests/trace/test_span_processor.py | 4 +- opentelemetry-sdk/tests/trace/test_trace.py | 32 +++++----- .../semconv/resource/__init__.py | 2 +- .../opentelemetry/semconv/trace/__init__.py | 2 +- .../tests/test_b3_format.py | 4 +- .../tests/test_jaeger_propagator.py | 6 +- pyproject.toml | 3 + scripts/update_sha.py | 2 +- .../shim/opencensus/_shim_span.py | 6 +- .../shim/opencensus/_shim_tracer.py | 8 +-- .../tests/test_shim.py | 2 +- .../shim/opentracing_shim/__init__.py | 12 ++-- .../tests/test_shim.py | 2 +- .../test_asyncio.py | 3 +- .../test_threads.py | 3 +- .../test_client_server/test_asyncio.py | 3 +- .../test_client_server/test_threads.py | 3 +- .../request_handler.py | 3 +- .../test_asyncio.py | 3 +- .../test_threads.py | 3 +- .../test_late_span_finish/test_asyncio.py | 3 +- .../test_late_span_finish/test_threads.py | 3 +- .../test_listener_per_request/test_asyncio.py | 3 +- .../test_listener_per_request/test_threads.py | 5 +- .../test_multiple_callbacks/test_asyncio.py | 3 +- .../test_multiple_callbacks/test_threads.py | 3 +- .../test_nested_callbacks/test_asyncio.py | 3 +- .../test_nested_callbacks/test_threads.py | 5 +- .../test_asyncio.py | 3 +- .../test_threads.py | 3 +- .../tests/testbed/testcase.py | 1 - .../tests/otlpexporter/__init__.py | 2 +- .../test_otlp_grpc_exporter_functional.py | 2 +- .../test_otlp_http_exporter_functional.py | 2 +- .../src/opentelemetry/test/__init__.py | 8 +-- .../src/opentelemetry/test/globals_test.py | 5 +- .../src/opentelemetry/test/test_base.py | 8 +-- .../src/opentelemetry/test/wsgitestutil.py | 2 +- .../tests/test_utils.py | 18 +++--- 126 files changed, 352 insertions(+), 382 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index fbe5165f2d..d8708619c4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -47,7 +47,7 @@ # -- Project information ----------------------------------------------------- project = "OpenTelemetry Python" -copyright = "OpenTelemetry Authors" # pylint: disable=redefined-builtin +copyright = "OpenTelemetry Authors" author = "OpenTelemetry Authors" diff --git a/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py b/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py index 1f210a384f..a6eea2cce6 100644 --- a/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py +++ b/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py @@ -19,7 +19,7 @@ logger = getLogger(__name__) -# pylint: disable=too-many-ancestors + class ErrorHandler1(ErrorHandler, IndexError, KeyError): def _handle(self, error: Exception, *args, **kwargs): if isinstance(error, IndexError): diff --git a/docs/examples/opentracing/rediscache.py b/docs/examples/opentracing/rediscache.py index 14a2676c07..a594112ca9 100644 --- a/docs/examples/opentracing/rediscache.py +++ b/docs/examples/opentracing/rediscache.py @@ -10,8 +10,8 @@ # FIXME The pylint disablings are needed here because the code of this # example is being executed against the tox.ini of the main # opentelemetry-python project. Find a way to separate the two. -import redis # pylint: disable=import-error -import redis_opentracing # pylint: disable=import-error +import redis +import redis_opentracing class RedisCache: diff --git a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py index ace80381eb..e2b89add2e 100644 --- a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py @@ -35,7 +35,7 @@ logger = logging.getLogger(__name__) -# pylint: disable=no-member + class OpenCensusSpanExporter(SpanExporter): """OpenCensus Collector span exporter. @@ -105,7 +105,7 @@ def force_flush(self, timeout_millis: int = 30000) -> bool: return True -# pylint: disable=too-many-branches + def translate_to_collector(spans: Sequence[ReadableSpan]): # noqa: PLR0912 collector_spans = [] for span in spans: diff --git a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py index 4911a7e0dd..36392134a7 100644 --- a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py +++ b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py @@ -16,7 +16,6 @@ from socket import gethostname from time import time -# pylint: disable=wrong-import-position from google.protobuf.timestamp_pb2 import Timestamp from opencensus.proto.agent.common.v1 import common_pb2 @@ -41,12 +40,12 @@ def proto_timestamp_from_time_ns(time_ns): """ ts = Timestamp() if time_ns is not None: - # pylint: disable=no-member + ts.FromNanoseconds(time_ns) return ts -# pylint: disable=no-member + def get_collector_span_kind(kind: SpanKind): if kind is SpanKind.SERVER: return trace_pb2.Span.SpanKind.SERVER @@ -77,7 +76,7 @@ def add_proto_attribute_value(pb_attributes, key, value): pb_attributes.attribute_map[key].string_value.value = str(value) -# pylint: disable=no-member + def get_node(service_name, host_name): """Generates Node message from params and system information. diff --git a/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py b/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py index 3823ab951b..888caf255e 100644 --- a/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py +++ b/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py @@ -33,7 +33,6 @@ from opentelemetry.trace import TraceFlags -# pylint: disable=no-member class TestCollectorSpanExporter(TraceGlobalsTest, unittest.TestCase): def test_constructor(self): mock_get_node = mock.Mock() @@ -78,8 +77,8 @@ def test_proto_timestamp_from_time_ns(self): self.assertIsInstance(result, Timestamp) self.assertEqual(result.nanos, 12345) - # pylint: disable=too-many-locals - # pylint: disable=too-many-statements + + def test_translate_to_collector(self): # noqa: PLR0915 trace_id = 0x6E0C63257DE34C926F9EFCD03927272E span_id = 0x34BF92DEEFC58C92 @@ -313,7 +312,7 @@ def test_export(self): result_status = collector_exporter.export(otel_spans) self.assertEqual(SpanExportResult.SUCCESS, result_status) - # pylint: disable=unsubscriptable-object + export_arg = mock_export.call_args[0] service_request = next(export_arg[0]) output_spans = getattr(service_request, "spans") diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py index da297f1d55..3a9a4bcaeb 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py @@ -108,7 +108,7 @@ def _encode_attributes( for key, value in attributes.items(): try: pb2_attributes.append(_encode_key_value(key, value)) - except Exception as error: # pylint: disable=broad-except + except Exception as error: _logger.exception(error) else: pb2_attributes = None diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py index 3a62916bc2..ea9ef73d31 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/trace_encoder/__init__.py @@ -38,7 +38,6 @@ from opentelemetry.trace import Link, SpanKind from opentelemetry.trace.span import SpanContext, Status, TraceState -# pylint: disable=E1101 _SPAN_KIND_MAP = { SpanKind.INTERNAL: PB2SPan.SpanKind.SPAN_KIND_INTERNAL, SpanKind.SERVER: PB2SPan.SpanKind.SPAN_KIND_SERVER, diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py index 880ea69de6..ebda9f198f 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=protected-access + import unittest from opentelemetry.exporter.otlp.proto.common.metrics_encoder import ( @@ -811,6 +811,6 @@ def test_encode_exponential_histogram(self): ) ] ) - # pylint: disable=protected-access + actual = encode_metrics(metrics_data) self.assertEqual(expected, actual) diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_trace_encoder.py b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_trace_encoder.py index 19e3adb98e..996fdb00bc 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_trace_encoder.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_trace_encoder.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=protected-access + import unittest from typing import List, Tuple diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py index b9ed5eb103..ea900588b6 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py @@ -136,7 +136,7 @@ def _get_credentials(creds, environ_key): return ssl_channel_credentials() -# pylint: disable=no-member + class OTLPExporterMixin( ABC, Generic[SDKDataT, ExportServiceRequestT, ExportResultT] ): diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py index 0fa5339b84..a190dba44e 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py @@ -59,14 +59,14 @@ logger = logging.getLogger(__name__) -# pylint: disable=no-member + class OTLPSpanExporter( SpanExporter, OTLPExporterMixin[ ReadableSpan, ExportTraceServiceRequest, SpanExportResult ], ): - # pylint: disable=unsubscriptable-object + """OTLP span exporter Args: diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py index 9b8d88879b..9f4a333691 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py @@ -62,7 +62,7 @@ class LogsServiceServicerUNAVAILABLEDelay(LogsServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -84,7 +84,7 @@ def Export(self, request, context): class LogsServiceServicerUNAVAILABLE(LogsServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -92,7 +92,7 @@ def Export(self, request, context): class LogsServiceServicerSUCCESS(LogsServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.OK) @@ -100,7 +100,7 @@ def Export(self, request, context): class LogsServiceServicerALREADY_EXISTS(LogsServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.ALREADY_EXISTS) @@ -169,7 +169,7 @@ def tearDown(self): self.server.stop(None) def test_exporting(self): - # pylint: disable=protected-access + self.assertEqual(self.exporter._exporting, "logs") @patch.dict( @@ -205,14 +205,14 @@ def test_env_variables(self, mock_exporter_mixin): @patch( "opentelemetry.exporter.otlp.proto.grpc._log_exporter.OTLPLogExporter._stub" ) - # pylint: disable=unused-argument + def test_no_credentials_error( self, mock_ssl_channel, mock_secure, mock_stub ): OTLPLogExporter(insecure=False) self.assertTrue(mock_ssl_channel.called) - # pylint: disable=no-self-use + @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): @@ -265,7 +265,7 @@ def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): ), ] - # pylint: disable=C0209 + for endpoint, insecure, mock_method in endpoints: OTLPLogExporter(endpoint=endpoint, insecure=insecure) self.assertEqual( @@ -285,7 +285,7 @@ def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): mock_method.reset_mock() def test_otlp_headers_from_env(self): - # pylint: disable=protected-access + self.assertEqual( self.exporter._headers, (("user-agent", "OTel-OTLP-Exporter-Python/" + __version__),), @@ -355,7 +355,7 @@ def test_translate_log_data(self): ), log_records=[ PB2LogRecord( - # pylint: disable=no-member + time_unix_nano=self.log_data_1.log_record.timestamp, severity_number=self.log_data_1.log_record.severity_number.value, severity_text="WARNING", @@ -391,7 +391,7 @@ def test_translate_log_data(self): ] ) - # pylint: disable=protected-access + self.assertEqual( expected, self.exporter._translate_data([self.log_data_1]) ) @@ -414,7 +414,7 @@ def test_translate_multiple_logs(self): ), log_records=[ PB2LogRecord( - # pylint: disable=no-member + time_unix_nano=self.log_data_1.log_record.timestamp, severity_number=self.log_data_1.log_record.severity_number.value, severity_text="WARNING", @@ -451,7 +451,7 @@ def test_translate_multiple_logs(self): ), log_records=[ PB2LogRecord( - # pylint: disable=no-member + time_unix_nano=self.log_data_2.log_record.timestamp, severity_number=self.log_data_2.log_record.severity_number.value, severity_text="INFO", @@ -496,7 +496,7 @@ def test_translate_multiple_logs(self): ), log_records=[ PB2LogRecord( - # pylint: disable=no-member + time_unix_nano=self.log_data_3.log_record.timestamp, severity_number=self.log_data_3.log_record.severity_number.value, severity_text="ERROR", @@ -523,7 +523,7 @@ def test_translate_multiple_logs(self): ] ) - # pylint: disable=protected-access + self.assertEqual( expected, self.exporter._translate_data( diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py index 4dfed3e154..becb6eb138 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py @@ -91,14 +91,14 @@ def _exporting(self) -> str: otlp_mock_exporter = OTLPMockExporter() with self.assertLogs(level=WARNING) as warning: - # pylint: disable=protected-access + otlp_mock_exporter._export(Mock()) self.assertEqual( warning.records[0].message, "Failed to export mock to localhost:4317, error code: None", ) - def code(self): # pylint: disable=function-redefined + def code(self): return StatusCode.CANCELLED def trailing_metadata(self): @@ -108,7 +108,7 @@ def trailing_metadata(self): rpc_error.trailing_metadata = MethodType(trailing_metadata, rpc_error) with self.assertLogs(level=WARNING) as warning: - # pylint: disable=protected-access + otlp_mock_exporter._export([]) self.assertEqual( warning.records[0].message, @@ -137,12 +137,12 @@ def _exporting(self) -> str: otlp_mock_exporter = OTLPMockExporter() with self.assertLogs(level=WARNING) as warning: - # pylint: disable=protected-access + self.assertEqual( otlp_mock_exporter._export(data={}), result_mock.SUCCESS ) otlp_mock_exporter.shutdown() - # pylint: disable=protected-access + self.assertEqual( otlp_mock_exporter._export(data={}), result_mock.FAILURE ) @@ -185,22 +185,22 @@ def _exporting(self) -> str: otlp_mock_exporter = OTLPMockExporter() - # pylint: disable=protected-access + export_thread = threading.Thread( target=otlp_mock_exporter._export, args=({},) ) export_thread.start() try: - # pylint: disable=protected-access + self.assertTrue(otlp_mock_exporter._export_lock.locked()) # delay is 1 second while the default shutdown timeout is 30_000 milliseconds start_time = time.time() otlp_mock_exporter.shutdown() now = time.time() self.assertGreaterEqual(now, (start_time + 30 / 1000)) - # pylint: disable=protected-access + self.assertTrue(otlp_mock_exporter._shutdown) - # pylint: disable=protected-access + self.assertFalse(otlp_mock_exporter._export_lock.locked()) finally: export_thread.join() diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py index a7756725be..bced9f2d71 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py @@ -15,8 +15,6 @@ import threading import time from concurrent.futures import ThreadPoolExecutor - -# pylint: disable=too-many-lines from logging import WARNING from os import environ from os.path import dirname @@ -83,7 +81,7 @@ class MetricsServiceServicerUNAVAILABLEDelay(MetricsServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -105,7 +103,7 @@ def Export(self, request, context): class MetricsServiceServicerUNAVAILABLE(MetricsServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -113,7 +111,7 @@ def Export(self, request, context): class MetricsServiceServicerUNKNOWN(MetricsServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.UNKNOWN) @@ -121,7 +119,7 @@ def Export(self, request, context): class MetricsServiceServicerSUCCESS(MetricsServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.OK) @@ -129,7 +127,7 @@ def Export(self, request, context): class MetricsServiceServicerALREADY_EXISTS(MetricsServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.ALREADY_EXISTS) @@ -137,7 +135,7 @@ def Export(self, request, context): class TestOTLPMetricExporter(TestCase): - # pylint: disable=too-many-public-methods + def setUp(self): self.exporter = OTLPMetricExporter() @@ -177,7 +175,7 @@ def tearDown(self): self.server.stop(None) def test_exporting(self): - # pylint: disable=protected-access + self.assertEqual(self.exporter._exporting, "metrics") @patch.dict( @@ -185,7 +183,7 @@ def test_exporting(self): {OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "DELTA"}, ) def test_preferred_temporality(self): - # pylint: disable=protected-access + exporter = OTLPMetricExporter( preferred_temporality={Counter: AggregationTemporality.CUMULATIVE} ) @@ -248,7 +246,7 @@ def test_env_variables(self, mock_exporter_mixin): @patch( "opentelemetry.exporter.otlp.proto.grpc.metric_exporter.OTLPMetricExporter._stub" ) - # pylint: disable=unused-argument + def test_no_credentials_error( self, mock_ssl_channel, mock_secure, mock_stub ): @@ -263,10 +261,10 @@ def test_no_credentials_error( "opentelemetry.exporter.otlp.proto.grpc.exporter.ssl_channel_credentials" ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") - # pylint: disable=unused-argument + def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): exporter = OTLPMetricExporter() - # pylint: disable=protected-access + self.assertEqual( exporter._headers, ( @@ -278,7 +276,7 @@ def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): exporter = OTLPMetricExporter( headers=(("key3", "value3"), ("key4", "value4")) ) - # pylint: disable=protected-access + self.assertEqual( exporter._headers, ( @@ -293,10 +291,10 @@ def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): {OTEL_EXPORTER_OTLP_METRICS_INSECURE: "True"}, ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") - # pylint: disable=unused-argument + def test_otlp_insecure_from_env(self, mock_insecure): OTLPMetricExporter() - # pylint: disable=protected-access + self.assertTrue(mock_insecure.called) self.assertEqual( 1, @@ -304,7 +302,7 @@ def test_otlp_insecure_from_env(self, mock_insecure): f"expected {mock_insecure} to be called", ) - # pylint: disable=no-self-use + @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): @@ -356,7 +354,7 @@ def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): mock_secure, ), ] - # pylint: disable=C0209 + for endpoint, insecure, mock_method in endpoints: OTLPMetricExporter(endpoint=endpoint, insecure=insecure) self.assertEqual( @@ -375,7 +373,7 @@ def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): ) mock_method.reset_mock() - # pylint: disable=no-self-use + @patch( "opentelemetry.exporter.otlp.proto.grpc.exporter._create_exp_backoff_generator" ) @@ -390,7 +388,7 @@ def test_otlp_exporter_otlp_compression_envvar( "localhost:4317", compression=Compression.Gzip ) - # pylint: disable=no-self-use + @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict("os.environ", {OTEL_EXPORTER_OTLP_COMPRESSION: "gzip"}) def test_otlp_exporter_otlp_compression_kwarg(self, mock_insecure_channel): @@ -402,7 +400,7 @@ def test_otlp_exporter_otlp_compression_kwarg(self, mock_insecure_channel): "localhost:4317", compression=Compression.NoCompression ) - # pylint: disable=no-self-use + @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict("os.environ", {}) def test_otlp_exporter_otlp_compression_unspecified( @@ -514,7 +512,7 @@ def test_split_metrics_data_many_data_points(self): ) # WHEN split_metrics_data: List[MetricsData] = list( - # pylint: disable=protected-access + OTLPMetricExporter(max_export_batch_size=2)._split_metrics_data( metrics_data=metrics_data, ) @@ -593,7 +591,7 @@ def test_split_metrics_data_nb_data_points_equal_batch_size(self): ) # WHEN split_metrics_data: List[MetricsData] = list( - # pylint: disable=protected-access + OTLPMetricExporter(max_export_batch_size=3)._split_metrics_data( metrics_data=metrics_data, ) @@ -684,7 +682,7 @@ def test_split_metrics_data_many_resources_scopes_metrics(self): ) # WHEN split_metrics_data: List[MetricsData] = list( - # pylint: disable=protected-access + OTLPMetricExporter(max_export_batch_size=2)._split_metrics_data( metrics_data=metrics_data, ) @@ -793,22 +791,22 @@ def test_shutdown_wait_last_export(self): ) export_thread.start() try: - # pylint: disable=protected-access + self.assertTrue(self.exporter._export_lock.locked()) # delay is 4 seconds while the default shutdown timeout is 30_000 milliseconds start_time = time.time() self.exporter.shutdown() now = time.time() self.assertGreaterEqual(now, (start_time + 30 / 1000)) - # pylint: disable=protected-access + self.assertTrue(self.exporter._shutdown) - # pylint: disable=protected-access + self.assertFalse(self.exporter._export_lock.locked()) finally: export_thread.join() def test_aggregation_temporality(self): - # pylint: disable=protected-access + otlp_metric_exporter = OTLPMetricExporter() @@ -911,7 +909,7 @@ def test_aggregation_temporality(self): def test_exponential_explicit_bucket_histogram(self): self.assertIsInstance( - # pylint: disable=protected-access + OTLPMetricExporter()._preferred_aggregation[Histogram], ExplicitBucketHistogramAggregation, ) @@ -923,7 +921,7 @@ def test_exponential_explicit_bucket_histogram(self): }, ): self.assertIsInstance( - # pylint: disable=protected-access + OTLPMetricExporter()._preferred_aggregation[Histogram], ExponentialBucketHistogramAggregation, ) @@ -934,7 +932,7 @@ def test_exponential_explicit_bucket_histogram(self): ): with self.assertLogs(level=WARNING) as log: self.assertIsInstance( - # pylint: disable=protected-access + OTLPMetricExporter()._preferred_aggregation[Histogram], ExplicitBucketHistogramAggregation, ) @@ -954,7 +952,7 @@ def test_exponential_explicit_bucket_histogram(self): }, ): self.assertIsInstance( - # pylint: disable=protected-access + OTLPMetricExporter()._preferred_aggregation[Histogram], ExplicitBucketHistogramAggregation, ) @@ -971,7 +969,7 @@ def test_preferred_aggregation_override(self): ) self.assertEqual( - # pylint: disable=protected-access + exporter._preferred_aggregation[Histogram], histogram_aggregation, ) diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py index 8c27fbe63a..db362c3b50 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py @@ -83,7 +83,7 @@ class TraceServiceServicerUNAVAILABLEDelay(TraceServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -105,7 +105,7 @@ def Export(self, request, context): class TraceServiceServicerUNAVAILABLE(TraceServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -113,7 +113,7 @@ def Export(self, request, context): class TraceServiceServicerSUCCESS(TraceServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.OK) @@ -121,7 +121,7 @@ def Export(self, request, context): class TraceServiceServicerALREADY_EXISTS(TraceServiceServicer): - # pylint: disable=invalid-name,unused-argument,no-self-use + def Export(self, request, context): context.set_code(StatusCode.ALREADY_EXISTS) @@ -129,7 +129,7 @@ def Export(self, request, context): class TestOTLPSpanExporter(TestCase): - # pylint: disable=too-many-public-methods + def setUp(self): tracer_provider = TracerProvider() @@ -175,7 +175,7 @@ def setUp(self): "attributes": BoundedAttributes( attributes={"a": 1, "b": False} ), - "kind": OTLPSpan.SpanKind.SPAN_KIND_INTERNAL, # pylint: disable=no-member + "kind": OTLPSpan.SpanKind.SPAN_KIND_INTERNAL, } ) ], @@ -227,7 +227,7 @@ def tearDown(self): self.server.stop(None) def test_exporting(self): - # pylint: disable=protected-access + self.assertEqual(self.exporter._exporting, "traces") @patch.dict( @@ -264,7 +264,7 @@ def test_env_variables(self, mock_exporter_mixin): @patch( "opentelemetry.exporter.otlp.proto.grpc.trace_exporter.OTLPSpanExporter._stub" ) - # pylint: disable=unused-argument + def test_no_credentials_error( self, mock_ssl_channel, mock_secure, mock_stub ): @@ -279,10 +279,10 @@ def test_no_credentials_error( "opentelemetry.exporter.otlp.proto.grpc.exporter.ssl_channel_credentials" ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") - # pylint: disable=unused-argument + def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): exporter = OTLPSpanExporter() - # pylint: disable=protected-access + self.assertEqual( exporter._headers, ( @@ -294,7 +294,7 @@ def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): exporter = OTLPSpanExporter( headers=(("key3", "value3"), ("key4", "value4")) ) - # pylint: disable=protected-access + self.assertEqual( exporter._headers, ( @@ -306,7 +306,7 @@ def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): exporter = OTLPSpanExporter( headers={"key5": "value5", "key6": "value6"} ) - # pylint: disable=protected-access + self.assertEqual( exporter._headers, ( @@ -321,10 +321,10 @@ def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): {OTEL_EXPORTER_OTLP_TRACES_INSECURE: "True"}, ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") - # pylint: disable=unused-argument + def test_otlp_insecure_from_env(self, mock_insecure): OTLPSpanExporter() - # pylint: disable=protected-access + self.assertTrue(mock_insecure.called) self.assertEqual( 1, @@ -332,7 +332,7 @@ def test_otlp_insecure_from_env(self, mock_insecure): f"expected {mock_insecure} to be called", ) - # pylint: disable=no-self-use + @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): @@ -399,7 +399,7 @@ def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): ) mock_method.reset_mock() - # pylint: disable=no-self-use + @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict("os.environ", {OTEL_EXPORTER_OTLP_COMPRESSION: "gzip"}) def test_otlp_exporter_otlp_compression_envvar( @@ -411,7 +411,7 @@ def test_otlp_exporter_otlp_compression_envvar( "localhost:4317", compression=Compression.Gzip ) - # pylint: disable=no-self-use + @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict("os.environ", {OTEL_EXPORTER_OTLP_COMPRESSION: "gzip"}) def test_otlp_exporter_otlp_compression_kwarg(self, mock_insecure_channel): @@ -421,7 +421,7 @@ def test_otlp_exporter_otlp_compression_kwarg(self, mock_insecure_channel): "localhost:4317", compression=Compression.NoCompression ) - # pylint: disable=no-self-use + @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict("os.environ", {}) def test_otlp_exporter_otlp_compression_unspecified( @@ -433,7 +433,7 @@ def test_otlp_exporter_otlp_compression_unspecified( "localhost:4317", compression=Compression.NoCompression ) - # pylint: disable=no-self-use + @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict( "os.environ", @@ -454,10 +454,10 @@ def test_otlp_exporter_otlp_compression_precendence( "opentelemetry.exporter.otlp.proto.grpc.exporter.ssl_channel_credentials" ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") - # pylint: disable=unused-argument + def test_otlp_headers(self, mock_ssl_channel, mock_secure): exporter = OTLPSpanExporter() - # pylint: disable=protected-access + # This ensures that there is no other header than standard user-agent. self.assertEqual( exporter._headers, @@ -528,7 +528,7 @@ def test_translate_spans(self): ), spans=[ OTLPSpan( - # pylint: disable=no-member + name="a", start_time_unix_nano=self.span.start_time, end_time_unix_nano=self.span.end_time, @@ -608,7 +608,7 @@ def test_translate_spans(self): ] ) - # pylint: disable=protected-access + self.assertEqual(expected, self.exporter._translate_data([self.span])) def test_translate_spans_multi(self): @@ -630,7 +630,7 @@ def test_translate_spans_multi(self): ), spans=[ OTLPSpan( - # pylint: disable=no-member + name="a", start_time_unix_nano=self.span.start_time, end_time_unix_nano=self.span.end_time, @@ -711,7 +711,7 @@ def test_translate_spans_multi(self): ), spans=[ OTLPSpan( - # pylint: disable=no-member + name="c", start_time_unix_nano=self.span3.start_time, end_time_unix_nano=self.span3.end_time, @@ -752,7 +752,7 @@ def test_translate_spans_multi(self): ), spans=[ OTLPSpan( - # pylint: disable=no-member + name="b", start_time_unix_nano=self.span2.start_time, end_time_unix_nano=self.span2.end_time, @@ -780,7 +780,7 @@ def test_translate_spans_multi(self): ] ) - # pylint: disable=protected-access + self.assertEqual( expected, self.exporter._translate_data([self.span, self.span2, self.span3]), @@ -799,7 +799,7 @@ def _check_translated_status( ) def test_span_status_translate(self): - # pylint: disable=protected-access,no-member + unset = SDKStatus(status_code=SDKStatusCode.UNSET) ok = SDKStatus(status_code=SDKStatusCode.OK) error = SDKStatus(status_code=SDKStatusCode.ERROR) @@ -946,16 +946,16 @@ def test_shutdown_wait_last_export(self): ) export_thread.start() try: - # pylint: disable=protected-access + self.assertTrue(self.exporter._export_lock.locked()) # delay is 4 seconds while the default shutdown timeout is 30_000 milliseconds start_time = time.time() self.exporter.shutdown() now = time.time() self.assertGreaterEqual(now, (start_time + 30 / 1000)) - # pylint: disable=protected-access + self.assertTrue(self.exporter._shutdown) - # pylint: disable=protected-access + self.assertFalse(self.exporter._export_lock.locked()) finally: export_thread.join() diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py index 51aea1a393..d50d8728dd 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py @@ -142,7 +142,7 @@ def export(self, batch: Sequence[LogData]) -> LogExportResult: return LogExportResult.FAILURE resp = self._export(serialized_data) - # pylint: disable=no-else-return + if resp.ok: return LogExportResult.SUCCESS elif self._retryable(resp): diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py index 5d124a5dc6..0e4e0457fe 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py @@ -181,7 +181,7 @@ def export( return MetricExportResult.FAILURE resp = self._export(serialized_data.SerializeToString()) - # pylint: disable=no-else-return + if resp.ok: return MetricExportResult.SUCCESS elif self._retryable(resp): diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py index 1f3c35bdb4..9d52452ab0 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py @@ -140,7 +140,7 @@ def export(self, spans) -> SpanExportResult: return SpanExportResult.FAILURE resp = self._export(serialized_data) - # pylint: disable=no-else-return + if resp.ok: return SpanExportResult.SUCCESS elif self._retryable(resp): diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py index ceedff03dd..cd30a95b86 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py @@ -77,7 +77,7 @@ OS_ENV_TIMEOUT = "30" -# pylint: disable=protected-access + class TestOTLPMetricExporter(TestCase): def setUp(self): self.metrics = { diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py index 1008b1da44..186d3768e5 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=protected-access + import unittest from typing import List diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py index dcaf6873cc..1df9c082e1 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py @@ -48,7 +48,7 @@ OS_ENV_TIMEOUT = "30" -# pylint: disable=protected-access + class TestOTLPSpanExporter(unittest.TestCase): def test_constructor_default(self): exporter = OTLPSpanExporter() @@ -196,7 +196,7 @@ def test_headers_parse_from_env(self): ), ) - # pylint: disable=no-self-use + @responses.activate @patch("opentelemetry.exporter.otlp.proto.http.trace_exporter.sleep") def test_exponential_backoff(self, mock_sleep): diff --git a/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py b/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py index 6d7e9dc474..0c07baa089 100644 --- a/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py +++ b/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py @@ -209,7 +209,7 @@ def collect(self) -> None: for metric_family in metric_family_id_metric_family.values(): yield metric_family - # pylint: disable=too-many-locals,too-many-branches + def _translate_to_prometheus( # noqa: PLR0912 self, metrics_data: MetricsData, @@ -373,7 +373,7 @@ def _sanitize(self, key: str) -> str: """ return self._non_letters_digits_underscore_re.sub("_", key) - # pylint: disable=no-self-use + def _check_value(self, value: Union[int, float, str, Sequence]) -> str: """Check the label value and return is appropriate representation""" if not isinstance(value, str): diff --git a/exporter/opentelemetry-exporter-prometheus/tests/test_entrypoints.py b/exporter/opentelemetry-exporter-prometheus/tests/test_entrypoints.py index 96846e0759..50b33142ea 100644 --- a/exporter/opentelemetry-exporter-prometheus/tests/test_entrypoints.py +++ b/exporter/opentelemetry-exporter-prometheus/tests/test_entrypoints.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=no-self-use + import os from unittest import TestCase diff --git a/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py b/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py index 745355ec44..c89ed09fef 100644 --- a/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py +++ b/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py @@ -53,7 +53,7 @@ def setUp(self): side_effect=self._mock_registry_register, ) - # pylint: disable=protected-access + def test_constructor(self): """Test the constructor.""" with self._registry_register_patch: diff --git a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py index e1114bff1a..7eb58895d6 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py +++ b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py @@ -55,7 +55,7 @@ class Protocol(Enum): V2 = "v2" -# pylint: disable=W0223 + class Encoder(abc.ABC): """Base class for encoders that are used by the exporter. diff --git a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py index d37f32c43a..3642bc3f51 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py +++ b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/v1/__init__.py @@ -20,7 +20,6 @@ from opentelemetry.trace import Span -# pylint: disable=W0223 class V1Encoder(Encoder): def _extract_binary_annotations( self, span: Span, encoded_local_endpoint: Dict diff --git a/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/common_tests.py b/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/common_tests.py index ada00c7c8e..8678be009d 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/common_tests.py +++ b/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/common_tests.py @@ -29,7 +29,7 @@ TEST_SERVICE_NAME = "test_service" -# pylint: disable=protected-access + class CommonEncoderTestCases: class CommonEncoderTest(unittest.TestCase): @staticmethod @@ -424,7 +424,7 @@ def get_exhaustive_otel_span_list() -> List[trace._Span]: return [span1, span2, span3, span4] - # pylint: disable=W0223 + class CommonJsonEncoderTest(CommonEncoderTest, abc.ABC): def test_encode_trace_id(self): for trace_id in (1, 1024, 2**32, 2**64, 2**65): diff --git a/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v1_json.py b/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v1_json.py index 7ff4e9b276..5f0a6a0beb 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v1_json.py +++ b/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v1_json.py @@ -28,13 +28,12 @@ ) from opentelemetry.trace import TraceFlags, format_span_id, format_trace_id -from .common_tests import ( # pylint: disable=import-error +from .common_tests import ( TEST_SERVICE_NAME, CommonEncoderTestCases, ) -# pylint: disable=protected-access class TestV1JsonEncoder(CommonEncoderTestCases.CommonJsonEncoderTest): @staticmethod def get_encoder(*args, **kwargs) -> JsonV1Encoder: diff --git a/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v2_json.py b/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v2_json.py index 37a0414fca..63a7692753 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v2_json.py +++ b/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/test_v2_json.py @@ -28,13 +28,12 @@ ) from opentelemetry.trace import SpanKind, TraceFlags -from .common_tests import ( # pylint: disable=import-error +from .common_tests import ( TEST_SERVICE_NAME, CommonEncoderTestCases, ) -# pylint: disable=protected-access class TestV2JsonEncoder(CommonEncoderTestCases.CommonJsonEncoderTest): @staticmethod def get_encoder(*args, **kwargs) -> JsonV2Encoder: diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py b/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py index d7ca3b88d2..3a0e8f35cb 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py @@ -48,7 +48,7 @@ def serialize( self, spans: Sequence[Span], local_endpoint: NodeEndpoint ) -> bytes: encoded_local_endpoint = self._encode_local_endpoint(local_endpoint) - # pylint: disable=no-member + encoded_spans = zipkin_pb2.ListOfSpans() for span in spans: encoded_spans.spans.append( @@ -60,7 +60,7 @@ def _encode_span( self, span: Span, encoded_local_endpoint: zipkin_pb2.Endpoint ) -> zipkin_pb2.Span: context = span.get_span_context() - # pylint: disable=no-member + encoded_span = zipkin_pb2.Span( trace_id=self._encode_trace_id(context.trace_id), id=self._encode_span_id(context.span_id), diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/common_tests.py b/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/common_tests.py index ada00c7c8e..8678be009d 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/common_tests.py +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/common_tests.py @@ -29,7 +29,7 @@ TEST_SERVICE_NAME = "test_service" -# pylint: disable=protected-access + class CommonEncoderTestCases: class CommonEncoderTest(unittest.TestCase): @staticmethod @@ -424,7 +424,7 @@ def get_exhaustive_otel_span_list() -> List[trace._Span]: return [span1, span2, span3, span4] - # pylint: disable=W0223 + class CommonJsonEncoderTest(CommonEncoderTest, abc.ABC): def test_encode_trace_id(self): for trace_id in (1, 1024, 2**32, 2**64, 2**65): diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/test_v2_protobuf.py b/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/test_v2_protobuf.py index 2f2c894e4a..720d9572fd 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/test_v2_protobuf.py +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/test_v2_protobuf.py @@ -28,13 +28,12 @@ ) from opentelemetry.trace import SpanKind -from .common_tests import ( # pylint: disable=import-error +from .common_tests import ( TEST_SERVICE_NAME, CommonEncoderTestCases, ) -# pylint: disable=protected-access class TestProtobufEncoder(CommonEncoderTestCases.CommonEncoderTest): @staticmethod def get_encoder(*args, **kwargs) -> ProtobufEncoder: @@ -251,7 +250,7 @@ def _test_encode_max_tag_length(self, max_tag_value_length: int): def test_dropped_span_attributes(self): otel_span = get_span_with_dropped_attributes_events_links() - # pylint: disable=no-member + tags = ( ProtobufEncoder() ._encode_span(otel_span, zipkin_pb2.Endpoint()) diff --git a/exporter/opentelemetry-exporter-zipkin/tests/test_zipkin.py b/exporter/opentelemetry-exporter-zipkin/tests/test_zipkin.py index fa9c3ecf48..99c6bd4ce7 100644 --- a/exporter/opentelemetry-exporter-zipkin/tests/test_zipkin.py +++ b/exporter/opentelemetry-exporter-zipkin/tests/test_zipkin.py @@ -23,5 +23,5 @@ def test_constructors(self): try: json.ZipkinExporter() http.ZipkinExporter() - except Exception as exc: # pylint: disable=broad-except + except Exception as exc: self.assertIsNone(exc) diff --git a/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py b/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py index 964283ce0f..add6aef99f 100644 --- a/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py +++ b/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py @@ -113,7 +113,7 @@ def emit(self, record: "LogRecord") -> None: class ProxyLogger(Logger): - def __init__( # pylint: disable=super-init-not-called + def __init__( self, name: str, version: Optional[str] = None, @@ -239,7 +239,7 @@ def get_logger_provider() -> LoggerProvider: def _set_logger_provider(logger_provider: LoggerProvider, log: bool) -> None: def set_lp() -> None: - global _LOGGER_PROVIDER # pylint: disable=global-statement # noqa: PLW0603 + global _LOGGER_PROVIDER _LOGGER_PROVIDER = logger_provider did_set = _LOGGER_PROVIDER_SET_ONCE.do_once(set_lp) diff --git a/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py b/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py index 91898d53ae..46271dbea8 100644 --- a/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py +++ b/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py @@ -83,7 +83,7 @@ def extract( continue try: name, value = entry.split("=", 1) - except Exception: # pylint: disable=broad-except + except Exception: _logger.warning( "Baggage list-member `%s` doesn't match the format", entry ) diff --git a/opentelemetry-api/src/opentelemetry/context/__init__.py b/opentelemetry-api/src/opentelemetry/context/__init__.py index 9bcfcf42b6..17dea4c547 100644 --- a/opentelemetry-api/src/opentelemetry/context/__init__.py +++ b/opentelemetry-api/src/opentelemetry/context/__init__.py @@ -19,7 +19,6 @@ from os import environ from uuid import uuid4 -# pylint: disable=wrong-import-position from opentelemetry.context.context import Context, _RuntimeContext # noqa from opentelemetry.environment_variables import OTEL_PYTHON_CONTEXT from opentelemetry.util._importlib_metadata import entry_points @@ -43,7 +42,7 @@ def wrapper( *args: typing.Tuple[typing.Any, typing.Any], **kwargs: typing.Dict[typing.Any, typing.Any], ) -> typing.Optional[typing.Any]: - global _RUNTIME_CONTEXT # pylint: disable=global-statement # noqa: PLW0603 + global _RUNTIME_CONTEXT with _RUNTIME_CONTEXT_LOCK: if _RUNTIME_CONTEXT is None: @@ -65,7 +64,7 @@ def wrapper( ) ).load()() - except Exception: # pylint: disable=broad-except + except Exception: logger.exception( "Failed to load context: %s", configured_context ) @@ -160,7 +159,7 @@ def detach(token: object) -> None: """ try: _RUNTIME_CONTEXT.detach(token) # type: ignore - except Exception: # pylint: disable=broad-except + except Exception: logger.exception("Failed to detach context") diff --git a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py index 99b2549715..de0b783e52 100644 --- a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py +++ b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=too-many-ancestors + """ The OpenTelemetry metrics API describes the classes used to generate @@ -77,7 +77,7 @@ _logger = getLogger(__name__) -# pylint: disable=invalid-name + _ProxyInstrumentT = Union[ _ProxyCounter, _ProxyHistogram, @@ -794,7 +794,7 @@ def get_meter( def _set_meter_provider(meter_provider: MeterProvider, log: bool) -> None: def set_mp() -> None: - global _METER_PROVIDER # pylint: disable=global-statement # noqa: PLW0603 + global _METER_PROVIDER _METER_PROVIDER = meter_provider # gives all proxies real instruments off the newly set meter provider diff --git a/opentelemetry-api/src/opentelemetry/metrics/_internal/instrument.py b/opentelemetry-api/src/opentelemetry/metrics/_internal/instrument.py index 1115bb1f19..c936c45aa6 100644 --- a/opentelemetry-api/src/opentelemetry/metrics/_internal/instrument.py +++ b/opentelemetry-api/src/opentelemetry/metrics/_internal/instrument.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=too-many-ancestors + from abc import ABC, abstractmethod @@ -31,7 +31,6 @@ Union, ) -# pylint: disable=unused-import; needed for typing and sphinx from opentelemetry import metrics from opentelemetry.metrics._internal.observation import Observation from opentelemetry.util.types import Attributes @@ -55,7 +54,7 @@ class CallbackOptions: InstrumentT = TypeVar("InstrumentT", bound="Instrument") -# pylint: disable=invalid-name + CallbackT = Union[ Callable[[CallbackOptions], Iterable[Observation]], Generator[Iterable[Observation], CallbackOptions, None], diff --git a/opentelemetry-api/src/opentelemetry/propagate/__init__.py b/opentelemetry-api/src/opentelemetry/propagate/__init__.py index 37b547db5a..af53edfa66 100644 --- a/opentelemetry-api/src/opentelemetry/propagate/__init__.py +++ b/opentelemetry-api/src/opentelemetry/propagate/__init__.py @@ -147,7 +147,7 @@ def inject( raise ValueError( f"Propagator {propagator} not found. It is either misspelled or not installed." ) - except Exception: # pylint: disable=broad-except + except Exception: logger.exception("Failed to load propagator: %s", propagator) raise diff --git a/opentelemetry-api/src/opentelemetry/propagators/textmap.py b/opentelemetry-api/src/opentelemetry/propagators/textmap.py index 42f1124f36..e2d707c2bf 100644 --- a/opentelemetry-api/src/opentelemetry/propagators/textmap.py +++ b/opentelemetry-api/src/opentelemetry/propagators/textmap.py @@ -18,7 +18,7 @@ from opentelemetry.context.context import Context CarrierT = typing.TypeVar("CarrierT") -# pylint: disable=invalid-name + CarrierValT = typing.Union[typing.List[str], str] diff --git a/opentelemetry-api/src/opentelemetry/trace/__init__.py b/opentelemetry-api/src/opentelemetry/trace/__init__.py index 88396fa879..f8b11b90c7 100644 --- a/opentelemetry-api/src/opentelemetry/trace/__init__.py +++ b/opentelemetry-api/src/opentelemetry/trace/__init__.py @@ -400,7 +400,7 @@ def function(): class ProxyTracer(Tracer): - # pylint: disable=W0222,signature-differs + def __init__( self, instrumenting_module_name: str, @@ -453,7 +453,7 @@ def start_span( record_exception: bool = True, set_status_on_exception: bool = True, ) -> "Span": - # pylint: disable=unused-argument,no-self-use + return INVALID_SPAN @_agnosticcontextmanager @@ -469,7 +469,7 @@ def start_as_current_span( set_status_on_exception: bool = True, end_on_exit: bool = True, ) -> Iterator["Span"]: - # pylint: disable=unused-argument,no-self-use + yield INVALID_SPAN @@ -508,7 +508,7 @@ def get_tracer( def _set_tracer_provider(tracer_provider: TracerProvider, log: bool) -> None: def set_tp() -> None: - global _TRACER_PROVIDER # pylint: disable=global-statement # noqa: PLW0603 + global _TRACER_PROVIDER _TRACER_PROVIDER = tracer_provider did_set = _TRACER_PROVIDER_SET_ONCE.do_once(set_tp) @@ -570,7 +570,7 @@ def use_span( finally: context_api.detach(token) - except Exception as exc: # pylint: disable=broad-except + except Exception as exc: if isinstance(span, Span) and span.is_recording(): # Record the exception as an event if record_exception: diff --git a/opentelemetry-api/src/opentelemetry/trace/span.py b/opentelemetry-api/src/opentelemetry/trace/span.py index 306c13942c..86a7d623dd 100644 --- a/opentelemetry-api/src/opentelemetry/trace/span.py +++ b/opentelemetry-api/src/opentelemetry/trace/span.py @@ -117,7 +117,7 @@ def add_event( timestamp if the `timestamp` argument is omitted. """ - def add_link( # pylint: disable=no-self-use + def add_link( self, context: "SpanContext", attributes: types.Attributes = None, @@ -473,27 +473,27 @@ def __getnewargs__( @property def trace_id(self) -> int: - return self[0] # pylint: disable=unsubscriptable-object + return self[0] @property def span_id(self) -> int: - return self[1] # pylint: disable=unsubscriptable-object + return self[1] @property def is_remote(self) -> bool: - return self[2] # pylint: disable=unsubscriptable-object + return self[2] @property def trace_flags(self) -> "TraceFlags": - return self[3] # pylint: disable=unsubscriptable-object + return self[3] @property def trace_state(self) -> "TraceState": - return self[4] # pylint: disable=unsubscriptable-object + return self[4] @property def is_valid(self) -> bool: - return self[5] # pylint: disable=unsubscriptable-object + return self[5] def __setattr__(self, *args: str) -> None: _logger.debug( diff --git a/opentelemetry-api/src/opentelemetry/util/_decorator.py b/opentelemetry-api/src/opentelemetry/util/_decorator.py index fe0941f2fb..3cc59af661 100644 --- a/opentelemetry-api/src/opentelemetry/util/_decorator.py +++ b/opentelemetry-api/src/opentelemetry/util/_decorator.py @@ -32,7 +32,7 @@ class _AgnosticContextManager( contextlib._GeneratorContextManager, Generic[R], # type: ignore # FIXME use contextlib._GeneratorContextManager[R] when we drop the python 3.8 support -): # pylint: disable=protected-access +): """Context manager that can decorate both async and sync functions. This is an overridden version of the contextlib._GeneratorContextManager diff --git a/opentelemetry-api/src/opentelemetry/util/_providers.py b/opentelemetry-api/src/opentelemetry/util/_providers.py index dfe08d106a..49a534192d 100644 --- a/opentelemetry-api/src/opentelemetry/util/_providers.py +++ b/opentelemetry-api/src/opentelemetry/util/_providers.py @@ -47,6 +47,6 @@ def _load_provider( ) ).load()(), ) - except Exception: # pylint: disable=broad-except + except Exception: logger.exception("Failed to load configured provider %s", provider) raise diff --git a/opentelemetry-api/src/opentelemetry/util/re.py b/opentelemetry-api/src/opentelemetry/util/re.py index 5f19521d04..864a2ffc01 100644 --- a/opentelemetry-api/src/opentelemetry/util/re.py +++ b/opentelemetry-api/src/opentelemetry/util/re.py @@ -41,7 +41,7 @@ _BAGGAGE_PROPERTY_FORMAT = rf"{_KEY_VALUE_FORMAT}|{_OWS}{_KEY_FORMAT}{_OWS}" -# pylint: disable=invalid-name + @deprecated(version="1.15.0", reason="You should use parse_env_headers") # type: ignore diff --git a/opentelemetry-api/tests/context/test_contextvars_context.py b/opentelemetry-api/tests/context/test_contextvars_context.py index e9af3107d8..a0f3c4afed 100644 --- a/opentelemetry-api/tests/context/test_contextvars_context.py +++ b/opentelemetry-api/tests/context/test_contextvars_context.py @@ -16,13 +16,11 @@ from opentelemetry import context from opentelemetry.context.contextvars_context import ContextVarsRuntimeContext - -# pylint: disable=import-error,no-name-in-module from tests.context.base_context import ContextTestCases class TestContextVarsContext(ContextTestCases.BaseTest): - # pylint: disable=invalid-name + def setUp(self) -> None: super().setUp() self.mock_runtime = patch.object( @@ -32,7 +30,7 @@ def setUp(self) -> None: ) self.mock_runtime.start() - # pylint: disable=invalid-name + def tearDown(self) -> None: super().tearDown() self.mock_runtime.stop() diff --git a/opentelemetry-api/tests/logs/test_logger_provider.py b/opentelemetry-api/tests/logs/test_logger_provider.py index 63a4889908..327d454e34 100644 --- a/opentelemetry-api/tests/logs/test_logger_provider.py +++ b/opentelemetry-api/tests/logs/test_logger_provider.py @@ -33,14 +33,14 @@ def tearDown(self): def test_set_logger_provider(self): lp_mock = Mock() - # pylint: disable=protected-access + assert logs_internal._LOGGER_PROVIDER is None set_logger_provider(lp_mock) assert logs_internal._LOGGER_PROVIDER is lp_mock assert get_logger_provider() is lp_mock def test_get_logger_provider(self): - # pylint: disable=protected-access + assert logs_internal._LOGGER_PROVIDER is None assert isinstance( diff --git a/opentelemetry-api/tests/logs/test_proxy.py b/opentelemetry-api/tests/logs/test_proxy.py index d8fa0a9743..62b66911bd 100644 --- a/opentelemetry-api/tests/logs/test_proxy.py +++ b/opentelemetry-api/tests/logs/test_proxy.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=W0212,W0222,W0221 + import typing import unittest diff --git a/opentelemetry-api/tests/metrics/test_meter_provider.py b/opentelemetry-api/tests/metrics/test_meter_provider.py index 292acb93ed..0180496d4b 100644 --- a/opentelemetry-api/tests/metrics/test_meter_provider.py +++ b/opentelemetry-api/tests/metrics/test_meter_provider.py @@ -175,7 +175,7 @@ def test_proxy_provider(self): self.assertIsInstance(meter2, Mock) mock_real_mp.get_meter.assert_called_with(another_name, None, None) - # pylint: disable=too-many-locals + def test_proxy_meter(self): # noqa: PLR0915 meter_name = "foo" proxy_meter: _ProxyMeter = _ProxyMeterProvider().get_meter(meter_name) diff --git a/opentelemetry-api/tests/metrics/test_observation.py b/opentelemetry-api/tests/metrics/test_observation.py index 0881f043b7..ee74f054c3 100644 --- a/opentelemetry-api/tests/metrics/test_observation.py +++ b/opentelemetry-api/tests/metrics/test_observation.py @@ -25,7 +25,7 @@ def test_measurement_init(self): # float Observation(321.321, {"hello": "world"}) - except Exception: # pylint: disable=broad-except + except Exception: self.fail( "Unexpected exception raised when instantiating Observation" ) diff --git a/opentelemetry-api/tests/propagators/test_propagators.py b/opentelemetry-api/tests/propagators/test_propagators.py index f0554ad281..e096dad5f0 100644 --- a/opentelemetry-api/tests/propagators/test_propagators.py +++ b/opentelemetry-api/tests/propagators/test_propagators.py @@ -44,7 +44,7 @@ def test_propagators(propagators): **{"side_effect": test_propagators} ) - # pylint: disable=import-outside-toplevel + import opentelemetry.propagate reload(opentelemetry.propagate) @@ -96,7 +96,7 @@ def test_propagators(propagators): **{"side_effect": test_propagators} ) - # pylint: disable=import-outside-toplevel + import opentelemetry.propagate reload(opentelemetry.propagate) @@ -106,7 +106,7 @@ def test_propagators(propagators): ) def test_composite_propagators_error(self): with self.assertRaises(ValueError) as cm: - # pylint: disable=import-outside-toplevel + import opentelemetry.propagate reload(opentelemetry.propagate) diff --git a/opentelemetry-api/tests/test_implementation.py b/opentelemetry-api/tests/test_implementation.py index 913efbffb3..af7677681c 100644 --- a/opentelemetry-api/tests/test_implementation.py +++ b/opentelemetry-api/tests/test_implementation.py @@ -29,7 +29,7 @@ class TestAPIOnlyImplementation(unittest.TestCase): def test_tracer(self): with self.assertRaises(TypeError): - # pylint: disable=abstract-class-instantiated + trace.TracerProvider() # type:ignore def test_default_tracer(self): @@ -50,7 +50,7 @@ def test_default_tracer(self): def test_span(self): with self.assertRaises(TypeError): - # pylint: disable=abstract-class-instantiated + trace.Span() # type:ignore def test_default_span(self): diff --git a/opentelemetry-api/tests/trace/test_proxy.py b/opentelemetry-api/tests/trace/test_proxy.py index 8c367afb6d..3d96da177a 100644 --- a/opentelemetry-api/tests/trace/test_proxy.py +++ b/opentelemetry-api/tests/trace/test_proxy.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=W0212,W0222,W0221 + import typing import unittest @@ -40,7 +40,7 @@ class TestTracer(trace.NoOpTracer): def start_span(self, *args, **kwargs): return TestSpan(INVALID_SPAN_CONTEXT) - @_agnosticcontextmanager # pylint: disable=protected-access + @_agnosticcontextmanager def start_as_current_span(self, *args, **kwargs): # type: ignore with trace.use_span(self.start_span(*args, **kwargs)) as span: # type: ignore yield span diff --git a/opentelemetry-api/tests/trace/test_tracer.py b/opentelemetry-api/tests/trace/test_tracer.py index fae836d564..e1287a603a 100644 --- a/opentelemetry-api/tests/trace/test_tracer.py +++ b/opentelemetry-api/tests/trace/test_tracer.py @@ -46,7 +46,7 @@ class MockTracer(Tracer): def start_span(self, *args, **kwargs): return INVALID_SPAN - @_agnosticcontextmanager # pylint: disable=protected-access + @_agnosticcontextmanager def start_as_current_span(self, *args, **kwargs): # type: ignore calls.append(1) yield INVALID_SPAN diff --git a/opentelemetry-api/tests/trace/test_tracestate.py b/opentelemetry-api/tests/trace/test_tracestate.py index 625b260d54..ccbd09b309 100644 --- a/opentelemetry-api/tests/trace/test_tracestate.py +++ b/opentelemetry-api/tests/trace/test_tracestate.py @@ -11,7 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=no-member + import unittest diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py index 9038f3675e..430c1e01af 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py @@ -331,7 +331,7 @@ def _import_sampler(sampler_name: str) -> Optional[Sampler]: _logger.warning(message) raise ValueError(message) return sampler - except Exception as exc: # pylint: disable=broad-except + except Exception as exc: _logger.warning( "Using default sampler. Failed to initialize sampler, %s: %s", sampler_name, diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py index 79c3ffc119..4fc10d7a09 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py @@ -127,7 +127,7 @@ def emit(self, log_data: LogData): token = attach(set_value(_SUPPRESS_INSTRUMENTATION_KEY, True)) try: self._exporter.export((log_data,)) - except Exception: # pylint: disable=broad-except + except Exception: _logger.exception("Exception while exporting logs.") detach(token) @@ -135,7 +135,7 @@ def shutdown(self): self._shutdown = True self._exporter.shutdown() - def force_flush(self, timeout_millis: int = 30000) -> bool: # pylint: disable=no-self-use + def force_flush(self, timeout_millis: int = 30000) -> bool: return True @@ -215,7 +215,7 @@ def __init__( self._log_records = [None] * self._max_export_batch_size self._worker_thread.start() if hasattr(os, "register_at_fork"): - os.register_at_fork(after_in_child=self._at_fork_reinit) # pylint: disable=protected-access + os.register_at_fork(after_in_child=self._at_fork_reinit) self._pid = os.getpid() def _at_fork_reinit(self): @@ -305,7 +305,7 @@ def _export_batch(self) -> int: token = attach(set_value(_SUPPRESS_INSTRUMENTATION_KEY, True)) try: self._exporter.export(self._log_records[:idx]) # type: ignore - except Exception: # pylint: disable=broad-except + except Exception: _logger.exception("Exception while exporting logs.") detach(token) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py index 47bfb599b5..3a8b940ca4 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py @@ -82,7 +82,7 @@ class _DefaultErrorHandler(ErrorHandler): This error handler just logs the exception using standard logging. """ - # pylint: disable=useless-return + def _handle(self, error: Exception, *args, **kwargs): logger.exception("Error handled by default error handler: ") @@ -107,7 +107,7 @@ def __new__(cls) -> "GlobalErrorHandler": def __enter__(self): pass - # pylint: disable=no-self-use + def __exit__(self, exc_type, exc_value, traceback): if exc_value is None: return None @@ -126,7 +126,7 @@ def __exit__(self, exc_type, exc_value, traceback): error_handler_class()._handle(exc_value) plugin_handled = True - # pylint: disable=broad-except + except Exception as error_handling_error: logger.exception( "%s error while handling error" diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py index 1e70021fa9..22ef0a5d33 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py @@ -429,7 +429,7 @@ def force_flush(self, timeout_millis: float = 10_000) -> bool: timeout_millis=(deadline_ns - current_ts) / 10**6 ) - # pylint: disable=broad-except + except Exception as error: metric_reader_error[metric_reader] = error @@ -473,7 +473,7 @@ def _shutdown(): timeout_millis=(deadline_ns - current_ts) / 10**6 ) - # pylint: disable=broad-except + except Exception as error: metric_reader_error[metric_reader] = error diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py index 36c302abc6..3bb129708a 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py @@ -60,7 +60,7 @@ def __init__( ]._create_aggregation(self._instrument, None, 0) def conflicts(self, other: "_ViewInstrumentMatch") -> bool: - # pylint: disable=protected-access + result = ( self._name == other._name @@ -80,7 +80,7 @@ def conflicts(self, other: "_ViewInstrumentMatch") -> bool: return result - # pylint: disable=protected-access + def consume_measurement(self, measurement: Measurement) -> None: if self._view._attribute_keys is not None: attributes = {} diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py index 1253876e34..508ff3769e 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=too-many-lines + from abc import ABC, abstractmethod from bisect import bisect_left @@ -515,7 +515,7 @@ def collect( return None -# pylint: disable=protected-access + class _ExponentialBucketHistogramAggregation(_Aggregation[HistogramPoint]): # _min_max_size and _max_max_size are the smallest and largest values # the max_size parameter may have, respectively. @@ -602,7 +602,7 @@ def __init__( self._previous_negative = None def aggregate(self, measurement: Measurement) -> None: - # pylint: disable=too-many-branches,too-many-statements, too-many-locals + with self._lock: value = measurement.value @@ -716,7 +716,7 @@ def collect( # noqa: PLR0915 """ Atomically return a point for the current value of the metric. """ - # pylint: disable=too-many-statements, too-many-locals + with self._lock: if self._count == 0: @@ -1050,7 +1050,7 @@ def _create_aggregation( # noqa: PLR0911 attributes: Attributes, start_time_unix_nano: int, ) -> _Aggregation: - # pylint: disable=too-many-return-statements + if isinstance(instrument, Counter): return _SumAggregation( attributes, diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py index 96709ccee5..d5d675f408 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py @@ -20,7 +20,7 @@ class Mapping(ABC): Parent class for `LogarithmMapping` and `ExponentialMapping`. """ - # pylint: disable=no-member + def __new__(cls, scale: int): with cls._mappings_lock: # cls._mappings and cls._mappings_lock are implemented in each of @@ -36,7 +36,7 @@ def __new__(cls, scale: int): @abstractmethod def _init(self, scale: int) -> None: - # pylint: disable=attribute-defined-outside-init + if scale > self._get_max_scale(): raise Exception(f"scale is larger than {self._max_scale}") diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/exponent_mapping.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/exponent_mapping.py index 297bb7a483..c4cad51e50 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/exponent_mapping.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/exponent_mapping.py @@ -54,7 +54,7 @@ def _get_max_scale(self): return 0 def _init(self, scale: int): - # pylint: disable=attribute-defined-outside-init + super()._init(scale) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py index e73f3a81e2..cc06bceee7 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py @@ -54,7 +54,7 @@ def _get_max_scale(self): return self._max_scale def _init(self, scale: int): - # pylint: disable=attribute-defined-outside-init + super()._init(scale) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py index ab8413c697..4416994a91 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py @@ -173,7 +173,7 @@ def force_flush(self, timeout_millis: float = 10_000) -> bool: class MetricReader(ABC): - # pylint: disable=too-many-branches + """ Base class for all metric readers @@ -488,7 +488,7 @@ def __init__( ) self._daemon_thread.start() if hasattr(os, "register_at_fork"): - os.register_at_fork(after_in_child=self._at_fork_reinit) # pylint: disable=protected-access + os.register_at_fork(after_in_child=self._at_fork_reinit) elif self._export_interval_millis <= 0: raise ValueError( f"interval value {self._export_interval_millis} is invalid \ @@ -529,7 +529,7 @@ def _receive_metrics( self._exporter.export( metrics_data, timeout_millis=timeout_millis ) - except Exception as e: # pylint: disable=broad-except,invalid-name + except Exception as e: _logger.exception("Exception while exporting metrics %s", str(e)) detach(token) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py index 538be42ace..09fed42af0 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=too-many-ancestors, unused-import + from logging import getLogger from typing import Dict, Generator, Iterable, List, Optional, Union @@ -50,7 +50,7 @@ def __init__( unit: str = "", description: str = "", ): - # pylint: disable=no-member + result = self._check_name_unit_description(name, unit, description) if result["name"] is None: @@ -81,7 +81,7 @@ def __init__( unit: str = "", description: str = "", ): - # pylint: disable=no-member + result = self._check_name_unit_description(name, unit, description) if result["name"] is None: @@ -133,7 +133,7 @@ def callback( instrument=self, attributes=api_measurement.attributes, ) - except Exception: # pylint: disable=broad-except + except Exception: _logger.exception( "Callback failed for instrument %s.", self.name ) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py index 6d4e5f6be2..f32713d77a 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=unused-import + from abc import ABC, abstractmethod from threading import Lock diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py index fdd9a13ec4..31c5c71a44 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py @@ -158,7 +158,7 @@ def collect(self) -> Optional[MetricsData]: continue if isinstance( - # pylint: disable=protected-access + view_instrument_match._aggregation, _SumAggregation, ): @@ -170,13 +170,13 @@ def collect(self) -> Optional[MetricsData]: ), ) elif isinstance( - # pylint: disable=protected-access + view_instrument_match._aggregation, _LastValueAggregation, ): data = Gauge(data_points=data_points) elif isinstance( - # pylint: disable=protected-access + view_instrument_match._aggregation, _ExplicitBucketHistogramAggregation, ): @@ -185,14 +185,14 @@ def collect(self) -> Optional[MetricsData]: aggregation_temporality=aggregation_temporality, ) elif isinstance( - # pylint: disable=protected-access + view_instrument_match._aggregation, _DropAggregation, ): continue elif isinstance( - # pylint: disable=protected-access + view_instrument_match._aggregation, _ExponentialBucketHistogramAggregation, ): @@ -203,7 +203,7 @@ def collect(self) -> Optional[MetricsData]: metrics.append( Metric( - # pylint: disable=protected-access + name=view_instrument_match._name, description=view_instrument_match._description, unit=view_instrument_match._instrument.unit, @@ -248,7 +248,7 @@ def _handle_view_instrument_match( view_instrument_matches: List["_ViewInstrumentMatch"], ) -> None: for view in self._sdk_config.views: - # pylint: disable=protected-access + if not view._match(instrument): continue @@ -294,7 +294,7 @@ def _check_view_instrument_compatibility( result = True - # pylint: disable=protected-access + if isinstance(instrument, Asynchronous) and isinstance( view._aggregation, ExplicitBucketHistogramAggregation ): diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/point.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/point.py index c30705c59a..42746ca5ea 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/point.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/point.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=unused-import + from dataclasses import asdict, dataclass from json import dumps, loads @@ -170,7 +170,7 @@ def to_json(self, indent=4) -> str: ) -# pylint: disable=invalid-name + DataT = Union[Sum, Gauge, Histogram] DataPointT = Union[NumberDataPoint, HistogramDataPoint] diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/sdk_configuration.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/sdk_configuration.py index 9594ab38a7..e28bd22eaf 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/sdk_configuration.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/sdk_configuration.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=unused-import + from dataclasses import dataclass from typing import Sequence diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py index ead2006825..a0b1682b1e 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py @@ -132,8 +132,8 @@ def __init__( self._attribute_keys = attribute_keys self._aggregation = aggregation or self._default_aggregation - # pylint: disable=too-many-return-statements - # pylint: disable=too-many-branches + + def _match(self, instrument: Instrument) -> bool: # noqa: PLR0911 if self._instrument_type is not None: if not isinstance(instrument, self._instrument_type): diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py index 118288608f..9d9efde9e9 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py @@ -303,7 +303,7 @@ def detect(self) -> "Resource": class OTELResourceDetector(ResourceDetector): - # pylint: disable=no-self-use + def detect(self) -> "Resource": env_resources_items = environ.get(OTEL_RESOURCE_ATTRIBUTES) env_resource_map = {} @@ -329,7 +329,7 @@ def detect(self) -> "Resource": class ProcessResourceDetector(ResourceDetector): - # pylint: disable=no-self-use + def detect(self) -> "Resource": _runtime_version = ".".join( map( @@ -397,7 +397,7 @@ def get_aggregated_resources( detector, timeout, ) - # pylint: disable=broad-except + except Exception as ex: if detector.raise_on_error: raise ex diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py index 26a62d45c4..05c1e1c796 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=too-many-lines + import abc import atexit import concurrent.futures @@ -335,8 +335,8 @@ def attributes(self) -> types.Attributes: def _check_span_ended(func): def wrapper(self, *args, **kwargs): already_ended = False - with self._lock: # pylint: disable=protected-access - if self._end_time is None: # pylint: disable=protected-access + with self._lock: + if self._end_time is None: func(self, *args, **kwargs) else: already_ended = True @@ -523,7 +523,7 @@ def _format_events(events: Sequence[Event]) -> List[Dict[str, Any]]: { "name": event.name, "timestamp": util.ns_to_iso_str(event.timestamp), - "attributes": Span._format_attributes( # pylint: disable=protected-access + "attributes": Span._format_attributes( event.attributes ), } @@ -534,10 +534,10 @@ def _format_events(events: Sequence[Event]) -> List[Dict[str, Any]]: def _format_links(links: Sequence[trace_api.Link]) -> List[Dict[str, Any]]: return [ { - "context": Span._format_context( # pylint: disable=protected-access + "context": Span._format_context( link.context ), - "attributes": Span._format_attributes( # pylint: disable=protected-access + "attributes": Span._format_attributes( link.attributes ), } @@ -701,7 +701,7 @@ def _from_env_if_absent( ) # not removed for backward compat. please use SpanLimits instead. -SPAN_ATTRIBUTE_COUNT_LIMIT = SpanLimits._from_env_if_absent( # pylint: disable=protected-access +SPAN_ATTRIBUTE_COUNT_LIMIT = SpanLimits._from_env_if_absent( None, OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, _DEFAULT_OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, @@ -735,7 +735,7 @@ def __new__(cls, *args, **kwargs): raise TypeError("Span must be instantiated via a tracer.") return super().__new__(cls) - # pylint: disable=too-many-locals + def __init__( self, name: str, @@ -1036,7 +1036,7 @@ def __init__( self._span_limits = span_limits self._instrumentation_scope = instrumentation_scope - @_agnosticcontextmanager # pylint: disable=protected-access + @_agnosticcontextmanager def start_as_current_span( self, name: str, @@ -1067,7 +1067,7 @@ def start_as_current_span( ) as span: yield span - def start_span( # pylint: disable=too-many-locals + def start_span( self, name: str, context: Optional[context_api.Context] = None, diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py index 83a5b54415..0875762429 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py @@ -111,7 +111,7 @@ def on_end(self, span: ReadableSpan) -> None: token = attach(set_value(_SUPPRESS_INSTRUMENTATION_KEY, True)) try: self.span_exporter.export((span,)) - # pylint: disable=broad-except + except Exception: logger.exception("Exception while exporting Span.") detach(token) @@ -120,7 +120,7 @@ def shutdown(self) -> None: self.span_exporter.shutdown() def force_flush(self, timeout_millis: int = 30000) -> bool: - # pylint: disable=unused-argument + return True @@ -200,7 +200,7 @@ def __init__( self.spans_list = [None] * self.max_export_batch_size # type: typing.List[typing.Optional[Span]] self.worker_thread.start() if hasattr(os, "register_at_fork"): - os.register_at_fork(after_in_child=self._at_fork_reinit) # pylint: disable=protected-access + os.register_at_fork(after_in_child=self._at_fork_reinit) self._pid = os.getpid() def on_start( @@ -358,7 +358,7 @@ def _export_batch(self) -> int: # Ignore type b/c the Optional[None]+slicing is too "clever" # for mypy self.span_exporter.export(self.spans_list[:idx]) # type: ignore - except Exception: # pylint: disable=broad-except + except Exception: logger.exception("Exception while exporting Span batch.") detach(token) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py index 3483e342e3..9b7cc1e08b 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/sampling.py @@ -139,7 +139,6 @@ class CustomSamplerFactory: from types import MappingProxyType from typing import Optional, Sequence -# pylint: disable=unused-import from opentelemetry.context import Context from opentelemetry.sdk.environment_variables import ( OTEL_TRACES_SAMPLER, diff --git a/opentelemetry-sdk/tests/conftest.py b/opentelemetry-sdk/tests/conftest.py index 92fd7a734d..88d6259485 100644 --- a/opentelemetry-sdk/tests/conftest.py +++ b/opentelemetry-sdk/tests/conftest.py @@ -18,10 +18,10 @@ def pytest_sessionstart(session): - # pylint: disable=unused-argument + environ[OTEL_PYTHON_CONTEXT] = "contextvars_context" def pytest_sessionfinish(session): - # pylint: disable=unused-argument + environ.pop(OTEL_PYTHON_CONTEXT) diff --git a/opentelemetry-sdk/tests/error_handler/test_error_handler.py b/opentelemetry-sdk/tests/error_handler/test_error_handler.py index 31a07315ae..a89efcdfc1 100644 --- a/opentelemetry-sdk/tests/error_handler/test_error_handler.py +++ b/opentelemetry-sdk/tests/error_handler/test_error_handler.py @@ -11,7 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=broad-except + from logging import ERROR from unittest import TestCase @@ -31,16 +31,16 @@ def test_default_error_handler(self, mock_entry_points): with GlobalErrorHandler(): raise Exception("some exception") - # pylint: disable=no-self-use + @patch("opentelemetry.sdk.error_handler.entry_points") def test_plugin_error_handler(self, mock_entry_points): class ZeroDivisionErrorHandler(ErrorHandler, ZeroDivisionError): - # pylint: disable=arguments-differ + _handle = Mock() class AssertionErrorHandler(ErrorHandler, AssertionError): - # pylint: disable=arguments-differ + _handle = Mock() @@ -67,7 +67,7 @@ class AssertionErrorHandler(ErrorHandler, AssertionError): with GlobalErrorHandler(): raise error - # pylint: disable=protected-access + ZeroDivisionErrorHandler._handle.assert_called_with(error) error = AssertionError() @@ -80,7 +80,7 @@ class AssertionErrorHandler(ErrorHandler, AssertionError): @patch("opentelemetry.sdk.error_handler.entry_points") def test_error_in_handler(self, mock_entry_points): class ErrorErrorHandler(ErrorHandler, ZeroDivisionError): - # pylint: disable=arguments-differ + def _handle(self, error: Exception): assert False @@ -100,7 +100,7 @@ def _handle(self, error: Exception): with GlobalErrorHandler(): raise error - # pylint: disable=no-self-use + @patch("opentelemetry.sdk.error_handler.entry_points") def test_plugin_error_handler_context_manager(self, mock_entry_points): mock_error_handler_instance = Mock() @@ -126,5 +126,5 @@ def __new__(cls): with GlobalErrorHandler(): pass - # pylint: disable=protected-access + mock_error_handler_instance._handle.assert_called_once_with(error) diff --git a/opentelemetry-sdk/tests/logs/test_export.py b/opentelemetry-sdk/tests/logs/test_export.py index d48dcf8e24..d4ed8088cf 100644 --- a/opentelemetry-sdk/tests/logs/test_export.py +++ b/opentelemetry-sdk/tests/logs/test_export.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=protected-access + import logging import multiprocessing import os @@ -449,7 +449,7 @@ def bulk_log_and_flush(num_logs): "needs *nix", ) def test_batch_log_record_processor_fork(self): - # pylint: disable=invalid-name + exporter = InMemoryLogExporter() log_record_processor = BatchLogRecordProcessor( exporter, @@ -494,7 +494,7 @@ def _target(): class TestConsoleLogExporter(unittest.TestCase): - def test_export(self): # pylint: disable=no-self-use + def test_export(self): """Check that the console exporter prints log records.""" log_data = LogData( log_record=LogRecord( @@ -525,11 +525,11 @@ def test_export(self): # pylint: disable=no-self-use self.assertEqual(mock_stdout.write.call_count, 1) self.assertEqual(mock_stdout.flush.call_count, 1) - def test_export_custom(self): # pylint: disable=no-self-use + def test_export_custom(self): """Check that console exporter uses custom io, formatter.""" mock_record_str = Mock(str) - def formatter(record): # pylint: disable=unused-argument + def formatter(record): return mock_record_str mock_stdout = Mock() diff --git a/opentelemetry-sdk/tests/logs/test_handler.py b/opentelemetry-sdk/tests/logs/test_handler.py index 866e5d05d7..fa5189ab71 100644 --- a/opentelemetry-sdk/tests/logs/test_handler.py +++ b/opentelemetry-sdk/tests/logs/test_handler.py @@ -64,7 +64,7 @@ def test_handler_custom_log_level(self): logger.critical("No Time For Caution") self.assertEqual(emitter_mock.emit.call_count, 2) - # pylint: disable=protected-access + def test_log_record_emit_noop(self): noop_logger_provder = NoOpLoggerProvider() logger_mock = APIGetLogger( diff --git a/opentelemetry-sdk/tests/logs/test_logs.py b/opentelemetry-sdk/tests/logs/test_logs.py index 71098531d4..9a3d26a244 100644 --- a/opentelemetry-sdk/tests/logs/test_logs.py +++ b/opentelemetry-sdk/tests/logs/test_logs.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=protected-access + import unittest from unittest.mock import Mock, patch diff --git a/opentelemetry-sdk/tests/metrics/test_import.py b/opentelemetry-sdk/tests/metrics/test_import.py index 73b9e1ece9..359acc204d 100644 --- a/opentelemetry-sdk/tests/metrics/test_import.py +++ b/opentelemetry-sdk/tests/metrics/test_import.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=unused-import + from opentelemetry.test import TestCase diff --git a/opentelemetry-sdk/tests/metrics/test_instrument.py b/opentelemetry-sdk/tests/metrics/test_instrument.py index d103050994..d9a7a52004 100644 --- a/opentelemetry-sdk/tests/metrics/test_instrument.py +++ b/opentelemetry-sdk/tests/metrics/test_instrument.py @@ -59,7 +59,7 @@ def test_add_non_monotonic(self): def test_disallow_direct_counter_creation(self): with self.assertRaises(TypeError): - # pylint: disable=abstract-class-instantiated + Counter("name", Mock(), Mock()) @@ -78,7 +78,7 @@ def test_add_non_monotonic(self): def test_disallow_direct_up_down_counter_creation(self): with self.assertRaises(TypeError): - # pylint: disable=abstract-class-instantiated + UpDownCounter("name", Mock(), Mock()) @@ -232,7 +232,7 @@ def test_generator_multiple_generator_callback(self): def test_disallow_direct_observable_gauge_creation(self): with self.assertRaises(TypeError): - # pylint: disable=abstract-class-instantiated + ObservableGauge("name", Mock(), Mock()) @@ -291,7 +291,7 @@ def test_generator_callback_0(self): def test_disallow_direct_observable_counter_creation(self): with self.assertRaises(TypeError): - # pylint: disable=abstract-class-instantiated + ObservableCounter("name", Mock(), Mock()) @@ -308,7 +308,7 @@ def test_set(self): def test_disallow_direct_counter_creation(self): with self.assertRaises(TypeError): - # pylint: disable=abstract-class-instantiated + _SDKGauge("name", Mock(), Mock()) @@ -367,7 +367,7 @@ def test_generator_callback_0(self): def test_disallow_direct_observable_up_down_counter_creation(self): with self.assertRaises(TypeError): - # pylint: disable=abstract-class-instantiated + ObservableUpDownCounter("name", Mock(), Mock()) @@ -387,5 +387,5 @@ def test_record_non_monotonic(self): def test_disallow_direct_histogram_creation(self): with self.assertRaises(TypeError): - # pylint: disable=abstract-class-instantiated + Histogram("name", Mock(), Mock()) diff --git a/opentelemetry-sdk/tests/test_configurator.py b/opentelemetry-sdk/tests/test_configurator.py index d8279fb527..1d0427ebd4 100644 --- a/opentelemetry-sdk/tests/test_configurator.py +++ b/opentelemetry-sdk/tests/test_configurator.py @@ -318,7 +318,7 @@ def tearDown(self): self.get_processor_patcher.stop() self.set_provider_patcher.stop() - # pylint: disable=protected-access + @patch.dict( environ, {"OTEL_RESOURCE_ATTRIBUTES": "service.name=my-test-service"} ) @@ -567,7 +567,7 @@ def test_trace_init_custom_ratio_sampler_with_env_multiple_entry_points( def verify_default_sampler(self, tracer_provider): self.assertIsInstance(tracer_provider.sampler, ParentBased) - # pylint: disable=protected-access + self.assertEqual(tracer_provider.sampler._root, ALWAYS_ON) diff --git a/opentelemetry-sdk/tests/trace/export/test_export.py b/opentelemetry-sdk/tests/trace/export/test_export.py index a5a80f16c8..2287c1b213 100644 --- a/opentelemetry-sdk/tests/trace/export/test_export.py +++ b/opentelemetry-sdk/tests/trace/export/test_export.py @@ -118,7 +118,7 @@ def test_simple_span_processor_no_context(self): self.assertListEqual(["xxx", "bar", "foo"], spans_names_list) def test_on_start_accepts_context(self): - # pylint: disable=no-self-use + tracer_provider = trace.TracerProvider() tracer = tracer_provider.get_tracer(__name__) @@ -220,7 +220,7 @@ def test_args_env_var_value_error(self): self.assertEqual(batch_span_processor.export_timeout_millis, 30000) def test_on_start_accepts_parent_context(self): - # pylint: disable=no-self-use + my_exporter = MySpanExporter(destination=[]) span_processor = mock.Mock( wraps=export.BatchSpanProcessor(my_exporter) @@ -415,7 +415,7 @@ def _check_fork_trace(self, exporter, expected): "needs *nix", ) def test_batch_span_processor_fork(self): - # pylint: disable=invalid-name + tracer_provider = trace.TracerProvider() tracer = tracer_provider.get_tracer(__name__) @@ -583,7 +583,7 @@ def test_batch_span_processor_parameters(self): class TestConsoleSpanExporter(unittest.TestCase): - def test_export(self): # pylint: disable=no-self-use + def test_export(self): """Check that the console exporter prints spans.""" exporter = export.ConsoleSpanExporter() @@ -597,11 +597,11 @@ def test_export(self): # pylint: disable=no-self-use self.assertEqual(mock_stdout.write.call_count, 1) self.assertEqual(mock_stdout.flush.call_count, 1) - def test_export_custom(self): # pylint: disable=no-self-use + def test_export_custom(self): """Check that console exporter uses custom io, formatter.""" mock_span_str = mock.Mock(str) - def formatter(span): # pylint: disable=unused-argument + def formatter(span): return mock_span_str mock_stdout = mock.Mock() diff --git a/opentelemetry-sdk/tests/trace/test_implementation.py b/opentelemetry-sdk/tests/trace/test_implementation.py index 961e68d986..95543c86c4 100644 --- a/opentelemetry-sdk/tests/trace/test_implementation.py +++ b/opentelemetry-sdk/tests/trace/test_implementation.py @@ -41,7 +41,7 @@ def test_tracer(self): def test_span(self): with self.assertRaises(Exception): - # pylint: disable=no-value-for-parameter + span = trace._Span() span = trace._Span("name", INVALID_SPAN_CONTEXT) diff --git a/opentelemetry-sdk/tests/trace/test_sampling.py b/opentelemetry-sdk/tests/trace/test_sampling.py index 0034398fa8..b3536d6ca8 100644 --- a/opentelemetry-sdk/tests/trace/test_sampling.py +++ b/opentelemetry-sdk/tests/trace/test_sampling.py @@ -51,7 +51,7 @@ class TestSamplingResult(unittest.TestCase): def test_ctr(self): attributes = {"asd": "test"} trace_state = {} - # pylint: disable=E1137 + trace_state["test"] = "123" result = sampling.SamplingResult( sampling.Decision.RECORD_ONLY, attributes, trace_state diff --git a/opentelemetry-sdk/tests/trace/test_span_processor.py b/opentelemetry-sdk/tests/trace/test_span_processor.py index c672d4ce10..9b721c6f94 100644 --- a/opentelemetry-sdk/tests/trace/test_span_processor.py +++ b/opentelemetry-sdk/tests/trace/test_span_processor.py @@ -212,10 +212,10 @@ def test_force_flush(self): flushed = multi_processor.force_flush(timeout_millis) - # pylint: disable=no-member + self.assertTrue(flushed) for mock_processor in mocks: - # pylint: disable=no-member + self.assertEqual(1, mock_processor.force_flush.call_count) multi_processor.shutdown() diff --git a/opentelemetry-sdk/tests/trace/test_trace.py b/opentelemetry-sdk/tests/trace/test_trace.py index 52f34e8753..b05aa41446 100644 --- a/opentelemetry-sdk/tests/trace/test_trace.py +++ b/opentelemetry-sdk/tests/trace/test_trace.py @@ -12,8 +12,8 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=too-many-lines -# pylint: disable=no-member + + import shutil import subprocess @@ -159,7 +159,7 @@ def test_tracer_provider_accepts_concurrent_multi_span_processor(self): active_span_processor=span_processor ) - # pylint: disable=protected-access + self.assertEqual( span_processor, tracer_provider._active_span_processor ) @@ -224,7 +224,7 @@ def test_sampler_no_sampling(self, _get_from_env_or_default): @mock.patch.dict("os.environ", {OTEL_TRACES_SAMPLER: "always_off"}) def test_sampler_with_env(self): - # pylint: disable=protected-access + reload(trace) tracer_provider = trace.TracerProvider() self.assertIsInstance(tracer_provider.sampler, StaticSampler) @@ -244,7 +244,7 @@ def test_sampler_with_env(self): }, ) def test_ratio_sampler_with_env(self): - # pylint: disable=protected-access + reload(trace) tracer_provider = trace.TracerProvider() self.assertIsInstance(tracer_provider.sampler, ParentBased) @@ -252,7 +252,7 @@ def test_ratio_sampler_with_env(self): def verify_default_sampler(self, tracer_provider): self.assertIsInstance(tracer_provider.sampler, ParentBased) - # pylint: disable=protected-access + self.assertEqual(tracer_provider.sampler._root, ALWAYS_ON) @@ -560,7 +560,7 @@ def test_default_span_resource(self): tracer_provider = trace.TracerProvider() tracer = tracer_provider.get_tracer(__name__) span = tracer.start_span("root") - # pylint: disable=protected-access + self.assertIsInstance(span.resource, resources.Resource) self.assertEqual( span.resource.attributes.get(resources.SERVICE_NAME), @@ -587,11 +587,11 @@ def test_span_context_remote_flag(self): def test_disallow_direct_span_creation(self): with self.assertRaises(TypeError): - # pylint: disable=abstract-class-instantiated + trace.Span("name", mock.Mock(spec=trace_api.SpanContext)) def test_surplus_span_links(self): - # pylint: disable=protected-access + max_links = trace.SpanLimits().max_links links = [ trace_api.Link(trace_api.SpanContext(0x1, idx, is_remote=False)) @@ -602,7 +602,7 @@ def test_surplus_span_links(self): self.assertEqual(len(root.links), max_links) def test_surplus_span_attributes(self): - # pylint: disable=protected-access + max_attrs = trace.SpanLimits().max_span_attributes attributes = {str(idx): idx for idx in range(0, 16 + max_attrs)} tracer = new_tracer() @@ -637,7 +637,7 @@ def test_events(self): class TestSpan(unittest.TestCase): - # pylint: disable=too-many-public-methods + def setUp(self): self.tracer = new_tracer() @@ -973,7 +973,7 @@ def test_start_span(self): self.assertIs(span.status.description, "Test description") def test_start_accepts_context(self): - # pylint: disable=no-self-use + span_processor = mock.Mock(spec=trace.SpanProcessor) span = trace._Span( "name", @@ -1489,7 +1489,7 @@ def test_attributes_to_json(self): class TestSpanLimits(unittest.TestCase): - # pylint: disable=protected-access + long_val = "v" * 1000 @@ -1947,7 +1947,7 @@ def test_parent_child_span_exception(self): ) as child_span: raise exception - except Exception: # pylint: disable=broad-except + except Exception: pass self.assertTrue(child_span.status.is_ok) @@ -1992,7 +1992,7 @@ def test_child_parent_span_exception(self): pass raise exception - except Exception: # pylint: disable=broad-except + except Exception: pass self.assertTrue(child_span.status.is_ok) @@ -2004,7 +2004,7 @@ def test_child_parent_span_exception(self): self.assertTupleEqual(parent_span.events, ()) -# pylint: disable=protected-access + class TestTracerProvider(unittest.TestCase): @patch("opentelemetry.sdk.trace.sampling._get_from_env_or_default") @patch.object(Resource, "create") diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py index 590135934c..1e2d6dec85 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=too-many-lines + from enum import Enum diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py index 48df586dc1..c9cb7edea0 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=too-many-lines + from enum import Enum diff --git a/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py b/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py index 6625712e33..74e1c15922 100644 --- a/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py +++ b/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py @@ -18,7 +18,7 @@ import opentelemetry.trace as trace_api from opentelemetry.context import Context, get_current -from opentelemetry.propagators.b3 import ( # pylint: disable=no-name-in-module,import-error +from opentelemetry.propagators.b3 import ( B3MultiFormat, B3SingleFormat, ) @@ -53,7 +53,7 @@ def get_child_parent_new_carrier(old_carrier, propagator): class AbstractB3FormatTestCase: - # pylint: disable=too-many-public-methods,no-member,invalid-name + @classmethod def setUpClass(cls): diff --git a/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py b/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py index d9e31a660e..22047f31ac 100644 --- a/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py +++ b/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py @@ -18,7 +18,7 @@ from opentelemetry import baggage from opentelemetry.baggage import _BAGGAGE_KEY from opentelemetry.context import Context -from opentelemetry.propagators import ( # pylint: disable=no-name-in-module +from opentelemetry.propagators import ( jaeger, ) from opentelemetry.sdk import trace @@ -63,7 +63,7 @@ def setUpClass(cls): cls.trace_id = generator.generate_trace_id() cls.span_id = generator.generate_span_id() cls.parent_span_id = generator.generate_span_id() - cls.serialized_uber_trace_id = jaeger._format_uber_trace_id( # pylint: disable=protected-access + cls.serialized_uber_trace_id = jaeger._format_uber_trace_id( cls.trace_id, cls.span_id, cls.parent_span_id, 11 ) @@ -114,7 +114,7 @@ def test_debug_flag_set(self): self.assertEqual(FORMAT.DEBUG_FLAG, debug_flag_value) def test_sample_debug_flags_unset(self): - uber_trace_id = jaeger._format_uber_trace_id( # pylint: disable=protected-access + uber_trace_id = jaeger._format_uber_trace_id( self.trace_id, self.span_id, self.parent_span_id, 0 ) old_carrier = {FORMAT.TRACE_ID_KEY: uber_trace_id} diff --git a/pyproject.toml b/pyproject.toml index 10ab705284..083a6713c8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,6 +46,9 @@ select = [ # Pylint "PL", + + # flake8-slf (private-member-access) + # "SLF001", ] ignore = [ diff --git a/scripts/update_sha.py b/scripts/update_sha.py index 429470c055..a311e10ff4 100644 --- a/scripts/update_sha.py +++ b/scripts/update_sha.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -# pylint: disable=import-error,unspecified-encoding + import argparse diff --git a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py index 042591038d..7f1069668a 100644 --- a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py +++ b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py @@ -59,7 +59,7 @@ def _opencensus_time_to_nanos(timestamp: str) -> int: return round(seconds_float * 1e9) -# pylint: disable=abstract-method + class ShimSpan(wrapt.ObjectProxy): def __init__( self, @@ -112,7 +112,7 @@ def add_message_event(self, message_event: MessageEvent): timestamp=timestamp, ) - # pylint: disable=no-self-use + def add_link(self, link): """span links do not work with the shim because the OpenCensus Tracer does not accept links in start_span(). Same issue applies to SpanKind. Also see: @@ -152,7 +152,7 @@ def __enter__(self): self._self_otel_span.__enter__() return self - # pylint: disable=arguments-differ + def __exit__(self, exception_type, exception_value, traceback): self._self_otel_span.__exit__( exception_type, exception_value, traceback diff --git a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py index 0ca3184fab..fd403062ec 100644 --- a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py +++ b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py @@ -80,7 +80,7 @@ def set_oc_span_in_context( ) -# pylint: disable=abstract-method + class ShimTracer(wrapt.ObjectProxy): def __init__( self, @@ -122,7 +122,7 @@ def start_span(self, name="span"): # OpenCensus's ContextTracer calls execution_context.set_current_span(span) which is # equivalent to the below. This can cause context to leak but is equivalent. - # pylint: disable=protected-access + shim_span._self_token = context.attach(ctx) # Also set it in OC's context, equivalent to # https://github.com/census-instrumentation/opencensus-python/blob/2e08df591b507612b3968be8c2538dedbf8fab37/opencensus/trace/tracers/context_tracer.py#L94 @@ -140,13 +140,13 @@ def end_span(self): span.finish() - # pylint: disable=protected-access + context.detach(span._self_token) # Also reset the OC execution_context, equivalent to # https://github.com/census-instrumentation/opencensus-python/blob/2e08df591b507612b3968be8c2538dedbf8fab37/opencensus/trace/tracers/context_tracer.py#L114-L117 execution_context.set_current_span(self.current_span()) - # pylint: disable=no-self-use + def current_span(self): return get_shim_span_in_context() diff --git a/shim/opentelemetry-opencensus-shim/tests/test_shim.py b/shim/opentelemetry-opencensus-shim/tests/test_shim.py index 74a9eddcf2..16bcf97405 100644 --- a/shim/opentelemetry-opencensus-shim/tests/test_shim.py +++ b/shim/opentelemetry-opencensus-shim/tests/test_shim.py @@ -116,7 +116,7 @@ def test_set_span_kind_logs_a_warning(self): with self.assertLogs(level=logging.WARNING): span.span_kind = SpanKind.CLIENT - # pylint: disable=no-self-use,no-member,protected-access + def test_shim_span_contextmanager_calls_does_not_call_end(self): # This was a bug in first implementation where the underlying OTel span.end() was # called after span.__exit__ which caused double-ending the span. diff --git a/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py b/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py index a06d783472..5c123acf38 100644 --- a/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py +++ b/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py @@ -301,7 +301,7 @@ def set_baggage_item(self, key: str, value: str): key: A tag key. value: A tag value. """ - # pylint: disable=protected-access + self._context._baggage = set_baggage( key, value, context=self._context._baggage ) @@ -314,7 +314,7 @@ def get_baggage_item(self, key: str) -> Optional[object]: Returns: Returns this :class:`SpanShim` instance to allow call chaining. """ - # pylint: disable=protected-access + return get_baggage(key, context=self._context._baggage) @@ -389,7 +389,7 @@ def from_context_manager(cls, manager: "ScopeManagerShim", span_cm): :meth:`opentelemetry.trace.use_span`. """ - # pylint: disable=unnecessary-dunder-call + otel_span = span_cm.__enter__() span_context = SpanContextShim(otel_span.get_span_context()) span = SpanShim(manager.tracer, span_context, otel_span) @@ -455,7 +455,7 @@ def __init__(self, tracer: "TracerShim"): # The only thing the ``__init__()``` method on the base class does is # initialize `self._noop_span` and `self._noop_scope` with no-op # objects. Therefore, it doesn't seem useful to call it. - # pylint: disable=super-init-not-called + self._tracer = tracer def activate(self, span: SpanShim, finish_on_close: bool) -> "ScopeShim": @@ -697,7 +697,7 @@ def inject(self, span_context, format: object, carrier: object): carrier: the format-specific carrier object to inject into """ - # pylint: disable=redefined-builtin + # This implementation does not perform the injecting by itself but # uses the configured propagators in opentelemetry.propagators. # TODO: Support Format.BINARY once it is supported in @@ -732,7 +732,7 @@ def extract(self, format: object, carrier: object): ``None`` if no such ``SpanContext`` could be found. """ - # pylint: disable=redefined-builtin + # This implementation does not perform the extracting by itself but # uses the configured propagators in opentelemetry.propagators. # TODO: Support Format.BINARY once it is supported in diff --git a/shim/opentelemetry-opentracing-shim/tests/test_shim.py b/shim/opentelemetry-opentracing-shim/tests/test_shim.py index 85a9f68512..4ec66e8792 100644 --- a/shim/opentelemetry-opentracing-shim/tests/test_shim.py +++ b/shim/opentelemetry-opentracing-shim/tests/test_shim.py @@ -38,7 +38,7 @@ class TestShim(TestCase): - # pylint: disable=too-many-public-methods + def setUp(self): """Create an OpenTelemetry tracer and a shim before every test case.""" diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py index 7ffad630d2..565a3640d6 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py @@ -14,14 +14,13 @@ import asyncio -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import stop_loop_when class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py index fbd0eac308..4e105debaf 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py @@ -14,13 +14,12 @@ from concurrent.futures import ThreadPoolExecutor -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase class TestThreads(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() # use max_workers=3 as a general example even if only one would suffice self.executor = ThreadPoolExecutor(max_workers=3) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py index adf99e76b2..a031edd680 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py @@ -17,7 +17,6 @@ import opentracing from opentracing.ext import tags -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import get_logger, get_one_by_tag, stop_loop_when @@ -65,7 +64,7 @@ async def send(self): class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.queue = asyncio.Queue() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_threads.py index 6fa5974d79..0fbb1d04b8 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_threads.py @@ -18,7 +18,6 @@ import opentracing from opentracing.ext import tags -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import await_until, get_logger, get_one_by_tag @@ -67,7 +66,7 @@ def send(self): class TestThreads(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.queue = Queue() self.server = Server(tracer=self.tracer, queue=self.queue) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/request_handler.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/request_handler.py index b48a5dbc68..22a236a94d 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/request_handler.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/request_handler.py @@ -14,7 +14,6 @@ from opentracing.ext import tags -# pylint: disable=import-error from ..utils import get_logger logger = get_logger(__name__) @@ -43,7 +42,7 @@ def before_request(self, request, request_context): request_context["span"] = span def after_request(self, request, request_context): - # pylint: disable=no-self-use + logger.info("After request %s", request) span = request_context.get("span") diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py index 58970a223c..3fcba2fde9 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py @@ -16,7 +16,6 @@ from opentracing.ext import tags -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import get_logger, get_one_by_operation_name, stop_loop_when @@ -60,7 +59,7 @@ class TestAsyncio(OpenTelemetryTestCase): So one issue here is setting correct parent span. """ - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() self.client = Client(RequestHandler(self.tracer), self.loop) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py index fdc0549d62..b49aee47fa 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py @@ -16,7 +16,6 @@ from opentracing.ext import tags -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import get_logger, get_one_by_operation_name @@ -60,7 +59,7 @@ class TestThreads(OpenTelemetryTestCase): activate span. So one issue here is setting correct parent span. """ - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.executor = ThreadPoolExecutor(max_workers=3) self.client = Client(RequestHandler(self.tracer), self.executor) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py index d27e51ca88..bef7c2d6f1 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py @@ -14,7 +14,6 @@ import asyncio -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import get_logger, stop_loop_when @@ -23,7 +22,7 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py index 2cd43d7e70..6f7de67d79 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py @@ -15,13 +15,12 @@ import time from concurrent.futures import ThreadPoolExecutor -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase class TestThreads(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.executor = ThreadPoolExecutor(max_workers=3) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py index d0f0a6a577..d61a180e4f 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py @@ -16,7 +16,6 @@ from opentracing.ext import tags -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import get_one_by_tag @@ -43,7 +42,7 @@ def send_sync(self, message): class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py index 39d0a3d1d4..d3fa0c6ad6 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py @@ -16,7 +16,6 @@ from opentracing.ext import tags -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import get_one_by_tag @@ -29,7 +28,7 @@ def __init__(self, tracer): self.executor = ThreadPoolExecutor(max_workers=3) def _task(self, message, listener): - # pylint: disable=no-self-use + res = f"{message}::response" listener.on_response(res) return res @@ -43,7 +42,7 @@ def send_sync(self, message): class TestThreads(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() def test_main(self): diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py index bbfb620a84..944121ecc4 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py @@ -15,7 +15,6 @@ import asyncio import random -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import get_logger, stop_loop_when @@ -25,7 +24,7 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py index d94f834e51..824ea1809c 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py @@ -16,7 +16,6 @@ import time from concurrent.futures import ThreadPoolExecutor -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import RefCount, get_logger @@ -26,7 +25,7 @@ class TestThreads(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.executor = ThreadPoolExecutor(max_workers=3) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py index f00258624c..aa873f0764 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py @@ -14,14 +14,13 @@ import asyncio -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import stop_loop_when class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py index 955298537d..7ab3b90e79 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py @@ -14,18 +14,17 @@ from concurrent.futures import ThreadPoolExecutor -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase from ..utils import await_until class TestThreads(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.executor = ThreadPoolExecutor(max_workers=3) - def tearDown(self): # pylint: disable=invalid-name + def tearDown(self): self.executor.shutdown(False) def test_main(self): diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py index 653f9bd810..a6a32a7348 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py @@ -14,13 +14,12 @@ import asyncio -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py index 0d003c9062..58999de27f 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py @@ -14,13 +14,12 @@ from concurrent.futures import ThreadPoolExecutor -# pylint: disable=import-error from ..otel_ot_shim_tracer import MockTracer from ..testcase import OpenTelemetryTestCase class TestThreads(OpenTelemetryTestCase): - def setUp(self): # pylint: disable=invalid-name + def setUp(self): self.tracer = MockTracer() self.executor = ThreadPoolExecutor(max_workers=3) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/testcase.py b/shim/opentelemetry-opentracing-shim/tests/testbed/testcase.py index 3c16682fad..7b6b2de261 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/testcase.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/testcase.py @@ -3,7 +3,6 @@ import opentelemetry.trace as trace_api -# pylint: disable=C0103 class OpenTelemetryTestCase(unittest.TestCase): def assertSameTrace(self, spanA, spanB): return self.assertEqual(spanA.context.trace_id, spanB.context.trace_id) diff --git a/tests/opentelemetry-docker-tests/tests/otlpexporter/__init__.py b/tests/opentelemetry-docker-tests/tests/otlpexporter/__init__.py index d4340fb910..2e5ecd17aa 100644 --- a/tests/opentelemetry-docker-tests/tests/otlpexporter/__init__.py +++ b/tests/opentelemetry-docker-tests/tests/otlpexporter/__init__.py @@ -34,7 +34,7 @@ class BaseTestOTLPExporter(ABC): def get_span_processor(self): pass - # pylint: disable=no-member + def test_export(self): with self.tracer.start_as_current_span("foo"): with self.tracer.start_as_current_span("bar"): diff --git a/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_grpc_exporter_functional.py b/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_grpc_exporter_functional.py index d48b305396..e59b6e265d 100644 --- a/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_grpc_exporter_functional.py +++ b/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_grpc_exporter_functional.py @@ -23,7 +23,7 @@ class TestOTLPGRPCExporter(BaseTestOTLPExporter, TestBase): - # pylint: disable=no-self-use + def get_span_processor(self): return ExportStatusSpanProcessor( OTLPSpanExporter(insecure=True, timeout=1) diff --git a/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_http_exporter_functional.py b/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_http_exporter_functional.py index 59a333dec6..5b73f64b2f 100644 --- a/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_http_exporter_functional.py +++ b/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_http_exporter_functional.py @@ -23,7 +23,7 @@ class TestOTLPHTTPExporter(BaseTestOTLPExporter, TestBase): - # pylint: disable=no-self-use + def get_span_processor(self): return ExportStatusSpanProcessor(OTLPSpanExporter()) diff --git a/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py b/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py index 84188864bf..eb9d8d3a4c 100644 --- a/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py +++ b/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py @@ -26,7 +26,7 @@ def __init__(self, test_case): def __enter__(self): return self - def __exit__(self, type_, value, tb): # pylint: disable=invalid-name + def __exit__(self, type_, value, tb): if value is not None and type_ in self._exception_types: self._test_case.fail( "Unexpected exception was raised:\n{}".format( @@ -37,15 +37,15 @@ def __exit__(self, type_, value, tb): # pylint: disable=invalid-name return True def __call__(self, exception, *exceptions): - # pylint: disable=attribute-defined-outside-init + self._exception_types = (exception, *exceptions) return self def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - # pylint: disable=invalid-name + self.assertNotRaises = self._AssertNotRaises(self) -class TestCase(_AssertNotRaisesMixin, TestCase): # pylint: disable=function-redefined +class TestCase(_AssertNotRaisesMixin, TestCase): pass diff --git a/tests/opentelemetry-test-utils/src/opentelemetry/test/globals_test.py b/tests/opentelemetry-test-utils/src/opentelemetry/test/globals_test.py index ed210f2797..f4a116f519 100644 --- a/tests/opentelemetry-test-utils/src/opentelemetry/test/globals_test.py +++ b/tests/opentelemetry-test-utils/src/opentelemetry/test/globals_test.py @@ -21,7 +21,6 @@ from opentelemetry.util._once import Once -# pylint: disable=protected-access def reset_trace_globals() -> None: """WARNING: only use this for tests.""" trace_api._TRACER_PROVIDER_SET_ONCE = Once() @@ -29,7 +28,7 @@ def reset_trace_globals() -> None: trace_api._PROXY_TRACER_PROVIDER = trace_api.ProxyTracerProvider() -# pylint: disable=protected-access + def reset_metrics_globals() -> None: """WARNING: only use this for tests.""" metrics_api._METER_PROVIDER_SET_ONCE = Once() # type: ignore[attr-defined] @@ -37,7 +36,7 @@ def reset_metrics_globals() -> None: metrics_api._PROXY_METER_PROVIDER = _ProxyMeterProvider() # type: ignore[attr-defined] -# pylint: disable=protected-access + def reset_logging_globals() -> None: """WARNING: only use this for tests.""" logging_api._LOGGER_PROVIDER_SET_ONCE = Once() # type: ignore[attr-defined] diff --git a/tests/opentelemetry-test-utils/src/opentelemetry/test/test_base.py b/tests/opentelemetry-test-utils/src/opentelemetry/test/test_base.py index f9ac2dfc19..0b72888de1 100644 --- a/tests/opentelemetry-test-utils/src/opentelemetry/test/test_base.py +++ b/tests/opentelemetry-test-utils/src/opentelemetry/test/test_base.py @@ -39,7 +39,7 @@ class TestBase(unittest.TestCase): - # pylint: disable=C0103 + def setUp(self): super().setUp() @@ -85,7 +85,7 @@ def assertSpanHasAttributes(self, span, attributes): self.assertIn(key, span.attributes) self.assertEqual(val, span.attributes[key]) - def sorted_spans(self, spans): # pylint: disable=R0201 + def sorted_spans(self, spans): """ Sorts spans by span creation time. @@ -94,7 +94,7 @@ def sorted_spans(self, spans): # pylint: disable=R0201 """ return sorted( spans, - key=lambda s: s._start_time, # pylint: disable=W0212 + key=lambda s: s._start_time, reverse=True, ) @@ -179,7 +179,7 @@ def assert_metric_expected( expected_data_point, metric.data.data_points, est_value_delta ) - # pylint: disable=unidiomatic-typecheck + @staticmethod def is_data_points_equal( expected_data_point: DataPointT, diff --git a/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py b/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py index 908b1d4184..5694b7f28a 100644 --- a/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py +++ b/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py @@ -39,7 +39,7 @@ def start_response(self, status, response_headers, exc_info=None): self.exc_info = exc_info return self.write - def assertTraceResponseHeaderMatchesSpan(self, headers, span): # pylint: disable=invalid-name + def assertTraceResponseHeaderMatchesSpan(self, headers, span): self.assertIn("traceresponse", headers) self.assertEqual( headers["access-control-expose-headers"], diff --git a/tests/opentelemetry-test-utils/tests/test_utils.py b/tests/opentelemetry-test-utils/tests/test_utils.py index ccebd94fe9..a618f1545a 100644 --- a/tests/opentelemetry-test-utils/tests/test_utils.py +++ b/tests/opentelemetry-test-utils/tests/test_utils.py @@ -21,35 +21,35 @@ def test_no_exception(self): with self.assertNotRaises(Exception): pass - except Exception as error: # pylint: disable=broad-except - self.fail( # pylint: disable=no-member + except Exception as error: + self.fail( f"Unexpected exception {error} was raised" ) def test_no_specified_exception_single(self): try: with self.assertNotRaises(KeyError): - 1 / 0 # pylint: disable=pointless-statement + 1 / 0 - except Exception as error: # pylint: disable=broad-except - self.fail( # pylint: disable=no-member + except Exception as error: + self.fail( f"Unexpected exception {error} was raised" ) def test_no_specified_exception_multiple(self): try: with self.assertNotRaises(KeyError, IndexError): - 1 / 0 # pylint: disable=pointless-statement + 1 / 0 - except Exception as error: # pylint: disable=broad-except - self.fail( # pylint: disable=no-member + except Exception as error: + self.fail( f"Unexpected exception {error} was raised" ) def test_exception(self): with self.assertRaises(AssertionError): with self.assertNotRaises(ZeroDivisionError): - 1 / 0 # pylint: disable=pointless-statement + 1 / 0 def test_missing_exception(self): with self.assertRaises(AssertionError) as error: From c5f97db643669ffcf03b0b343af5e61dd4540d8b Mon Sep 17 00:00:00 2001 From: Aaron Abbott Date: Thu, 28 Mar 2024 05:34:33 +0000 Subject: [PATCH 5/7] final noqa --- opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py | 2 +- opentelemetry-api/src/opentelemetry/context/__init__.py | 2 +- .../src/opentelemetry/metrics/_internal/__init__.py | 2 +- opentelemetry-api/src/opentelemetry/trace/__init__.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py b/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py index add6aef99f..f0e49116f2 100644 --- a/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py +++ b/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py @@ -239,7 +239,7 @@ def get_logger_provider() -> LoggerProvider: def _set_logger_provider(logger_provider: LoggerProvider, log: bool) -> None: def set_lp() -> None: - global _LOGGER_PROVIDER + global _LOGGER_PROVIDER # noqa: PLW0603 _LOGGER_PROVIDER = logger_provider did_set = _LOGGER_PROVIDER_SET_ONCE.do_once(set_lp) diff --git a/opentelemetry-api/src/opentelemetry/context/__init__.py b/opentelemetry-api/src/opentelemetry/context/__init__.py index 17dea4c547..a96ee34ae7 100644 --- a/opentelemetry-api/src/opentelemetry/context/__init__.py +++ b/opentelemetry-api/src/opentelemetry/context/__init__.py @@ -42,7 +42,7 @@ def wrapper( *args: typing.Tuple[typing.Any, typing.Any], **kwargs: typing.Dict[typing.Any, typing.Any], ) -> typing.Optional[typing.Any]: - global _RUNTIME_CONTEXT + global _RUNTIME_CONTEXT # noqa: PLW0603 with _RUNTIME_CONTEXT_LOCK: if _RUNTIME_CONTEXT is None: diff --git a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py index de0b783e52..146bc254ac 100644 --- a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py +++ b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py @@ -794,7 +794,7 @@ def get_meter( def _set_meter_provider(meter_provider: MeterProvider, log: bool) -> None: def set_mp() -> None: - global _METER_PROVIDER + global _METER_PROVIDER # noqa: PLW0603 _METER_PROVIDER = meter_provider # gives all proxies real instruments off the newly set meter provider diff --git a/opentelemetry-api/src/opentelemetry/trace/__init__.py b/opentelemetry-api/src/opentelemetry/trace/__init__.py index f8b11b90c7..efb011fa66 100644 --- a/opentelemetry-api/src/opentelemetry/trace/__init__.py +++ b/opentelemetry-api/src/opentelemetry/trace/__init__.py @@ -508,7 +508,7 @@ def get_tracer( def _set_tracer_provider(tracer_provider: TracerProvider, log: bool) -> None: def set_tp() -> None: - global _TRACER_PROVIDER + global _TRACER_PROVIDER # noqa: PLW0603 _TRACER_PROVIDER = tracer_provider did_set = _TRACER_PROVIDER_SET_ONCE.do_once(set_tp) From c142e8b3e5acbb331d913e377c30ddfa65a5ed45 Mon Sep 17 00:00:00 2001 From: Aaron Abbott Date: Thu, 28 Mar 2024 05:51:00 +0000 Subject: [PATCH 6/7] fix tox.ini --- dev-requirements.txt | 1 + docs/conf.py | 2 +- .../src/error_handler_1/__init__.py | 1 - .../opencensus/trace_exporter/__init__.py | 2 - .../opentelemetry/exporter/opencensus/util.py | 3 -- .../tests/test_otcollector_trace_exporter.py | 3 -- .../otlp/proto/common/_internal/__init__.py | 2 +- .../tests/test_metrics_encoder.py | 2 +- .../tests/test_trace_encoder.py | 1 - .../exporter/otlp/proto/grpc/exporter.py | 1 - .../proto/grpc/trace_exporter/__init__.py | 2 - .../tests/logs/test_otlp_logs_exporter.py | 15 ------- .../tests/test_otlp_exporter_mixin.py | 13 ++---- .../tests/test_otlp_metrics_exporter.py | 39 +++--------------- .../tests/test_otlp_trace_exporter.py | 40 ++++--------------- .../otlp/proto/http/_log_exporter/__init__.py | 2 +- .../proto/http/metric_exporter/__init__.py | 2 +- .../proto/http/trace_exporter/__init__.py | 2 +- .../metrics/test_otlp_metrics_exporter.py | 1 - .../tests/test_proto_log_exporter.py | 1 - .../tests/test_proto_span_exporter.py | 2 - .../exporter/prometheus/__init__.py | 2 - .../tests/test_entrypoints.py | 1 - .../tests/test_prometheus_exporter.py | 1 - .../exporter/zipkin/encoder/__init__.py | 1 - .../tests/encoder/common_tests.py | 2 - .../exporter/zipkin/proto/http/v2/__init__.py | 4 +- .../tests/encoder/common_tests.py | 2 - .../tests/encoder/test_v2_protobuf.py | 2 +- .../tests/test_zipkin.py | 2 +- .../opentelemetry/_logs/_internal/__init__.py | 2 +- .../baggage/propagation/__init__.py | 2 +- .../src/opentelemetry/context/__init__.py | 4 +- .../metrics/_internal/__init__.py | 2 - .../metrics/_internal/instrument.py | 2 - .../src/opentelemetry/propagate/__init__.py | 2 +- .../src/opentelemetry/trace/__init__.py | 5 +-- .../src/opentelemetry/trace/span.py | 14 +++---- .../src/opentelemetry/util/_decorator.py | 2 +- .../src/opentelemetry/util/_providers.py | 2 +- .../src/opentelemetry/util/re.py | 3 -- .../tests/context/test_contextvars_context.py | 2 - .../tests/logs/test_logger_provider.py | 3 +- .../tests/metrics/test_meter_provider.py | 1 - .../tests/metrics/test_observation.py | 2 +- .../tests/propagators/test_propagators.py | 3 -- .../tests/test_implementation.py | 2 - opentelemetry-api/tests/trace/test_proxy.py | 2 +- opentelemetry-api/tests/trace/test_tracer.py | 2 +- .../sdk/_configuration/__init__.py | 2 +- .../sdk/_logs/_internal/export/__init__.py | 8 ++-- .../sdk/error_handler/__init__.py | 3 -- .../sdk/metrics/_internal/__init__.py | 2 - .../_internal/_view_instrument_match.py | 3 -- .../sdk/metrics/_internal/aggregation.py | 6 --- .../exponential_histogram/mapping/__init__.py | 3 -- .../mapping/exponent_mapping.py | 2 - .../mapping/logarithm_mapping.py | 2 - .../sdk/metrics/_internal/export/__init__.py | 5 +-- .../sdk/metrics/_internal/instrument.py | 5 +-- .../metrics/_internal/measurement_consumer.py | 1 - .../_internal/metric_reader_storage.py | 8 ---- .../sdk/metrics/_internal/point.py | 2 - .../metrics/_internal/sdk_configuration.py | 1 - .../sdk/metrics/_internal/view.py | 2 - .../opentelemetry/sdk/resources/__init__.py | 4 +- .../src/opentelemetry/sdk/trace/__init__.py | 23 ++++------- .../sdk/trace/export/__init__.py | 7 ++-- opentelemetry-sdk/tests/conftest.py | 2 - .../tests/error_handler/test_error_handler.py | 10 ----- opentelemetry-sdk/tests/logs/test_export.py | 7 ++-- opentelemetry-sdk/tests/logs/test_handler.py | 1 - opentelemetry-sdk/tests/logs/test_logs.py | 1 - .../tests/metrics/test_import.py | 1 - .../tests/metrics/test_instrument.py | 7 ---- opentelemetry-sdk/tests/test_configurator.py | 3 +- .../tests/trace/export/test_export.py | 9 ++--- .../tests/trace/test_implementation.py | 1 - .../tests/trace/test_sampling.py | 2 +- .../tests/trace/test_span_processor.py | 2 - opentelemetry-sdk/tests/trace/test_trace.py | 22 ++-------- .../semconv/resource/__init__.py | 1 - .../opentelemetry/semconv/trace/__init__.py | 1 - .../tests/test_b3_format.py | 2 - .../tests/test_jaeger_propagator.py | 4 +- scripts/eachdist.py | 18 +-------- scripts/update_sha.py | 1 - .../shim/opencensus/_shim_span.py | 3 -- .../shim/opencensus/_shim_tracer.py | 5 +-- .../tests/test_shim.py | 1 - .../shim/opentracing_shim/__init__.py | 9 ++--- .../tests/test_shim.py | 2 - .../test_asyncio.py | 2 +- .../test_threads.py | 2 +- .../test_client_server/test_asyncio.py | 2 +- .../test_client_server/test_threads.py | 2 +- .../request_handler.py | 1 - .../test_asyncio.py | 2 +- .../test_threads.py | 2 +- .../test_late_span_finish/test_asyncio.py | 2 +- .../test_late_span_finish/test_threads.py | 2 +- .../test_listener_per_request/test_asyncio.py | 2 +- .../test_listener_per_request/test_threads.py | 3 +- .../test_multiple_callbacks/test_asyncio.py | 2 +- .../test_multiple_callbacks/test_threads.py | 2 +- .../test_nested_callbacks/test_asyncio.py | 2 +- .../test_nested_callbacks/test_threads.py | 4 +- .../test_asyncio.py | 2 +- .../test_threads.py | 2 +- .../tests/otlpexporter/__init__.py | 1 - .../test_otlp_grpc_exporter_functional.py | 1 - .../test_otlp_http_exporter_functional.py | 1 - .../src/opentelemetry/test/__init__.py | 7 ++-- .../src/opentelemetry/test/globals_test.py | 2 - .../src/opentelemetry/test/test_base.py | 7 +--- .../src/opentelemetry/test/wsgitestutil.py | 2 +- .../tests/test_utils.py | 24 +++++------ tox.ini | 24 ----------- 118 files changed, 120 insertions(+), 400 deletions(-) diff --git a/dev-requirements.txt b/dev-requirements.txt index 15462dea50..e609607866 100644 --- a/dev-requirements.txt +++ b/dev-requirements.txt @@ -19,3 +19,4 @@ asgiref==3.7.2 psutil==5.9.6 GitPython==3.1.41 flaky==3.7.0 +ruff==0.3.4 diff --git a/docs/conf.py b/docs/conf.py index d8708619c4..d1163d8366 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -47,7 +47,7 @@ # -- Project information ----------------------------------------------------- project = "OpenTelemetry Python" -copyright = "OpenTelemetry Authors" +copyright = "OpenTelemetry Authors" author = "OpenTelemetry Authors" diff --git a/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py b/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py index a6eea2cce6..7bf1414b6a 100644 --- a/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py +++ b/docs/examples/error_handler/error_handler_1/src/error_handler_1/__init__.py @@ -19,7 +19,6 @@ logger = getLogger(__name__) - class ErrorHandler1(ErrorHandler, IndexError, KeyError): def _handle(self, error: Exception, *args, **kwargs): if isinstance(error, IndexError): diff --git a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py index e2b89add2e..3dbedc3312 100644 --- a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/trace_exporter/__init__.py @@ -35,7 +35,6 @@ logger = logging.getLogger(__name__) - class OpenCensusSpanExporter(SpanExporter): """OpenCensus Collector span exporter. @@ -105,7 +104,6 @@ def force_flush(self, timeout_millis: int = 30000) -> bool: return True - def translate_to_collector(spans: Sequence[ReadableSpan]): # noqa: PLR0912 collector_spans = [] for span in spans: diff --git a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py index 36392134a7..4375ede65d 100644 --- a/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py +++ b/exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/util.py @@ -40,12 +40,10 @@ def proto_timestamp_from_time_ns(time_ns): """ ts = Timestamp() if time_ns is not None: - ts.FromNanoseconds(time_ns) return ts - def get_collector_span_kind(kind: SpanKind): if kind is SpanKind.SERVER: return trace_pb2.Span.SpanKind.SERVER @@ -76,7 +74,6 @@ def add_proto_attribute_value(pb_attributes, key, value): pb_attributes.attribute_map[key].string_value.value = str(value) - def get_node(service_name, host_name): """Generates Node message from params and system information. diff --git a/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py b/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py index 888caf255e..113e72d443 100644 --- a/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py +++ b/exporter/opentelemetry-exporter-opencensus/tests/test_otcollector_trace_exporter.py @@ -77,8 +77,6 @@ def test_proto_timestamp_from_time_ns(self): self.assertIsInstance(result, Timestamp) self.assertEqual(result.nanos, 12345) - - def test_translate_to_collector(self): # noqa: PLR0915 trace_id = 0x6E0C63257DE34C926F9EFCD03927272E span_id = 0x34BF92DEEFC58C92 @@ -312,7 +310,6 @@ def test_export(self): result_status = collector_exporter.export(otel_spans) self.assertEqual(SpanExportResult.SUCCESS, result_status) - export_arg = mock_export.call_args[0] service_request = next(export_arg[0]) output_spans = getattr(service_request, "spans") diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py index 3a9a4bcaeb..6de492df79 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/_internal/__init__.py @@ -108,7 +108,7 @@ def _encode_attributes( for key, value in attributes.items(): try: pb2_attributes.append(_encode_key_value(key, value)) - except Exception as error: + except Exception as error: _logger.exception(error) else: pb2_attributes = None diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py index ebda9f198f..f22fb33501 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_metrics_encoder.py @@ -811,6 +811,6 @@ def test_encode_exponential_histogram(self): ) ] ) - + actual = encode_metrics(metrics_data) self.assertEqual(expected, actual) diff --git a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_trace_encoder.py b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_trace_encoder.py index 996fdb00bc..30f481fccf 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_trace_encoder.py +++ b/exporter/opentelemetry-exporter-otlp-proto-common/tests/test_trace_encoder.py @@ -13,7 +13,6 @@ # limitations under the License. - import unittest from typing import List, Tuple diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py index ea900588b6..9dc115a602 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/exporter.py @@ -136,7 +136,6 @@ def _get_credentials(creds, environ_key): return ssl_channel_credentials() - class OTLPExporterMixin( ABC, Generic[SDKDataT, ExportServiceRequestT, ExportResultT] ): diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py index a190dba44e..0b9b27c776 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/trace_exporter/__init__.py @@ -59,14 +59,12 @@ logger = logging.getLogger(__name__) - class OTLPSpanExporter( SpanExporter, OTLPExporterMixin[ ReadableSpan, ExportTraceServiceRequest, SpanExportResult ], ): - """OTLP span exporter Args: diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py index 9f4a333691..836b69900e 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/logs/test_otlp_logs_exporter.py @@ -62,7 +62,6 @@ class LogsServiceServicerUNAVAILABLEDelay(LogsServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -84,7 +83,6 @@ def Export(self, request, context): class LogsServiceServicerUNAVAILABLE(LogsServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -92,7 +90,6 @@ def Export(self, request, context): class LogsServiceServicerSUCCESS(LogsServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.OK) @@ -100,7 +97,6 @@ def Export(self, request, context): class LogsServiceServicerALREADY_EXISTS(LogsServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.ALREADY_EXISTS) @@ -169,7 +165,6 @@ def tearDown(self): self.server.stop(None) def test_exporting(self): - self.assertEqual(self.exporter._exporting, "logs") @patch.dict( @@ -205,14 +200,12 @@ def test_env_variables(self, mock_exporter_mixin): @patch( "opentelemetry.exporter.otlp.proto.grpc._log_exporter.OTLPLogExporter._stub" ) - def test_no_credentials_error( self, mock_ssl_channel, mock_secure, mock_stub ): OTLPLogExporter(insecure=False) self.assertTrue(mock_ssl_channel.called) - @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): @@ -265,7 +258,6 @@ def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): ), ] - for endpoint, insecure, mock_method in endpoints: OTLPLogExporter(endpoint=endpoint, insecure=insecure) self.assertEqual( @@ -285,7 +277,6 @@ def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): mock_method.reset_mock() def test_otlp_headers_from_env(self): - self.assertEqual( self.exporter._headers, (("user-agent", "OTel-OTLP-Exporter-Python/" + __version__),), @@ -355,7 +346,6 @@ def test_translate_log_data(self): ), log_records=[ PB2LogRecord( - time_unix_nano=self.log_data_1.log_record.timestamp, severity_number=self.log_data_1.log_record.severity_number.value, severity_text="WARNING", @@ -391,7 +381,6 @@ def test_translate_log_data(self): ] ) - self.assertEqual( expected, self.exporter._translate_data([self.log_data_1]) ) @@ -414,7 +403,6 @@ def test_translate_multiple_logs(self): ), log_records=[ PB2LogRecord( - time_unix_nano=self.log_data_1.log_record.timestamp, severity_number=self.log_data_1.log_record.severity_number.value, severity_text="WARNING", @@ -451,7 +439,6 @@ def test_translate_multiple_logs(self): ), log_records=[ PB2LogRecord( - time_unix_nano=self.log_data_2.log_record.timestamp, severity_number=self.log_data_2.log_record.severity_number.value, severity_text="INFO", @@ -496,7 +483,6 @@ def test_translate_multiple_logs(self): ), log_records=[ PB2LogRecord( - time_unix_nano=self.log_data_3.log_record.timestamp, severity_number=self.log_data_3.log_record.severity_number.value, severity_text="ERROR", @@ -523,7 +509,6 @@ def test_translate_multiple_logs(self): ] ) - self.assertEqual( expected, self.exporter._translate_data( diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py index becb6eb138..759d7e7f4b 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_exporter_mixin.py @@ -91,14 +91,13 @@ def _exporting(self) -> str: otlp_mock_exporter = OTLPMockExporter() with self.assertLogs(level=WARNING) as warning: - otlp_mock_exporter._export(Mock()) self.assertEqual( warning.records[0].message, "Failed to export mock to localhost:4317, error code: None", ) - def code(self): + def code(self): return StatusCode.CANCELLED def trailing_metadata(self): @@ -108,7 +107,6 @@ def trailing_metadata(self): rpc_error.trailing_metadata = MethodType(trailing_metadata, rpc_error) with self.assertLogs(level=WARNING) as warning: - otlp_mock_exporter._export([]) self.assertEqual( warning.records[0].message, @@ -137,12 +135,11 @@ def _exporting(self) -> str: otlp_mock_exporter = OTLPMockExporter() with self.assertLogs(level=WARNING) as warning: - self.assertEqual( otlp_mock_exporter._export(data={}), result_mock.SUCCESS ) otlp_mock_exporter.shutdown() - + self.assertEqual( otlp_mock_exporter._export(data={}), result_mock.FAILURE ) @@ -185,22 +182,20 @@ def _exporting(self) -> str: otlp_mock_exporter = OTLPMockExporter() - export_thread = threading.Thread( target=otlp_mock_exporter._export, args=({},) ) export_thread.start() try: - self.assertTrue(otlp_mock_exporter._export_lock.locked()) # delay is 1 second while the default shutdown timeout is 30_000 milliseconds start_time = time.time() otlp_mock_exporter.shutdown() now = time.time() self.assertGreaterEqual(now, (start_time + 30 / 1000)) - + self.assertTrue(otlp_mock_exporter._shutdown) - + self.assertFalse(otlp_mock_exporter._export_lock.locked()) finally: export_thread.join() diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py index bced9f2d71..dfe3bf6b71 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_metrics_exporter.py @@ -81,7 +81,6 @@ class MetricsServiceServicerUNAVAILABLEDelay(MetricsServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -103,7 +102,6 @@ def Export(self, request, context): class MetricsServiceServicerUNAVAILABLE(MetricsServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -111,7 +109,6 @@ def Export(self, request, context): class MetricsServiceServicerUNKNOWN(MetricsServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.UNKNOWN) @@ -119,7 +116,6 @@ def Export(self, request, context): class MetricsServiceServicerSUCCESS(MetricsServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.OK) @@ -127,7 +123,6 @@ def Export(self, request, context): class MetricsServiceServicerALREADY_EXISTS(MetricsServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.ALREADY_EXISTS) @@ -135,8 +130,6 @@ def Export(self, request, context): class TestOTLPMetricExporter(TestCase): - - def setUp(self): self.exporter = OTLPMetricExporter() @@ -175,7 +168,6 @@ def tearDown(self): self.server.stop(None) def test_exporting(self): - self.assertEqual(self.exporter._exporting, "metrics") @patch.dict( @@ -183,7 +175,6 @@ def test_exporting(self): {OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE: "DELTA"}, ) def test_preferred_temporality(self): - exporter = OTLPMetricExporter( preferred_temporality={Counter: AggregationTemporality.CUMULATIVE} ) @@ -246,7 +237,6 @@ def test_env_variables(self, mock_exporter_mixin): @patch( "opentelemetry.exporter.otlp.proto.grpc.metric_exporter.OTLPMetricExporter._stub" ) - def test_no_credentials_error( self, mock_ssl_channel, mock_secure, mock_stub ): @@ -261,10 +251,9 @@ def test_no_credentials_error( "opentelemetry.exporter.otlp.proto.grpc.exporter.ssl_channel_credentials" ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") - def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): exporter = OTLPMetricExporter() - + self.assertEqual( exporter._headers, ( @@ -276,7 +265,7 @@ def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): exporter = OTLPMetricExporter( headers=(("key3", "value3"), ("key4", "value4")) ) - + self.assertEqual( exporter._headers, ( @@ -291,10 +280,9 @@ def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): {OTEL_EXPORTER_OTLP_METRICS_INSECURE: "True"}, ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") - def test_otlp_insecure_from_env(self, mock_insecure): OTLPMetricExporter() - + self.assertTrue(mock_insecure.called) self.assertEqual( 1, @@ -302,7 +290,6 @@ def test_otlp_insecure_from_env(self, mock_insecure): f"expected {mock_insecure} to be called", ) - @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): @@ -354,7 +341,7 @@ def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): mock_secure, ), ] - + for endpoint, insecure, mock_method in endpoints: OTLPMetricExporter(endpoint=endpoint, insecure=insecure) self.assertEqual( @@ -373,7 +360,6 @@ def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): ) mock_method.reset_mock() - @patch( "opentelemetry.exporter.otlp.proto.grpc.exporter._create_exp_backoff_generator" ) @@ -388,7 +374,6 @@ def test_otlp_exporter_otlp_compression_envvar( "localhost:4317", compression=Compression.Gzip ) - @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict("os.environ", {OTEL_EXPORTER_OTLP_COMPRESSION: "gzip"}) def test_otlp_exporter_otlp_compression_kwarg(self, mock_insecure_channel): @@ -400,7 +385,6 @@ def test_otlp_exporter_otlp_compression_kwarg(self, mock_insecure_channel): "localhost:4317", compression=Compression.NoCompression ) - @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict("os.environ", {}) def test_otlp_exporter_otlp_compression_unspecified( @@ -512,7 +496,6 @@ def test_split_metrics_data_many_data_points(self): ) # WHEN split_metrics_data: List[MetricsData] = list( - OTLPMetricExporter(max_export_batch_size=2)._split_metrics_data( metrics_data=metrics_data, ) @@ -591,7 +574,6 @@ def test_split_metrics_data_nb_data_points_equal_batch_size(self): ) # WHEN split_metrics_data: List[MetricsData] = list( - OTLPMetricExporter(max_export_batch_size=3)._split_metrics_data( metrics_data=metrics_data, ) @@ -682,7 +664,6 @@ def test_split_metrics_data_many_resources_scopes_metrics(self): ) # WHEN split_metrics_data: List[MetricsData] = list( - OTLPMetricExporter(max_export_batch_size=2)._split_metrics_data( metrics_data=metrics_data, ) @@ -791,23 +772,20 @@ def test_shutdown_wait_last_export(self): ) export_thread.start() try: - self.assertTrue(self.exporter._export_lock.locked()) # delay is 4 seconds while the default shutdown timeout is 30_000 milliseconds start_time = time.time() self.exporter.shutdown() now = time.time() self.assertGreaterEqual(now, (start_time + 30 / 1000)) - + self.assertTrue(self.exporter._shutdown) - + self.assertFalse(self.exporter._export_lock.locked()) finally: export_thread.join() def test_aggregation_temporality(self): - - otlp_metric_exporter = OTLPMetricExporter() for ( @@ -909,7 +887,6 @@ def test_aggregation_temporality(self): def test_exponential_explicit_bucket_histogram(self): self.assertIsInstance( - OTLPMetricExporter()._preferred_aggregation[Histogram], ExplicitBucketHistogramAggregation, ) @@ -921,7 +898,6 @@ def test_exponential_explicit_bucket_histogram(self): }, ): self.assertIsInstance( - OTLPMetricExporter()._preferred_aggregation[Histogram], ExponentialBucketHistogramAggregation, ) @@ -932,7 +908,6 @@ def test_exponential_explicit_bucket_histogram(self): ): with self.assertLogs(level=WARNING) as log: self.assertIsInstance( - OTLPMetricExporter()._preferred_aggregation[Histogram], ExplicitBucketHistogramAggregation, ) @@ -952,7 +927,6 @@ def test_exponential_explicit_bucket_histogram(self): }, ): self.assertIsInstance( - OTLPMetricExporter()._preferred_aggregation[Histogram], ExplicitBucketHistogramAggregation, ) @@ -969,7 +943,6 @@ def test_preferred_aggregation_override(self): ) self.assertEqual( - exporter._preferred_aggregation[Histogram], histogram_aggregation, ) diff --git a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py index db362c3b50..c2f971e710 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-grpc/tests/test_otlp_trace_exporter.py @@ -83,7 +83,6 @@ class TraceServiceServicerUNAVAILABLEDelay(TraceServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -105,7 +104,6 @@ def Export(self, request, context): class TraceServiceServicerUNAVAILABLE(TraceServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.UNAVAILABLE) @@ -113,7 +111,6 @@ def Export(self, request, context): class TraceServiceServicerSUCCESS(TraceServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.OK) @@ -121,7 +118,6 @@ def Export(self, request, context): class TraceServiceServicerALREADY_EXISTS(TraceServiceServicer): - def Export(self, request, context): context.set_code(StatusCode.ALREADY_EXISTS) @@ -129,8 +125,6 @@ def Export(self, request, context): class TestOTLPSpanExporter(TestCase): - - def setUp(self): tracer_provider = TracerProvider() self.exporter = OTLPSpanExporter(insecure=True) @@ -175,7 +169,7 @@ def setUp(self): "attributes": BoundedAttributes( attributes={"a": 1, "b": False} ), - "kind": OTLPSpan.SpanKind.SPAN_KIND_INTERNAL, + "kind": OTLPSpan.SpanKind.SPAN_KIND_INTERNAL, } ) ], @@ -227,7 +221,6 @@ def tearDown(self): self.server.stop(None) def test_exporting(self): - self.assertEqual(self.exporter._exporting, "traces") @patch.dict( @@ -264,7 +257,6 @@ def test_env_variables(self, mock_exporter_mixin): @patch( "opentelemetry.exporter.otlp.proto.grpc.trace_exporter.OTLPSpanExporter._stub" ) - def test_no_credentials_error( self, mock_ssl_channel, mock_secure, mock_stub ): @@ -279,10 +271,9 @@ def test_no_credentials_error( "opentelemetry.exporter.otlp.proto.grpc.exporter.ssl_channel_credentials" ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") - def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): exporter = OTLPSpanExporter() - + self.assertEqual( exporter._headers, ( @@ -294,7 +285,7 @@ def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): exporter = OTLPSpanExporter( headers=(("key3", "value3"), ("key4", "value4")) ) - + self.assertEqual( exporter._headers, ( @@ -306,7 +297,7 @@ def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): exporter = OTLPSpanExporter( headers={"key5": "value5", "key6": "value6"} ) - + self.assertEqual( exporter._headers, ( @@ -321,10 +312,9 @@ def test_otlp_headers_from_env(self, mock_ssl_channel, mock_secure): {OTEL_EXPORTER_OTLP_TRACES_INSECURE: "True"}, ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") - def test_otlp_insecure_from_env(self, mock_insecure): OTLPSpanExporter() - + self.assertTrue(mock_insecure.called) self.assertEqual( 1, @@ -332,7 +322,6 @@ def test_otlp_insecure_from_env(self, mock_insecure): f"expected {mock_insecure} to be called", ) - @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): @@ -399,7 +388,6 @@ def test_otlp_exporter_endpoint(self, mock_secure, mock_insecure): ) mock_method.reset_mock() - @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict("os.environ", {OTEL_EXPORTER_OTLP_COMPRESSION: "gzip"}) def test_otlp_exporter_otlp_compression_envvar( @@ -411,7 +399,6 @@ def test_otlp_exporter_otlp_compression_envvar( "localhost:4317", compression=Compression.Gzip ) - @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict("os.environ", {OTEL_EXPORTER_OTLP_COMPRESSION: "gzip"}) def test_otlp_exporter_otlp_compression_kwarg(self, mock_insecure_channel): @@ -421,7 +408,6 @@ def test_otlp_exporter_otlp_compression_kwarg(self, mock_insecure_channel): "localhost:4317", compression=Compression.NoCompression ) - @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict("os.environ", {}) def test_otlp_exporter_otlp_compression_unspecified( @@ -433,7 +419,6 @@ def test_otlp_exporter_otlp_compression_unspecified( "localhost:4317", compression=Compression.NoCompression ) - @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.insecure_channel") @patch.dict( "os.environ", @@ -454,10 +439,9 @@ def test_otlp_exporter_otlp_compression_precendence( "opentelemetry.exporter.otlp.proto.grpc.exporter.ssl_channel_credentials" ) @patch("opentelemetry.exporter.otlp.proto.grpc.exporter.secure_channel") - def test_otlp_headers(self, mock_ssl_channel, mock_secure): exporter = OTLPSpanExporter() - + # This ensures that there is no other header than standard user-agent. self.assertEqual( exporter._headers, @@ -528,7 +512,6 @@ def test_translate_spans(self): ), spans=[ OTLPSpan( - name="a", start_time_unix_nano=self.span.start_time, end_time_unix_nano=self.span.end_time, @@ -608,7 +591,6 @@ def test_translate_spans(self): ] ) - self.assertEqual(expected, self.exporter._translate_data([self.span])) def test_translate_spans_multi(self): @@ -630,7 +612,6 @@ def test_translate_spans_multi(self): ), spans=[ OTLPSpan( - name="a", start_time_unix_nano=self.span.start_time, end_time_unix_nano=self.span.end_time, @@ -711,7 +692,6 @@ def test_translate_spans_multi(self): ), spans=[ OTLPSpan( - name="c", start_time_unix_nano=self.span3.start_time, end_time_unix_nano=self.span3.end_time, @@ -752,7 +732,6 @@ def test_translate_spans_multi(self): ), spans=[ OTLPSpan( - name="b", start_time_unix_nano=self.span2.start_time, end_time_unix_nano=self.span2.end_time, @@ -780,7 +759,6 @@ def test_translate_spans_multi(self): ] ) - self.assertEqual( expected, self.exporter._translate_data([self.span, self.span2, self.span3]), @@ -799,7 +777,6 @@ def _check_translated_status( ) def test_span_status_translate(self): - unset = SDKStatus(status_code=SDKStatusCode.UNSET) ok = SDKStatus(status_code=SDKStatusCode.OK) error = SDKStatus(status_code=SDKStatusCode.ERROR) @@ -946,16 +923,15 @@ def test_shutdown_wait_last_export(self): ) export_thread.start() try: - self.assertTrue(self.exporter._export_lock.locked()) # delay is 4 seconds while the default shutdown timeout is 30_000 milliseconds start_time = time.time() self.exporter.shutdown() now = time.time() self.assertGreaterEqual(now, (start_time + 30 / 1000)) - + self.assertTrue(self.exporter._shutdown) - + self.assertFalse(self.exporter._export_lock.locked()) finally: export_thread.join() diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py index d50d8728dd..9e553df653 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/_log_exporter/__init__.py @@ -142,7 +142,7 @@ def export(self, batch: Sequence[LogData]) -> LogExportResult: return LogExportResult.FAILURE resp = self._export(serialized_data) - + if resp.ok: return LogExportResult.SUCCESS elif self._retryable(resp): diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py index 0e4e0457fe..d7914a5719 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/metric_exporter/__init__.py @@ -181,7 +181,7 @@ def export( return MetricExportResult.FAILURE resp = self._export(serialized_data.SerializeToString()) - + if resp.ok: return MetricExportResult.SUCCESS elif self._retryable(resp): diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py index 9d52452ab0..035ba38926 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/trace_exporter/__init__.py @@ -140,7 +140,7 @@ def export(self, spans) -> SpanExportResult: return SpanExportResult.FAILURE resp = self._export(serialized_data) - + if resp.ok: return SpanExportResult.SUCCESS elif self._retryable(resp): diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py index cd30a95b86..3b05cfe0f2 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/tests/metrics/test_otlp_metrics_exporter.py @@ -77,7 +77,6 @@ OS_ENV_TIMEOUT = "30" - class TestOTLPMetricExporter(TestCase): def setUp(self): self.metrics = { diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py index 186d3768e5..83eb9951ef 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_log_exporter.py @@ -13,7 +13,6 @@ # limitations under the License. - import unittest from typing import List from unittest.mock import MagicMock, Mock, call, patch diff --git a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py index 1df9c082e1..10b16e52a9 100644 --- a/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py +++ b/exporter/opentelemetry-exporter-otlp-proto-http/tests/test_proto_span_exporter.py @@ -48,7 +48,6 @@ OS_ENV_TIMEOUT = "30" - class TestOTLPSpanExporter(unittest.TestCase): def test_constructor_default(self): exporter = OTLPSpanExporter() @@ -196,7 +195,6 @@ def test_headers_parse_from_env(self): ), ) - @responses.activate @patch("opentelemetry.exporter.otlp.proto.http.trace_exporter.sleep") def test_exponential_backoff(self, mock_sleep): diff --git a/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py b/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py index 0c07baa089..bdcbc8fcf4 100644 --- a/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py +++ b/exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/__init__.py @@ -209,7 +209,6 @@ def collect(self) -> None: for metric_family in metric_family_id_metric_family.values(): yield metric_family - def _translate_to_prometheus( # noqa: PLR0912 self, metrics_data: MetricsData, @@ -373,7 +372,6 @@ def _sanitize(self, key: str) -> str: """ return self._non_letters_digits_underscore_re.sub("_", key) - def _check_value(self, value: Union[int, float, str, Sequence]) -> str: """Check the label value and return is appropriate representation""" if not isinstance(value, str): diff --git a/exporter/opentelemetry-exporter-prometheus/tests/test_entrypoints.py b/exporter/opentelemetry-exporter-prometheus/tests/test_entrypoints.py index 50b33142ea..78fa61fd42 100644 --- a/exporter/opentelemetry-exporter-prometheus/tests/test_entrypoints.py +++ b/exporter/opentelemetry-exporter-prometheus/tests/test_entrypoints.py @@ -13,7 +13,6 @@ # limitations under the License. - import os from unittest import TestCase from unittest.mock import ANY, Mock, patch diff --git a/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py b/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py index c89ed09fef..55f3659cd1 100644 --- a/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py +++ b/exporter/opentelemetry-exporter-prometheus/tests/test_prometheus_exporter.py @@ -53,7 +53,6 @@ def setUp(self): side_effect=self._mock_registry_register, ) - def test_constructor(self): """Test the constructor.""" with self._registry_register_patch: diff --git a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py index 7eb58895d6..750ae9a251 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py +++ b/exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/encoder/__init__.py @@ -55,7 +55,6 @@ class Protocol(Enum): V2 = "v2" - class Encoder(abc.ABC): """Base class for encoders that are used by the exporter. diff --git a/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/common_tests.py b/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/common_tests.py index 8678be009d..e1f3d1eacf 100644 --- a/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/common_tests.py +++ b/exporter/opentelemetry-exporter-zipkin-json/tests/encoder/common_tests.py @@ -29,7 +29,6 @@ TEST_SERVICE_NAME = "test_service" - class CommonEncoderTestCases: class CommonEncoderTest(unittest.TestCase): @staticmethod @@ -424,7 +423,6 @@ def get_exhaustive_otel_span_list() -> List[trace._Span]: return [span1, span2, span3, span4] - class CommonJsonEncoderTest(CommonEncoderTest, abc.ABC): def test_encode_trace_id(self): for trace_id in (1, 1024, 2**32, 2**64, 2**65): diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py b/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py index 3a0e8f35cb..a1e29c80ee 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/__init__.py @@ -48,7 +48,7 @@ def serialize( self, spans: Sequence[Span], local_endpoint: NodeEndpoint ) -> bytes: encoded_local_endpoint = self._encode_local_endpoint(local_endpoint) - + encoded_spans = zipkin_pb2.ListOfSpans() for span in spans: encoded_spans.spans.append( @@ -60,7 +60,7 @@ def _encode_span( self, span: Span, encoded_local_endpoint: zipkin_pb2.Endpoint ) -> zipkin_pb2.Span: context = span.get_span_context() - + encoded_span = zipkin_pb2.Span( trace_id=self._encode_trace_id(context.trace_id), id=self._encode_span_id(context.span_id), diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/common_tests.py b/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/common_tests.py index 8678be009d..e1f3d1eacf 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/common_tests.py +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/common_tests.py @@ -29,7 +29,6 @@ TEST_SERVICE_NAME = "test_service" - class CommonEncoderTestCases: class CommonEncoderTest(unittest.TestCase): @staticmethod @@ -424,7 +423,6 @@ def get_exhaustive_otel_span_list() -> List[trace._Span]: return [span1, span2, span3, span4] - class CommonJsonEncoderTest(CommonEncoderTest, abc.ABC): def test_encode_trace_id(self): for trace_id in (1, 1024, 2**32, 2**64, 2**65): diff --git a/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/test_v2_protobuf.py b/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/test_v2_protobuf.py index 720d9572fd..39ca3c0411 100644 --- a/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/test_v2_protobuf.py +++ b/exporter/opentelemetry-exporter-zipkin-proto-http/tests/encoder/test_v2_protobuf.py @@ -250,7 +250,7 @@ def _test_encode_max_tag_length(self, max_tag_value_length: int): def test_dropped_span_attributes(self): otel_span = get_span_with_dropped_attributes_events_links() - + tags = ( ProtobufEncoder() ._encode_span(otel_span, zipkin_pb2.Endpoint()) diff --git a/exporter/opentelemetry-exporter-zipkin/tests/test_zipkin.py b/exporter/opentelemetry-exporter-zipkin/tests/test_zipkin.py index 99c6bd4ce7..af73df0267 100644 --- a/exporter/opentelemetry-exporter-zipkin/tests/test_zipkin.py +++ b/exporter/opentelemetry-exporter-zipkin/tests/test_zipkin.py @@ -23,5 +23,5 @@ def test_constructors(self): try: json.ZipkinExporter() http.ZipkinExporter() - except Exception as exc: + except Exception as exc: self.assertIsNone(exc) diff --git a/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py b/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py index f0e49116f2..ba8c8d7565 100644 --- a/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py +++ b/opentelemetry-api/src/opentelemetry/_logs/_internal/__init__.py @@ -113,7 +113,7 @@ def emit(self, record: "LogRecord") -> None: class ProxyLogger(Logger): - def __init__( + def __init__( self, name: str, version: Optional[str] = None, diff --git a/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py b/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py index 46271dbea8..d4f322d26c 100644 --- a/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py +++ b/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py @@ -83,7 +83,7 @@ def extract( continue try: name, value = entry.split("=", 1) - except Exception: + except Exception: _logger.warning( "Baggage list-member `%s` doesn't match the format", entry ) diff --git a/opentelemetry-api/src/opentelemetry/context/__init__.py b/opentelemetry-api/src/opentelemetry/context/__init__.py index a96ee34ae7..e6d05c4611 100644 --- a/opentelemetry-api/src/opentelemetry/context/__init__.py +++ b/opentelemetry-api/src/opentelemetry/context/__init__.py @@ -64,7 +64,7 @@ def wrapper( ) ).load()() - except Exception: + except Exception: logger.exception( "Failed to load context: %s", configured_context ) @@ -159,7 +159,7 @@ def detach(token: object) -> None: """ try: _RUNTIME_CONTEXT.detach(token) # type: ignore - except Exception: + except Exception: logger.exception("Failed to detach context") diff --git a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py index 146bc254ac..53e5d41eff 100644 --- a/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py +++ b/opentelemetry-api/src/opentelemetry/metrics/_internal/__init__.py @@ -13,7 +13,6 @@ # limitations under the License. - """ The OpenTelemetry metrics API describes the classes used to generate metrics. @@ -77,7 +76,6 @@ _logger = getLogger(__name__) - _ProxyInstrumentT = Union[ _ProxyCounter, _ProxyHistogram, diff --git a/opentelemetry-api/src/opentelemetry/metrics/_internal/instrument.py b/opentelemetry-api/src/opentelemetry/metrics/_internal/instrument.py index c936c45aa6..72da522591 100644 --- a/opentelemetry-api/src/opentelemetry/metrics/_internal/instrument.py +++ b/opentelemetry-api/src/opentelemetry/metrics/_internal/instrument.py @@ -13,8 +13,6 @@ # limitations under the License. - - from abc import ABC, abstractmethod from dataclasses import dataclass from logging import getLogger diff --git a/opentelemetry-api/src/opentelemetry/propagate/__init__.py b/opentelemetry-api/src/opentelemetry/propagate/__init__.py index af53edfa66..8fa3cba32b 100644 --- a/opentelemetry-api/src/opentelemetry/propagate/__init__.py +++ b/opentelemetry-api/src/opentelemetry/propagate/__init__.py @@ -147,7 +147,7 @@ def inject( raise ValueError( f"Propagator {propagator} not found. It is either misspelled or not installed." ) - except Exception: + except Exception: logger.exception("Failed to load propagator: %s", propagator) raise diff --git a/opentelemetry-api/src/opentelemetry/trace/__init__.py b/opentelemetry-api/src/opentelemetry/trace/__init__.py index efb011fa66..d716f94100 100644 --- a/opentelemetry-api/src/opentelemetry/trace/__init__.py +++ b/opentelemetry-api/src/opentelemetry/trace/__init__.py @@ -400,7 +400,6 @@ def function(): class ProxyTracer(Tracer): - def __init__( self, instrumenting_module_name: str, @@ -453,7 +452,6 @@ def start_span( record_exception: bool = True, set_status_on_exception: bool = True, ) -> "Span": - return INVALID_SPAN @_agnosticcontextmanager @@ -469,7 +467,6 @@ def start_as_current_span( set_status_on_exception: bool = True, end_on_exit: bool = True, ) -> Iterator["Span"]: - yield INVALID_SPAN @@ -570,7 +567,7 @@ def use_span( finally: context_api.detach(token) - except Exception as exc: + except Exception as exc: if isinstance(span, Span) and span.is_recording(): # Record the exception as an event if record_exception: diff --git a/opentelemetry-api/src/opentelemetry/trace/span.py b/opentelemetry-api/src/opentelemetry/trace/span.py index 86a7d623dd..b0f69f24e7 100644 --- a/opentelemetry-api/src/opentelemetry/trace/span.py +++ b/opentelemetry-api/src/opentelemetry/trace/span.py @@ -117,7 +117,7 @@ def add_event( timestamp if the `timestamp` argument is omitted. """ - def add_link( + def add_link( self, context: "SpanContext", attributes: types.Attributes = None, @@ -473,27 +473,27 @@ def __getnewargs__( @property def trace_id(self) -> int: - return self[0] + return self[0] @property def span_id(self) -> int: - return self[1] + return self[1] @property def is_remote(self) -> bool: - return self[2] + return self[2] @property def trace_flags(self) -> "TraceFlags": - return self[3] + return self[3] @property def trace_state(self) -> "TraceState": - return self[4] + return self[4] @property def is_valid(self) -> bool: - return self[5] + return self[5] def __setattr__(self, *args: str) -> None: _logger.debug( diff --git a/opentelemetry-api/src/opentelemetry/util/_decorator.py b/opentelemetry-api/src/opentelemetry/util/_decorator.py index 3cc59af661..84da4a66c2 100644 --- a/opentelemetry-api/src/opentelemetry/util/_decorator.py +++ b/opentelemetry-api/src/opentelemetry/util/_decorator.py @@ -32,7 +32,7 @@ class _AgnosticContextManager( contextlib._GeneratorContextManager, Generic[R], # type: ignore # FIXME use contextlib._GeneratorContextManager[R] when we drop the python 3.8 support -): +): """Context manager that can decorate both async and sync functions. This is an overridden version of the contextlib._GeneratorContextManager diff --git a/opentelemetry-api/src/opentelemetry/util/_providers.py b/opentelemetry-api/src/opentelemetry/util/_providers.py index 49a534192d..971a3a7ba3 100644 --- a/opentelemetry-api/src/opentelemetry/util/_providers.py +++ b/opentelemetry-api/src/opentelemetry/util/_providers.py @@ -47,6 +47,6 @@ def _load_provider( ) ).load()(), ) - except Exception: + except Exception: logger.exception("Failed to load configured provider %s", provider) raise diff --git a/opentelemetry-api/src/opentelemetry/util/re.py b/opentelemetry-api/src/opentelemetry/util/re.py index 864a2ffc01..65f03393f9 100644 --- a/opentelemetry-api/src/opentelemetry/util/re.py +++ b/opentelemetry-api/src/opentelemetry/util/re.py @@ -41,9 +41,6 @@ _BAGGAGE_PROPERTY_FORMAT = rf"{_KEY_VALUE_FORMAT}|{_OWS}{_KEY_FORMAT}{_OWS}" - - - @deprecated(version="1.15.0", reason="You should use parse_env_headers") # type: ignore def parse_headers(s: str) -> Mapping[str, str]: return parse_env_headers(s) diff --git a/opentelemetry-api/tests/context/test_contextvars_context.py b/opentelemetry-api/tests/context/test_contextvars_context.py index a0f3c4afed..b8b18a3224 100644 --- a/opentelemetry-api/tests/context/test_contextvars_context.py +++ b/opentelemetry-api/tests/context/test_contextvars_context.py @@ -20,7 +20,6 @@ class TestContextVarsContext(ContextTestCases.BaseTest): - def setUp(self) -> None: super().setUp() self.mock_runtime = patch.object( @@ -30,7 +29,6 @@ def setUp(self) -> None: ) self.mock_runtime.start() - def tearDown(self) -> None: super().tearDown() self.mock_runtime.stop() diff --git a/opentelemetry-api/tests/logs/test_logger_provider.py b/opentelemetry-api/tests/logs/test_logger_provider.py index 327d454e34..23d84ba398 100644 --- a/opentelemetry-api/tests/logs/test_logger_provider.py +++ b/opentelemetry-api/tests/logs/test_logger_provider.py @@ -33,14 +33,13 @@ def tearDown(self): def test_set_logger_provider(self): lp_mock = Mock() - + assert logs_internal._LOGGER_PROVIDER is None set_logger_provider(lp_mock) assert logs_internal._LOGGER_PROVIDER is lp_mock assert get_logger_provider() is lp_mock def test_get_logger_provider(self): - assert logs_internal._LOGGER_PROVIDER is None assert isinstance( diff --git a/opentelemetry-api/tests/metrics/test_meter_provider.py b/opentelemetry-api/tests/metrics/test_meter_provider.py index 0180496d4b..3b7a76ec43 100644 --- a/opentelemetry-api/tests/metrics/test_meter_provider.py +++ b/opentelemetry-api/tests/metrics/test_meter_provider.py @@ -175,7 +175,6 @@ def test_proxy_provider(self): self.assertIsInstance(meter2, Mock) mock_real_mp.get_meter.assert_called_with(another_name, None, None) - def test_proxy_meter(self): # noqa: PLR0915 meter_name = "foo" proxy_meter: _ProxyMeter = _ProxyMeterProvider().get_meter(meter_name) diff --git a/opentelemetry-api/tests/metrics/test_observation.py b/opentelemetry-api/tests/metrics/test_observation.py index ee74f054c3..f2df83cb56 100644 --- a/opentelemetry-api/tests/metrics/test_observation.py +++ b/opentelemetry-api/tests/metrics/test_observation.py @@ -25,7 +25,7 @@ def test_measurement_init(self): # float Observation(321.321, {"hello": "world"}) - except Exception: + except Exception: self.fail( "Unexpected exception raised when instantiating Observation" ) diff --git a/opentelemetry-api/tests/propagators/test_propagators.py b/opentelemetry-api/tests/propagators/test_propagators.py index e096dad5f0..2c0604b8e8 100644 --- a/opentelemetry-api/tests/propagators/test_propagators.py +++ b/opentelemetry-api/tests/propagators/test_propagators.py @@ -44,7 +44,6 @@ def test_propagators(propagators): **{"side_effect": test_propagators} ) - import opentelemetry.propagate reload(opentelemetry.propagate) @@ -96,7 +95,6 @@ def test_propagators(propagators): **{"side_effect": test_propagators} ) - import opentelemetry.propagate reload(opentelemetry.propagate) @@ -106,7 +104,6 @@ def test_propagators(propagators): ) def test_composite_propagators_error(self): with self.assertRaises(ValueError) as cm: - import opentelemetry.propagate reload(opentelemetry.propagate) diff --git a/opentelemetry-api/tests/test_implementation.py b/opentelemetry-api/tests/test_implementation.py index af7677681c..e45baf1d90 100644 --- a/opentelemetry-api/tests/test_implementation.py +++ b/opentelemetry-api/tests/test_implementation.py @@ -29,7 +29,6 @@ class TestAPIOnlyImplementation(unittest.TestCase): def test_tracer(self): with self.assertRaises(TypeError): - trace.TracerProvider() # type:ignore def test_default_tracer(self): @@ -50,7 +49,6 @@ def test_default_tracer(self): def test_span(self): with self.assertRaises(TypeError): - trace.Span() # type:ignore def test_default_span(self): diff --git a/opentelemetry-api/tests/trace/test_proxy.py b/opentelemetry-api/tests/trace/test_proxy.py index 3d96da177a..6526676f96 100644 --- a/opentelemetry-api/tests/trace/test_proxy.py +++ b/opentelemetry-api/tests/trace/test_proxy.py @@ -40,7 +40,7 @@ class TestTracer(trace.NoOpTracer): def start_span(self, *args, **kwargs): return TestSpan(INVALID_SPAN_CONTEXT) - @_agnosticcontextmanager + @_agnosticcontextmanager def start_as_current_span(self, *args, **kwargs): # type: ignore with trace.use_span(self.start_span(*args, **kwargs)) as span: # type: ignore yield span diff --git a/opentelemetry-api/tests/trace/test_tracer.py b/opentelemetry-api/tests/trace/test_tracer.py index e1287a603a..476f3c31d1 100644 --- a/opentelemetry-api/tests/trace/test_tracer.py +++ b/opentelemetry-api/tests/trace/test_tracer.py @@ -46,7 +46,7 @@ class MockTracer(Tracer): def start_span(self, *args, **kwargs): return INVALID_SPAN - @_agnosticcontextmanager + @_agnosticcontextmanager def start_as_current_span(self, *args, **kwargs): # type: ignore calls.append(1) yield INVALID_SPAN diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py index 430c1e01af..50d0224023 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py @@ -331,7 +331,7 @@ def _import_sampler(sampler_name: str) -> Optional[Sampler]: _logger.warning(message) raise ValueError(message) return sampler - except Exception as exc: + except Exception as exc: _logger.warning( "Using default sampler. Failed to initialize sampler, %s: %s", sampler_name, diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py index 4fc10d7a09..035835f979 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/_logs/_internal/export/__init__.py @@ -127,7 +127,7 @@ def emit(self, log_data: LogData): token = attach(set_value(_SUPPRESS_INSTRUMENTATION_KEY, True)) try: self._exporter.export((log_data,)) - except Exception: + except Exception: _logger.exception("Exception while exporting logs.") detach(token) @@ -135,7 +135,7 @@ def shutdown(self): self._shutdown = True self._exporter.shutdown() - def force_flush(self, timeout_millis: int = 30000) -> bool: + def force_flush(self, timeout_millis: int = 30000) -> bool: return True @@ -215,7 +215,7 @@ def __init__( self._log_records = [None] * self._max_export_batch_size self._worker_thread.start() if hasattr(os, "register_at_fork"): - os.register_at_fork(after_in_child=self._at_fork_reinit) + os.register_at_fork(after_in_child=self._at_fork_reinit) self._pid = os.getpid() def _at_fork_reinit(self): @@ -305,7 +305,7 @@ def _export_batch(self) -> int: token = attach(set_value(_SUPPRESS_INSTRUMENTATION_KEY, True)) try: self._exporter.export(self._log_records[:idx]) # type: ignore - except Exception: + except Exception: _logger.exception("Exception while exporting logs.") detach(token) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py index 3a8b940ca4..32baf9d8fa 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/error_handler/__init__.py @@ -82,7 +82,6 @@ class _DefaultErrorHandler(ErrorHandler): This error handler just logs the exception using standard logging. """ - def _handle(self, error: Exception, *args, **kwargs): logger.exception("Error handled by default error handler: ") @@ -107,7 +106,6 @@ def __new__(cls) -> "GlobalErrorHandler": def __enter__(self): pass - def __exit__(self, exc_type, exc_value, traceback): if exc_value is None: return None @@ -126,7 +124,6 @@ def __exit__(self, exc_type, exc_value, traceback): error_handler_class()._handle(exc_value) plugin_handled = True - except Exception as error_handling_error: logger.exception( "%s error while handling error" diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py index 22ef0a5d33..917a65f126 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/__init__.py @@ -429,7 +429,6 @@ def force_flush(self, timeout_millis: float = 10_000) -> bool: timeout_millis=(deadline_ns - current_ts) / 10**6 ) - except Exception as error: metric_reader_error[metric_reader] = error @@ -473,7 +472,6 @@ def _shutdown(): timeout_millis=(deadline_ns - current_ts) / 10**6 ) - except Exception as error: metric_reader_error[metric_reader] = error diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py index 3bb129708a..00c8e0f3da 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/_view_instrument_match.py @@ -60,8 +60,6 @@ def __init__( ]._create_aggregation(self._instrument, None, 0) def conflicts(self, other: "_ViewInstrumentMatch") -> bool: - - result = ( self._name == other._name and self._instrument.unit == other._instrument.unit @@ -80,7 +78,6 @@ def conflicts(self, other: "_ViewInstrumentMatch") -> bool: return result - def consume_measurement(self, measurement: Measurement) -> None: if self._view._attribute_keys is not None: attributes = {} diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py index 508ff3769e..50899da929 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/aggregation.py @@ -13,7 +13,6 @@ # limitations under the License. - from abc import ABC, abstractmethod from bisect import bisect_left from enum import IntEnum @@ -515,7 +514,6 @@ def collect( return None - class _ExponentialBucketHistogramAggregation(_Aggregation[HistogramPoint]): # _min_max_size and _max_max_size are the smallest and largest values # the max_size parameter may have, respectively. @@ -602,8 +600,6 @@ def __init__( self._previous_negative = None def aggregate(self, measurement: Measurement) -> None: - - with self._lock: value = measurement.value @@ -716,7 +712,6 @@ def collect( # noqa: PLR0915 """ Atomically return a point for the current value of the metric. """ - with self._lock: if self._count == 0: @@ -1050,7 +1045,6 @@ def _create_aggregation( # noqa: PLR0911 attributes: Attributes, start_time_unix_nano: int, ) -> _Aggregation: - if isinstance(instrument, Counter): return _SumAggregation( attributes, diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py index d5d675f408..a5cecc7762 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/__init__.py @@ -20,7 +20,6 @@ class Mapping(ABC): Parent class for `LogarithmMapping` and `ExponentialMapping`. """ - def __new__(cls, scale: int): with cls._mappings_lock: # cls._mappings and cls._mappings_lock are implemented in each of @@ -36,8 +35,6 @@ def __new__(cls, scale: int): @abstractmethod def _init(self, scale: int) -> None: - - if scale > self._get_max_scale(): raise Exception(f"scale is larger than {self._max_scale}") diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/exponent_mapping.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/exponent_mapping.py index c4cad51e50..ee5f2e85fa 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/exponent_mapping.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/exponent_mapping.py @@ -54,8 +54,6 @@ def _get_max_scale(self): return 0 def _init(self, scale: int): - - super()._init(scale) # self._min_normal_lower_boundary_index is the largest index such that diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py index cc06bceee7..ffe6c13ceb 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/exponential_histogram/mapping/logarithm_mapping.py @@ -54,8 +54,6 @@ def _get_max_scale(self): return self._max_scale def _init(self, scale: int): - - super()._init(scale) # self._scale_factor is defined as a multiplier because multiplication diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py index 4416994a91..bc51a6e042 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/export/__init__.py @@ -173,7 +173,6 @@ def force_flush(self, timeout_millis: float = 10_000) -> bool: class MetricReader(ABC): - """ Base class for all metric readers @@ -488,7 +487,7 @@ def __init__( ) self._daemon_thread.start() if hasattr(os, "register_at_fork"): - os.register_at_fork(after_in_child=self._at_fork_reinit) + os.register_at_fork(after_in_child=self._at_fork_reinit) elif self._export_interval_millis <= 0: raise ValueError( f"interval value {self._export_interval_millis} is invalid \ @@ -529,7 +528,7 @@ def _receive_metrics( self._exporter.export( metrics_data, timeout_millis=timeout_millis ) - except Exception as e: + except Exception as e: _logger.exception("Exception while exporting metrics %s", str(e)) detach(token) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py index 09fed42af0..7f35d8d455 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/instrument.py @@ -13,7 +13,6 @@ # limitations under the License. - from logging import getLogger from typing import Dict, Generator, Iterable, List, Optional, Union @@ -50,7 +49,6 @@ def __init__( unit: str = "", description: str = "", ): - result = self._check_name_unit_description(name, unit, description) if result["name"] is None: @@ -81,7 +79,6 @@ def __init__( unit: str = "", description: str = "", ): - result = self._check_name_unit_description(name, unit, description) if result["name"] is None: @@ -133,7 +130,7 @@ def callback( instrument=self, attributes=api_measurement.attributes, ) - except Exception: + except Exception: _logger.exception( "Callback failed for instrument %s.", self.name ) diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py index f32713d77a..c32b0713f2 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/measurement_consumer.py @@ -13,7 +13,6 @@ # limitations under the License. - from abc import ABC, abstractmethod from threading import Lock from time import time_ns diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py index 31c5c71a44..d0849c843e 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/metric_reader_storage.py @@ -158,7 +158,6 @@ def collect(self) -> Optional[MetricsData]: continue if isinstance( - view_instrument_match._aggregation, _SumAggregation, ): @@ -170,13 +169,11 @@ def collect(self) -> Optional[MetricsData]: ), ) elif isinstance( - view_instrument_match._aggregation, _LastValueAggregation, ): data = Gauge(data_points=data_points) elif isinstance( - view_instrument_match._aggregation, _ExplicitBucketHistogramAggregation, ): @@ -185,14 +182,12 @@ def collect(self) -> Optional[MetricsData]: aggregation_temporality=aggregation_temporality, ) elif isinstance( - view_instrument_match._aggregation, _DropAggregation, ): continue elif isinstance( - view_instrument_match._aggregation, _ExponentialBucketHistogramAggregation, ): @@ -203,7 +198,6 @@ def collect(self) -> Optional[MetricsData]: metrics.append( Metric( - name=view_instrument_match._name, description=view_instrument_match._description, unit=view_instrument_match._instrument.unit, @@ -248,7 +242,6 @@ def _handle_view_instrument_match( view_instrument_matches: List["_ViewInstrumentMatch"], ) -> None: for view in self._sdk_config.views: - if not view._match(instrument): continue @@ -294,7 +287,6 @@ def _check_view_instrument_compatibility( result = True - if isinstance(instrument, Asynchronous) and isinstance( view._aggregation, ExplicitBucketHistogramAggregation ): diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/point.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/point.py index 42746ca5ea..8119f09a04 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/point.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/point.py @@ -13,7 +13,6 @@ # limitations under the License. - from dataclasses import asdict, dataclass from json import dumps, loads from typing import Optional, Sequence, Union @@ -170,7 +169,6 @@ def to_json(self, indent=4) -> str: ) - DataT = Union[Sum, Gauge, Histogram] DataPointT = Union[NumberDataPoint, HistogramDataPoint] diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/sdk_configuration.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/sdk_configuration.py index e28bd22eaf..516c82676b 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/sdk_configuration.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/sdk_configuration.py @@ -13,7 +13,6 @@ # limitations under the License. - from dataclasses import dataclass from typing import Sequence diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py index a0b1682b1e..d8dbf9f3b0 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/metrics/_internal/view.py @@ -132,8 +132,6 @@ def __init__( self._attribute_keys = attribute_keys self._aggregation = aggregation or self._default_aggregation - - def _match(self, instrument: Instrument) -> bool: # noqa: PLR0911 if self._instrument_type is not None: if not isinstance(instrument, self._instrument_type): diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py index 9d9efde9e9..3423f7a5e4 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/resources/__init__.py @@ -303,7 +303,6 @@ def detect(self) -> "Resource": class OTELResourceDetector(ResourceDetector): - def detect(self) -> "Resource": env_resources_items = environ.get(OTEL_RESOURCE_ATTRIBUTES) env_resource_map = {} @@ -329,7 +328,6 @@ def detect(self) -> "Resource": class ProcessResourceDetector(ResourceDetector): - def detect(self) -> "Resource": _runtime_version = ".".join( map( @@ -397,7 +395,7 @@ def get_aggregated_resources( detector, timeout, ) - + except Exception as ex: if detector.raise_on_error: raise ex diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py index 05c1e1c796..961a917ae1 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py @@ -335,8 +335,8 @@ def attributes(self) -> types.Attributes: def _check_span_ended(func): def wrapper(self, *args, **kwargs): already_ended = False - with self._lock: - if self._end_time is None: + with self._lock: + if self._end_time is None: func(self, *args, **kwargs) else: already_ended = True @@ -523,9 +523,7 @@ def _format_events(events: Sequence[Event]) -> List[Dict[str, Any]]: { "name": event.name, "timestamp": util.ns_to_iso_str(event.timestamp), - "attributes": Span._format_attributes( - event.attributes - ), + "attributes": Span._format_attributes(event.attributes), } for event in events ] @@ -534,12 +532,8 @@ def _format_events(events: Sequence[Event]) -> List[Dict[str, Any]]: def _format_links(links: Sequence[trace_api.Link]) -> List[Dict[str, Any]]: return [ { - "context": Span._format_context( - link.context - ), - "attributes": Span._format_attributes( - link.attributes - ), + "context": Span._format_context(link.context), + "attributes": Span._format_attributes(link.attributes), } for link in links ] @@ -701,7 +695,7 @@ def _from_env_if_absent( ) # not removed for backward compat. please use SpanLimits instead. -SPAN_ATTRIBUTE_COUNT_LIMIT = SpanLimits._from_env_if_absent( +SPAN_ATTRIBUTE_COUNT_LIMIT = SpanLimits._from_env_if_absent( None, OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, _DEFAULT_OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT, @@ -735,7 +729,6 @@ def __new__(cls, *args, **kwargs): raise TypeError("Span must be instantiated via a tracer.") return super().__new__(cls) - def __init__( self, name: str, @@ -1036,7 +1029,7 @@ def __init__( self._span_limits = span_limits self._instrumentation_scope = instrumentation_scope - @_agnosticcontextmanager + @_agnosticcontextmanager def start_as_current_span( self, name: str, @@ -1067,7 +1060,7 @@ def start_as_current_span( ) as span: yield span - def start_span( + def start_span( self, name: str, context: Optional[context_api.Context] = None, diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py index 0875762429..511a7ced59 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/export/__init__.py @@ -111,7 +111,7 @@ def on_end(self, span: ReadableSpan) -> None: token = attach(set_value(_SUPPRESS_INSTRUMENTATION_KEY, True)) try: self.span_exporter.export((span,)) - + except Exception: logger.exception("Exception while exporting Span.") detach(token) @@ -120,7 +120,6 @@ def shutdown(self) -> None: self.span_exporter.shutdown() def force_flush(self, timeout_millis: int = 30000) -> bool: - return True @@ -200,7 +199,7 @@ def __init__( self.spans_list = [None] * self.max_export_batch_size # type: typing.List[typing.Optional[Span]] self.worker_thread.start() if hasattr(os, "register_at_fork"): - os.register_at_fork(after_in_child=self._at_fork_reinit) + os.register_at_fork(after_in_child=self._at_fork_reinit) self._pid = os.getpid() def on_start( @@ -358,7 +357,7 @@ def _export_batch(self) -> int: # Ignore type b/c the Optional[None]+slicing is too "clever" # for mypy self.span_exporter.export(self.spans_list[:idx]) # type: ignore - except Exception: + except Exception: logger.exception("Exception while exporting Span batch.") detach(token) diff --git a/opentelemetry-sdk/tests/conftest.py b/opentelemetry-sdk/tests/conftest.py index 88d6259485..703e4c2aba 100644 --- a/opentelemetry-sdk/tests/conftest.py +++ b/opentelemetry-sdk/tests/conftest.py @@ -18,10 +18,8 @@ def pytest_sessionstart(session): - environ[OTEL_PYTHON_CONTEXT] = "contextvars_context" def pytest_sessionfinish(session): - environ.pop(OTEL_PYTHON_CONTEXT) diff --git a/opentelemetry-sdk/tests/error_handler/test_error_handler.py b/opentelemetry-sdk/tests/error_handler/test_error_handler.py index a89efcdfc1..d3ed703c28 100644 --- a/opentelemetry-sdk/tests/error_handler/test_error_handler.py +++ b/opentelemetry-sdk/tests/error_handler/test_error_handler.py @@ -31,17 +31,12 @@ def test_default_error_handler(self, mock_entry_points): with GlobalErrorHandler(): raise Exception("some exception") - @patch("opentelemetry.sdk.error_handler.entry_points") def test_plugin_error_handler(self, mock_entry_points): class ZeroDivisionErrorHandler(ErrorHandler, ZeroDivisionError): - - _handle = Mock() class AssertionErrorHandler(ErrorHandler, AssertionError): - - _handle = Mock() mock_entry_point_zero_division_error_handler = Mock() @@ -67,7 +62,6 @@ class AssertionErrorHandler(ErrorHandler, AssertionError): with GlobalErrorHandler(): raise error - ZeroDivisionErrorHandler._handle.assert_called_with(error) error = AssertionError() @@ -80,8 +74,6 @@ class AssertionErrorHandler(ErrorHandler, AssertionError): @patch("opentelemetry.sdk.error_handler.entry_points") def test_error_in_handler(self, mock_entry_points): class ErrorErrorHandler(ErrorHandler, ZeroDivisionError): - - def _handle(self, error: Exception): assert False @@ -100,7 +92,6 @@ def _handle(self, error: Exception): with GlobalErrorHandler(): raise error - @patch("opentelemetry.sdk.error_handler.entry_points") def test_plugin_error_handler_context_manager(self, mock_entry_points): mock_error_handler_instance = Mock() @@ -126,5 +117,4 @@ def __new__(cls): with GlobalErrorHandler(): pass - mock_error_handler_instance._handle.assert_called_once_with(error) diff --git a/opentelemetry-sdk/tests/logs/test_export.py b/opentelemetry-sdk/tests/logs/test_export.py index d4ed8088cf..6cd887db91 100644 --- a/opentelemetry-sdk/tests/logs/test_export.py +++ b/opentelemetry-sdk/tests/logs/test_export.py @@ -449,7 +449,6 @@ def bulk_log_and_flush(num_logs): "needs *nix", ) def test_batch_log_record_processor_fork(self): - exporter = InMemoryLogExporter() log_record_processor = BatchLogRecordProcessor( exporter, @@ -494,7 +493,7 @@ def _target(): class TestConsoleLogExporter(unittest.TestCase): - def test_export(self): + def test_export(self): """Check that the console exporter prints log records.""" log_data = LogData( log_record=LogRecord( @@ -525,11 +524,11 @@ def test_export(self): self.assertEqual(mock_stdout.write.call_count, 1) self.assertEqual(mock_stdout.flush.call_count, 1) - def test_export_custom(self): + def test_export_custom(self): """Check that console exporter uses custom io, formatter.""" mock_record_str = Mock(str) - def formatter(record): + def formatter(record): return mock_record_str mock_stdout = Mock() diff --git a/opentelemetry-sdk/tests/logs/test_handler.py b/opentelemetry-sdk/tests/logs/test_handler.py index fa5189ab71..e1c155f647 100644 --- a/opentelemetry-sdk/tests/logs/test_handler.py +++ b/opentelemetry-sdk/tests/logs/test_handler.py @@ -64,7 +64,6 @@ def test_handler_custom_log_level(self): logger.critical("No Time For Caution") self.assertEqual(emitter_mock.emit.call_count, 2) - def test_log_record_emit_noop(self): noop_logger_provder = NoOpLoggerProvider() logger_mock = APIGetLogger( diff --git a/opentelemetry-sdk/tests/logs/test_logs.py b/opentelemetry-sdk/tests/logs/test_logs.py index 9a3d26a244..672cd6ee9c 100644 --- a/opentelemetry-sdk/tests/logs/test_logs.py +++ b/opentelemetry-sdk/tests/logs/test_logs.py @@ -13,7 +13,6 @@ # limitations under the License. - import unittest from unittest.mock import Mock, patch diff --git a/opentelemetry-sdk/tests/metrics/test_import.py b/opentelemetry-sdk/tests/metrics/test_import.py index 359acc204d..b830b4cacd 100644 --- a/opentelemetry-sdk/tests/metrics/test_import.py +++ b/opentelemetry-sdk/tests/metrics/test_import.py @@ -13,7 +13,6 @@ # limitations under the License. - from opentelemetry.test import TestCase diff --git a/opentelemetry-sdk/tests/metrics/test_instrument.py b/opentelemetry-sdk/tests/metrics/test_instrument.py index d9a7a52004..48bc4bc416 100644 --- a/opentelemetry-sdk/tests/metrics/test_instrument.py +++ b/opentelemetry-sdk/tests/metrics/test_instrument.py @@ -59,7 +59,6 @@ def test_add_non_monotonic(self): def test_disallow_direct_counter_creation(self): with self.assertRaises(TypeError): - Counter("name", Mock(), Mock()) @@ -78,7 +77,6 @@ def test_add_non_monotonic(self): def test_disallow_direct_up_down_counter_creation(self): with self.assertRaises(TypeError): - UpDownCounter("name", Mock(), Mock()) @@ -232,7 +230,6 @@ def test_generator_multiple_generator_callback(self): def test_disallow_direct_observable_gauge_creation(self): with self.assertRaises(TypeError): - ObservableGauge("name", Mock(), Mock()) @@ -291,7 +288,6 @@ def test_generator_callback_0(self): def test_disallow_direct_observable_counter_creation(self): with self.assertRaises(TypeError): - ObservableCounter("name", Mock(), Mock()) @@ -308,7 +304,6 @@ def test_set(self): def test_disallow_direct_counter_creation(self): with self.assertRaises(TypeError): - _SDKGauge("name", Mock(), Mock()) @@ -367,7 +362,6 @@ def test_generator_callback_0(self): def test_disallow_direct_observable_up_down_counter_creation(self): with self.assertRaises(TypeError): - ObservableUpDownCounter("name", Mock(), Mock()) @@ -387,5 +381,4 @@ def test_record_non_monotonic(self): def test_disallow_direct_histogram_creation(self): with self.assertRaises(TypeError): - Histogram("name", Mock(), Mock()) diff --git a/opentelemetry-sdk/tests/test_configurator.py b/opentelemetry-sdk/tests/test_configurator.py index 1d0427ebd4..368448b296 100644 --- a/opentelemetry-sdk/tests/test_configurator.py +++ b/opentelemetry-sdk/tests/test_configurator.py @@ -318,7 +318,6 @@ def tearDown(self): self.get_processor_patcher.stop() self.set_provider_patcher.stop() - @patch.dict( environ, {"OTEL_RESOURCE_ATTRIBUTES": "service.name=my-test-service"} ) @@ -567,7 +566,7 @@ def test_trace_init_custom_ratio_sampler_with_env_multiple_entry_points( def verify_default_sampler(self, tracer_provider): self.assertIsInstance(tracer_provider.sampler, ParentBased) - + self.assertEqual(tracer_provider.sampler._root, ALWAYS_ON) diff --git a/opentelemetry-sdk/tests/trace/export/test_export.py b/opentelemetry-sdk/tests/trace/export/test_export.py index 2287c1b213..707ef3adc3 100644 --- a/opentelemetry-sdk/tests/trace/export/test_export.py +++ b/opentelemetry-sdk/tests/trace/export/test_export.py @@ -118,7 +118,6 @@ def test_simple_span_processor_no_context(self): self.assertListEqual(["xxx", "bar", "foo"], spans_names_list) def test_on_start_accepts_context(self): - tracer_provider = trace.TracerProvider() tracer = tracer_provider.get_tracer(__name__) @@ -220,7 +219,6 @@ def test_args_env_var_value_error(self): self.assertEqual(batch_span_processor.export_timeout_millis, 30000) def test_on_start_accepts_parent_context(self): - my_exporter = MySpanExporter(destination=[]) span_processor = mock.Mock( wraps=export.BatchSpanProcessor(my_exporter) @@ -415,7 +413,6 @@ def _check_fork_trace(self, exporter, expected): "needs *nix", ) def test_batch_span_processor_fork(self): - tracer_provider = trace.TracerProvider() tracer = tracer_provider.get_tracer(__name__) @@ -583,7 +580,7 @@ def test_batch_span_processor_parameters(self): class TestConsoleSpanExporter(unittest.TestCase): - def test_export(self): + def test_export(self): """Check that the console exporter prints spans.""" exporter = export.ConsoleSpanExporter() @@ -597,11 +594,11 @@ def test_export(self): self.assertEqual(mock_stdout.write.call_count, 1) self.assertEqual(mock_stdout.flush.call_count, 1) - def test_export_custom(self): + def test_export_custom(self): """Check that console exporter uses custom io, formatter.""" mock_span_str = mock.Mock(str) - def formatter(span): + def formatter(span): return mock_span_str mock_stdout = mock.Mock() diff --git a/opentelemetry-sdk/tests/trace/test_implementation.py b/opentelemetry-sdk/tests/trace/test_implementation.py index 95543c86c4..8d42bf5ef3 100644 --- a/opentelemetry-sdk/tests/trace/test_implementation.py +++ b/opentelemetry-sdk/tests/trace/test_implementation.py @@ -41,7 +41,6 @@ def test_tracer(self): def test_span(self): with self.assertRaises(Exception): - span = trace._Span() span = trace._Span("name", INVALID_SPAN_CONTEXT) diff --git a/opentelemetry-sdk/tests/trace/test_sampling.py b/opentelemetry-sdk/tests/trace/test_sampling.py index b3536d6ca8..b2e0306c64 100644 --- a/opentelemetry-sdk/tests/trace/test_sampling.py +++ b/opentelemetry-sdk/tests/trace/test_sampling.py @@ -51,7 +51,7 @@ class TestSamplingResult(unittest.TestCase): def test_ctr(self): attributes = {"asd": "test"} trace_state = {} - + trace_state["test"] = "123" result = sampling.SamplingResult( sampling.Decision.RECORD_ONLY, attributes, trace_state diff --git a/opentelemetry-sdk/tests/trace/test_span_processor.py b/opentelemetry-sdk/tests/trace/test_span_processor.py index 9b721c6f94..342a5bf38e 100644 --- a/opentelemetry-sdk/tests/trace/test_span_processor.py +++ b/opentelemetry-sdk/tests/trace/test_span_processor.py @@ -212,10 +212,8 @@ def test_force_flush(self): flushed = multi_processor.force_flush(timeout_millis) - self.assertTrue(flushed) for mock_processor in mocks: - self.assertEqual(1, mock_processor.force_flush.call_count) multi_processor.shutdown() diff --git a/opentelemetry-sdk/tests/trace/test_trace.py b/opentelemetry-sdk/tests/trace/test_trace.py index b05aa41446..bd5cac4504 100644 --- a/opentelemetry-sdk/tests/trace/test_trace.py +++ b/opentelemetry-sdk/tests/trace/test_trace.py @@ -13,8 +13,6 @@ # limitations under the License. - - import shutil import subprocess import unittest @@ -159,7 +157,6 @@ def test_tracer_provider_accepts_concurrent_multi_span_processor(self): active_span_processor=span_processor ) - self.assertEqual( span_processor, tracer_provider._active_span_processor ) @@ -224,7 +221,6 @@ def test_sampler_no_sampling(self, _get_from_env_or_default): @mock.patch.dict("os.environ", {OTEL_TRACES_SAMPLER: "always_off"}) def test_sampler_with_env(self): - reload(trace) tracer_provider = trace.TracerProvider() self.assertIsInstance(tracer_provider.sampler, StaticSampler) @@ -244,7 +240,6 @@ def test_sampler_with_env(self): }, ) def test_ratio_sampler_with_env(self): - reload(trace) tracer_provider = trace.TracerProvider() self.assertIsInstance(tracer_provider.sampler, ParentBased) @@ -252,7 +247,7 @@ def test_ratio_sampler_with_env(self): def verify_default_sampler(self, tracer_provider): self.assertIsInstance(tracer_provider.sampler, ParentBased) - + self.assertEqual(tracer_provider.sampler._root, ALWAYS_ON) @@ -560,7 +555,7 @@ def test_default_span_resource(self): tracer_provider = trace.TracerProvider() tracer = tracer_provider.get_tracer(__name__) span = tracer.start_span("root") - + self.assertIsInstance(span.resource, resources.Resource) self.assertEqual( span.resource.attributes.get(resources.SERVICE_NAME), @@ -587,11 +582,9 @@ def test_span_context_remote_flag(self): def test_disallow_direct_span_creation(self): with self.assertRaises(TypeError): - trace.Span("name", mock.Mock(spec=trace_api.SpanContext)) def test_surplus_span_links(self): - max_links = trace.SpanLimits().max_links links = [ trace_api.Link(trace_api.SpanContext(0x1, idx, is_remote=False)) @@ -602,7 +595,6 @@ def test_surplus_span_links(self): self.assertEqual(len(root.links), max_links) def test_surplus_span_attributes(self): - max_attrs = trace.SpanLimits().max_span_attributes attributes = {str(idx): idx for idx in range(0, 16 + max_attrs)} tracer = new_tracer() @@ -637,8 +629,6 @@ def test_events(self): class TestSpan(unittest.TestCase): - - def setUp(self): self.tracer = new_tracer() @@ -973,7 +963,6 @@ def test_start_span(self): self.assertIs(span.status.description, "Test description") def test_start_accepts_context(self): - span_processor = mock.Mock(spec=trace.SpanProcessor) span = trace._Span( "name", @@ -1489,8 +1478,6 @@ def test_attributes_to_json(self): class TestSpanLimits(unittest.TestCase): - - long_val = "v" * 1000 def _assert_attr_length(self, attr_val, max_len): @@ -1947,7 +1934,7 @@ def test_parent_child_span_exception(self): ) as child_span: raise exception - except Exception: + except Exception: pass self.assertTrue(child_span.status.is_ok) @@ -1992,7 +1979,7 @@ def test_child_parent_span_exception(self): pass raise exception - except Exception: + except Exception: pass self.assertTrue(child_span.status.is_ok) @@ -2004,7 +1991,6 @@ def test_child_parent_span_exception(self): self.assertTupleEqual(parent_span.events, ()) - class TestTracerProvider(unittest.TestCase): @patch("opentelemetry.sdk.trace.sampling._get_from_env_or_default") @patch.object(Resource, "create") diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py index 1e2d6dec85..14a7d1818d 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/resource/__init__.py @@ -13,7 +13,6 @@ # limitations under the License. - from enum import Enum diff --git a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py index c9cb7edea0..00d19a4960 100644 --- a/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py +++ b/opentelemetry-semantic-conventions/src/opentelemetry/semconv/trace/__init__.py @@ -13,7 +13,6 @@ # limitations under the License. - from enum import Enum from deprecated import deprecated diff --git a/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py b/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py index 74e1c15922..42b212c326 100644 --- a/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py +++ b/propagator/opentelemetry-propagator-b3/tests/test_b3_format.py @@ -53,8 +53,6 @@ def get_child_parent_new_carrier(old_carrier, propagator): class AbstractB3FormatTestCase: - - @classmethod def setUpClass(cls): generator = id_generator.RandomIdGenerator() diff --git a/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py b/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py index 22047f31ac..d9fd653916 100644 --- a/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py +++ b/propagator/opentelemetry-propagator-jaeger/tests/test_jaeger_propagator.py @@ -63,7 +63,7 @@ def setUpClass(cls): cls.trace_id = generator.generate_trace_id() cls.span_id = generator.generate_span_id() cls.parent_span_id = generator.generate_span_id() - cls.serialized_uber_trace_id = jaeger._format_uber_trace_id( + cls.serialized_uber_trace_id = jaeger._format_uber_trace_id( cls.trace_id, cls.span_id, cls.parent_span_id, 11 ) @@ -114,7 +114,7 @@ def test_debug_flag_set(self): self.assertEqual(FORMAT.DEBUG_FLAG, debug_flag_value) def test_sample_debug_flags_unset(self): - uber_trace_id = jaeger._format_uber_trace_id( + uber_trace_id = jaeger._format_uber_trace_id( self.trace_id, self.span_id, self.parent_span_id, 0 ) old_carrier = {FORMAT.TRACE_ID_KEY: uber_trace_id} diff --git a/scripts/eachdist.py b/scripts/eachdist.py index bf4d98cefa..83977ae910 100755 --- a/scripts/eachdist.py +++ b/scripts/eachdist.py @@ -513,30 +513,16 @@ def parse_subargs(parentargs, args): def lint_args(args): - rootdir = str(find_projectroot()) - runsubprocess( args.dry_run, - ("black", "--config", "pyproject.toml", ".") - + (("--diff", "--check") if args.check_only else ()), - cwd=rootdir, + ("ruff", "check") + (() if args.check_only else ("--fix",)), check=True, ) runsubprocess( args.dry_run, - ("isort", "--settings-path", ".isort.cfg", ".") - + (("--diff", "--check-only") if args.check_only else ()), - cwd=rootdir, + ("ruff", "format") + (("--diff",) if args.check_only else ()), check=True, ) - runsubprocess( - args.dry_run, ("flake8", "--config", ".flake8", rootdir), check=True - ) - execute_args( - parse_subargs( - args, ("exec", "pylint {}", "--all", "--mode", "lintroots") - ) - ) execute_args( parse_subargs( args, diff --git a/scripts/update_sha.py b/scripts/update_sha.py index a311e10ff4..a35645160f 100644 --- a/scripts/update_sha.py +++ b/scripts/update_sha.py @@ -13,7 +13,6 @@ # limitations under the License. - import argparse import requests diff --git a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py index 7f1069668a..c2213423bb 100644 --- a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py +++ b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_span.py @@ -59,7 +59,6 @@ def _opencensus_time_to_nanos(timestamp: str) -> int: return round(seconds_float * 1e9) - class ShimSpan(wrapt.ObjectProxy): def __init__( self, @@ -112,7 +111,6 @@ def add_message_event(self, message_event: MessageEvent): timestamp=timestamp, ) - def add_link(self, link): """span links do not work with the shim because the OpenCensus Tracer does not accept links in start_span(). Same issue applies to SpanKind. Also see: @@ -152,7 +150,6 @@ def __enter__(self): self._self_otel_span.__enter__() return self - def __exit__(self, exception_type, exception_value, traceback): self._self_otel_span.__exit__( exception_type, exception_value, traceback diff --git a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py index fd403062ec..0e7f3a7e38 100644 --- a/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py +++ b/shim/opentelemetry-opencensus-shim/src/opentelemetry/shim/opencensus/_shim_tracer.py @@ -80,7 +80,6 @@ def set_oc_span_in_context( ) - class ShimTracer(wrapt.ObjectProxy): def __init__( self, @@ -122,7 +121,7 @@ def start_span(self, name="span"): # OpenCensus's ContextTracer calls execution_context.set_current_span(span) which is # equivalent to the below. This can cause context to leak but is equivalent. - + shim_span._self_token = context.attach(ctx) # Also set it in OC's context, equivalent to # https://github.com/census-instrumentation/opencensus-python/blob/2e08df591b507612b3968be8c2538dedbf8fab37/opencensus/trace/tracers/context_tracer.py#L94 @@ -140,13 +139,11 @@ def end_span(self): span.finish() - context.detach(span._self_token) # Also reset the OC execution_context, equivalent to # https://github.com/census-instrumentation/opencensus-python/blob/2e08df591b507612b3968be8c2538dedbf8fab37/opencensus/trace/tracers/context_tracer.py#L114-L117 execution_context.set_current_span(self.current_span()) - def current_span(self): return get_shim_span_in_context() diff --git a/shim/opentelemetry-opencensus-shim/tests/test_shim.py b/shim/opentelemetry-opencensus-shim/tests/test_shim.py index 16bcf97405..a4017a7826 100644 --- a/shim/opentelemetry-opencensus-shim/tests/test_shim.py +++ b/shim/opentelemetry-opencensus-shim/tests/test_shim.py @@ -116,7 +116,6 @@ def test_set_span_kind_logs_a_warning(self): with self.assertLogs(level=logging.WARNING): span.span_kind = SpanKind.CLIENT - def test_shim_span_contextmanager_calls_does_not_call_end(self): # This was a bug in first implementation where the underlying OTel span.end() was # called after span.__exit__ which caused double-ending the span. diff --git a/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py b/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py index 5c123acf38..87be3089a2 100644 --- a/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py +++ b/shim/opentelemetry-opentracing-shim/src/opentelemetry/shim/opentracing_shim/__init__.py @@ -301,7 +301,7 @@ def set_baggage_item(self, key: str, value: str): key: A tag key. value: A tag value. """ - + self._context._baggage = set_baggage( key, value, context=self._context._baggage ) @@ -314,7 +314,7 @@ def get_baggage_item(self, key: str) -> Optional[object]: Returns: Returns this :class:`SpanShim` instance to allow call chaining. """ - + return get_baggage(key, context=self._context._baggage) @@ -389,7 +389,6 @@ def from_context_manager(cls, manager: "ScopeManagerShim", span_cm): :meth:`opentelemetry.trace.use_span`. """ - otel_span = span_cm.__enter__() span_context = SpanContextShim(otel_span.get_span_context()) span = SpanShim(manager.tracer, span_context, otel_span) @@ -455,7 +454,7 @@ def __init__(self, tracer: "TracerShim"): # The only thing the ``__init__()``` method on the base class does is # initialize `self._noop_span` and `self._noop_scope` with no-op # objects. Therefore, it doesn't seem useful to call it. - + self._tracer = tracer def activate(self, span: SpanShim, finish_on_close: bool) -> "ScopeShim": @@ -697,7 +696,6 @@ def inject(self, span_context, format: object, carrier: object): carrier: the format-specific carrier object to inject into """ - # This implementation does not perform the injecting by itself but # uses the configured propagators in opentelemetry.propagators. # TODO: Support Format.BINARY once it is supported in @@ -732,7 +730,6 @@ def extract(self, format: object, carrier: object): ``None`` if no such ``SpanContext`` could be found. """ - # This implementation does not perform the extracting by itself but # uses the configured propagators in opentelemetry.propagators. # TODO: Support Format.BINARY once it is supported in diff --git a/shim/opentelemetry-opentracing-shim/tests/test_shim.py b/shim/opentelemetry-opentracing-shim/tests/test_shim.py index 4ec66e8792..7af660b033 100644 --- a/shim/opentelemetry-opentracing-shim/tests/test_shim.py +++ b/shim/opentelemetry-opentracing-shim/tests/test_shim.py @@ -38,8 +38,6 @@ class TestShim(TestCase): - - def setUp(self): """Create an OpenTelemetry tracer and a shim before every test case.""" trace.set_tracer_provider(TracerProvider()) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py index 565a3640d6..4a3c0178a4 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_asyncio.py @@ -20,7 +20,7 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py index 4e105debaf..289c26e374 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_active_span_replacement/test_threads.py @@ -19,7 +19,7 @@ class TestThreads(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() # use max_workers=3 as a general example even if only one would suffice self.executor = ThreadPoolExecutor(max_workers=3) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py index a031edd680..6af88c79e8 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_asyncio.py @@ -64,7 +64,7 @@ async def send(self): class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.queue = asyncio.Queue() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_threads.py index 0fbb1d04b8..8b53094e9c 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_client_server/test_threads.py @@ -66,7 +66,7 @@ def send(self): class TestThreads(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.queue = Queue() self.server = Server(tracer=self.tracer, queue=self.queue) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/request_handler.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/request_handler.py index 22a236a94d..75bfd662b9 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/request_handler.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/request_handler.py @@ -42,7 +42,6 @@ def before_request(self, request, request_context): request_context["span"] = span def after_request(self, request, request_context): - logger.info("After request %s", request) span = request_context.get("span") diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py index 3fcba2fde9..c403fae2d7 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_asyncio.py @@ -59,7 +59,7 @@ class TestAsyncio(OpenTelemetryTestCase): So one issue here is setting correct parent span. """ - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() self.client = Client(RequestHandler(self.tracer), self.loop) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py index b49aee47fa..2239bb66eb 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_common_request_handler/test_threads.py @@ -59,7 +59,7 @@ class TestThreads(OpenTelemetryTestCase): activate span. So one issue here is setting correct parent span. """ - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.executor = ThreadPoolExecutor(max_workers=3) self.client = Client(RequestHandler(self.tracer), self.executor) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py index bef7c2d6f1..1e4e6285f5 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_asyncio.py @@ -22,7 +22,7 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py index 6f7de67d79..03a81150ec 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_late_span_finish/test_threads.py @@ -20,7 +20,7 @@ class TestThreads(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.executor = ThreadPoolExecutor(max_workers=3) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py index d61a180e4f..90212eeb25 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_asyncio.py @@ -42,7 +42,7 @@ def send_sync(self, message): class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py index d3fa0c6ad6..4dcba83532 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_listener_per_request/test_threads.py @@ -28,7 +28,6 @@ def __init__(self, tracer): self.executor = ThreadPoolExecutor(max_workers=3) def _task(self, message, listener): - res = f"{message}::response" listener.on_response(res) return res @@ -42,7 +41,7 @@ def send_sync(self, message): class TestThreads(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() def test_main(self): diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py index 944121ecc4..51c82c690a 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_asyncio.py @@ -24,7 +24,7 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py index 824ea1809c..742b73c74e 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_multiple_callbacks/test_threads.py @@ -25,7 +25,7 @@ class TestThreads(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.executor = ThreadPoolExecutor(max_workers=3) diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py index aa873f0764..f2cf98b862 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_asyncio.py @@ -20,7 +20,7 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py index 7ab3b90e79..40d06184e9 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_nested_callbacks/test_threads.py @@ -20,11 +20,11 @@ class TestThreads(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.executor = ThreadPoolExecutor(max_workers=3) - def tearDown(self): + def tearDown(self): self.executor.shutdown(False) def test_main(self): diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py index a6a32a7348..434a23d5c6 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_asyncio.py @@ -19,7 +19,7 @@ class TestAsyncio(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.loop = asyncio.get_event_loop() diff --git a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py index 58999de27f..5998e8e11a 100644 --- a/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py +++ b/shim/opentelemetry-opentracing-shim/tests/testbed/test_subtask_span_propagation/test_threads.py @@ -19,7 +19,7 @@ class TestThreads(OpenTelemetryTestCase): - def setUp(self): + def setUp(self): self.tracer = MockTracer() self.executor = ThreadPoolExecutor(max_workers=3) diff --git a/tests/opentelemetry-docker-tests/tests/otlpexporter/__init__.py b/tests/opentelemetry-docker-tests/tests/otlpexporter/__init__.py index 2e5ecd17aa..933518638a 100644 --- a/tests/opentelemetry-docker-tests/tests/otlpexporter/__init__.py +++ b/tests/opentelemetry-docker-tests/tests/otlpexporter/__init__.py @@ -34,7 +34,6 @@ class BaseTestOTLPExporter(ABC): def get_span_processor(self): pass - def test_export(self): with self.tracer.start_as_current_span("foo"): with self.tracer.start_as_current_span("bar"): diff --git a/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_grpc_exporter_functional.py b/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_grpc_exporter_functional.py index e59b6e265d..dde81604ea 100644 --- a/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_grpc_exporter_functional.py +++ b/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_grpc_exporter_functional.py @@ -23,7 +23,6 @@ class TestOTLPGRPCExporter(BaseTestOTLPExporter, TestBase): - def get_span_processor(self): return ExportStatusSpanProcessor( OTLPSpanExporter(insecure=True, timeout=1) diff --git a/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_http_exporter_functional.py b/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_http_exporter_functional.py index 5b73f64b2f..383aa96c01 100644 --- a/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_http_exporter_functional.py +++ b/tests/opentelemetry-docker-tests/tests/otlpexporter/test_otlp_http_exporter_functional.py @@ -23,7 +23,6 @@ class TestOTLPHTTPExporter(BaseTestOTLPExporter, TestBase): - def get_span_processor(self): return ExportStatusSpanProcessor(OTLPSpanExporter()) diff --git a/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py b/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py index eb9d8d3a4c..25bd192e30 100644 --- a/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py +++ b/tests/opentelemetry-test-utils/src/opentelemetry/test/__init__.py @@ -26,7 +26,7 @@ def __init__(self, test_case): def __enter__(self): return self - def __exit__(self, type_, value, tb): + def __exit__(self, type_, value, tb): if value is not None and type_ in self._exception_types: self._test_case.fail( "Unexpected exception was raised:\n{}".format( @@ -37,15 +37,14 @@ def __exit__(self, type_, value, tb): return True def __call__(self, exception, *exceptions): - self._exception_types = (exception, *exceptions) return self def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) - + self.assertNotRaises = self._AssertNotRaises(self) -class TestCase(_AssertNotRaisesMixin, TestCase): +class TestCase(_AssertNotRaisesMixin, TestCase): pass diff --git a/tests/opentelemetry-test-utils/src/opentelemetry/test/globals_test.py b/tests/opentelemetry-test-utils/src/opentelemetry/test/globals_test.py index f4a116f519..1b25ed6fed 100644 --- a/tests/opentelemetry-test-utils/src/opentelemetry/test/globals_test.py +++ b/tests/opentelemetry-test-utils/src/opentelemetry/test/globals_test.py @@ -28,7 +28,6 @@ def reset_trace_globals() -> None: trace_api._PROXY_TRACER_PROVIDER = trace_api.ProxyTracerProvider() - def reset_metrics_globals() -> None: """WARNING: only use this for tests.""" metrics_api._METER_PROVIDER_SET_ONCE = Once() # type: ignore[attr-defined] @@ -36,7 +35,6 @@ def reset_metrics_globals() -> None: metrics_api._PROXY_METER_PROVIDER = _ProxyMeterProvider() # type: ignore[attr-defined] - def reset_logging_globals() -> None: """WARNING: only use this for tests.""" logging_api._LOGGER_PROVIDER_SET_ONCE = Once() # type: ignore[attr-defined] diff --git a/tests/opentelemetry-test-utils/src/opentelemetry/test/test_base.py b/tests/opentelemetry-test-utils/src/opentelemetry/test/test_base.py index 0b72888de1..cf63ba8bc6 100644 --- a/tests/opentelemetry-test-utils/src/opentelemetry/test/test_base.py +++ b/tests/opentelemetry-test-utils/src/opentelemetry/test/test_base.py @@ -39,8 +39,6 @@ class TestBase(unittest.TestCase): - - def setUp(self): super().setUp() result = self.create_tracer_provider() @@ -85,7 +83,7 @@ def assertSpanHasAttributes(self, span, attributes): self.assertIn(key, span.attributes) self.assertEqual(val, span.attributes[key]) - def sorted_spans(self, spans): + def sorted_spans(self, spans): """ Sorts spans by span creation time. @@ -94,7 +92,7 @@ def sorted_spans(self, spans): """ return sorted( spans, - key=lambda s: s._start_time, + key=lambda s: s._start_time, reverse=True, ) @@ -179,7 +177,6 @@ def assert_metric_expected( expected_data_point, metric.data.data_points, est_value_delta ) - @staticmethod def is_data_points_equal( expected_data_point: DataPointT, diff --git a/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py b/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py index 5694b7f28a..9710688719 100644 --- a/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py +++ b/tests/opentelemetry-test-utils/src/opentelemetry/test/wsgitestutil.py @@ -39,7 +39,7 @@ def start_response(self, status, response_headers, exc_info=None): self.exc_info = exc_info return self.write - def assertTraceResponseHeaderMatchesSpan(self, headers, span): + def assertTraceResponseHeaderMatchesSpan(self, headers, span): self.assertIn("traceresponse", headers) self.assertEqual( headers["access-control-expose-headers"], diff --git a/tests/opentelemetry-test-utils/tests/test_utils.py b/tests/opentelemetry-test-utils/tests/test_utils.py index a618f1545a..a0260e01a4 100644 --- a/tests/opentelemetry-test-utils/tests/test_utils.py +++ b/tests/opentelemetry-test-utils/tests/test_utils.py @@ -21,35 +21,29 @@ def test_no_exception(self): with self.assertNotRaises(Exception): pass - except Exception as error: - self.fail( - f"Unexpected exception {error} was raised" - ) + except Exception as error: + self.fail(f"Unexpected exception {error} was raised") def test_no_specified_exception_single(self): try: with self.assertNotRaises(KeyError): - 1 / 0 + 1 / 0 - except Exception as error: - self.fail( - f"Unexpected exception {error} was raised" - ) + except Exception as error: + self.fail(f"Unexpected exception {error} was raised") def test_no_specified_exception_multiple(self): try: with self.assertNotRaises(KeyError, IndexError): - 1 / 0 + 1 / 0 - except Exception as error: - self.fail( - f"Unexpected exception {error} was raised" - ) + except Exception as error: + self.fail(f"Unexpected exception {error} was raised") def test_exception(self): with self.assertRaises(AssertionError): with self.assertNotRaises(ZeroDivisionError): - 1 / 0 + 1 / 0 def test_missing_exception(self): with self.assertRaises(AssertionError) as error: diff --git a/tox.ini b/tox.ini index 2b82d804dc..88667f45c5 100644 --- a/tox.ini +++ b/tox.ini @@ -200,33 +200,9 @@ commands = [testenv:lint] basepython: python3 -recreate = True deps = -r dev-requirements.txt -commands_pre = - pip install -r {toxinidir}/opentelemetry-api/test-requirements.txt - pip install -r {toxinidir}/opentelemetry-sdk/test-requirements.txt - pip install -r {toxinidir}/opentelemetry-semantic-conventions/test-requirements.txt - pip install -r {toxinidir}/opentelemetry-proto/test-requirements.txt - pip install -r {toxinidir}/shim/opentelemetry-opentracing-shim/test-requirements.txt - pip install -r {toxinidir}/shim/opentelemetry-opencensus-shim/test-requirements.txt - pip install -r {toxinidir}/exporter/opentelemetry-exporter-opencensus/test-requirements.txt - pip install -r {toxinidir}/tests/opentelemetry-test-utils/test-requirements.txt - pip install -r {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-common/test-requirements.txt - python -m pip install -e {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-grpc[test] - pip install -r {toxinidir}/exporter/opentelemetry-exporter-otlp-proto-http/test-requirements-1.txt - pip install -r {toxinidir}/exporter/opentelemetry-exporter-prometheus/test-requirements.txt - pip install -r {toxinidir}/exporter/opentelemetry-exporter-zipkin-proto-http/test-requirements.txt - pip install -r {toxinidir}/exporter/opentelemetry-exporter-zipkin-json/test-requirements.txt - pip install -r {toxinidir}/exporter/opentelemetry-exporter-otlp/test-requirements.txt - pip install -r {toxinidir}/exporter/opentelemetry-exporter-zipkin/test-requirements.txt - pip install -r {toxinidir}/propagator/opentelemetry-propagator-b3/test-requirements.txt - pip install -r {toxinidir}/propagator/opentelemetry-propagator-jaeger/test-requirements.txt - # Pin protobuf version due to lint failing on v3.20.0 - # https://github.com/protocolbuffers/protobuf/issues/9730 - python -m pip install protobuf==3.19.4 - commands = python scripts/eachdist.py lint --check-only From 1926bbaf4f984ce0bce06eecf742499e2a300d6a Mon Sep 17 00:00:00 2001 From: Aaron Abbott Date: Thu, 28 Mar 2024 05:52:12 +0000 Subject: [PATCH 7/7] delete old configs --- .flake8 | 31 ------------------------------- .isort.cfg | 19 ------------------- pyproject.toml | 17 ----------------- 3 files changed, 67 deletions(-) delete mode 100644 .flake8 delete mode 100644 .isort.cfg diff --git a/.flake8 b/.flake8 deleted file mode 100644 index 83786a686a..0000000000 --- a/.flake8 +++ /dev/null @@ -1,31 +0,0 @@ -[flake8] -ignore = - # line too long, defer to black - E501 - - # allow line breaks before binary ops - W503 - - # allow line breaks after binary ops - W504 - - # allow whitespace before ':' (https://github.com/psf/black#slices) - E203 - -exclude = - .bzr - .git - .hg - .svn - .tox - CVS - .venv*/ - venv*/ - target - __pycache__ - exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/gen/ - docs/examples/opentelemetry-example-app/src/opentelemetry_example_app/grpc/gen/ - docs/examples/opentelemetry-example-app/build/* - opentelemetry-proto/build/* - opentelemetry-proto/src/opentelemetry/proto/ - */build/lib/* diff --git a/.isort.cfg b/.isort.cfg deleted file mode 100644 index ab1ab74ee5..0000000000 --- a/.isort.cfg +++ /dev/null @@ -1,19 +0,0 @@ -[settings] -include_trailing_comma=True -force_grid_wrap=0 -use_parentheses=True -line_length=79 -profile=black - -; 3 stands for Vertical Hanging Indent, e.g. -; from third_party import ( -; lib1, -; lib2, -; lib3, -; ) -; docs: https://github.com/timothycrosley/isort#multi-line-output-modes -multi_line_output=3 -skip=target -skip_glob=**/gen/*,.venv*/*,venv*/*,**/proto/*,.tox/* -known_first_party=opentelemetry,opentelemetry_example_app -known_third_party=psutil,pytest,redis,redis_opentracing diff --git a/pyproject.toml b/pyproject.toml index 083a6713c8..81c164194b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,20 +1,3 @@ -[tool.black] -line-length = 79 -exclude = ''' -( - /( # generated files - .tox| - venv| - venv.*| - .venv.*| - target.*| - .*/build/lib/.*| - exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/v2/gen| - opentelemetry-proto/src/opentelemetry/proto/.*/.*| - scripts - )/ -) -''' [tool.pytest.ini_options] addopts = "-rs -v" log_cli = true