Skip to content

Commit 6ae8d59

Browse files
committed
Move all key access to a single spot and deduplicate context managers
1 parent 7758d5e commit 6ae8d59

File tree

21 files changed

+122
-231
lines changed

21 files changed

+122
-231
lines changed

instrumentation/opentelemetry-instrumentation-botocore/src/opentelemetry/instrumentation/botocore/__init__.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,10 +210,9 @@ def _patched_api_call(self, original_func, instance, args, kwargs):
210210
raise
211211
else:
212212
_apply_response_attributes(span, result)
213-
_safe_invoke(extension.on_success, span, result)
214-
finally:
215-
_safe_invoke(extension.after_service_call)
213+
_safe_invoke(extension.on_success, span, result)
216214
finally:
215+
_safe_invoke(extension.after_service_call)
217216
self._call_response_hook(span, call_context, result)
218217

219218
return result

instrumentation/opentelemetry-instrumentation-botocore/tests/test_botocore_instrumentation.py

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

2929
from opentelemetry import trace as trace_api
3030
from opentelemetry.instrumentation.botocore import BotocoreInstrumentor
31-
from opentelemetry.instrumentation.utils import suppress_instrumentation
31+
from opentelemetry.instrumentation.utils import suppress_http_instrumentation, suppress_instrumentation
3232
from opentelemetry.propagate import get_global_textmap, set_global_textmap
3333
from opentelemetry.propagators.aws.aws_xray_propagator import TRACE_HEADER_KEY
3434
from opentelemetry.semconv.trace import SpanAttributes
@@ -342,7 +342,7 @@ def test_suppress_instrumentation_xray_client(self):
342342

343343
@mock_xray
344344
def test_suppress_http_instrumentation_xray_client(self):
345-
with suppress_instrumentation():
345+
with suppress_http_instrumentation():
346346
xray_client.put_trace_segments(TraceSegmentDocuments=["str1"])
347347
xray_client.put_trace_segments(TraceSegmentDocuments=["str2"])
348348
self.assertEqual(2, len(self.get_finished_spans()))

instrumentation/opentelemetry-instrumentation-cassandra/src/opentelemetry/instrumentation/cassandra/__init__.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,9 +43,9 @@
4343
from wrapt import wrap_function_wrapper
4444

4545
from opentelemetry import trace
46+
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
4647
from opentelemetry.instrumentation.cassandra.package import _instruments
4748
from opentelemetry.instrumentation.cassandra.version import __version__
48-
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
4949
from opentelemetry.instrumentation.utils import unwrap
5050
from opentelemetry.semconv.trace import SpanAttributes
5151

@@ -70,10 +70,7 @@ def _traced_execute_async(func, instance, args, kwargs):
7070
if span.is_recording():
7171
span.set_attribute(SpanAttributes.DB_NAME, instance.keyspace)
7272
span.set_attribute(SpanAttributes.DB_SYSTEM, "cassandra")
73-
span.set_attribute(
74-
SpanAttributes.NET_PEER_NAME,
75-
instance.cluster.contact_points,
76-
)
73+
span.set_attribute(SpanAttributes.NET_PEER_NAME, instance.cluster.contact_points)
7774

7875
if include_db_statement:
7976
query = args[0]
@@ -82,9 +79,7 @@ def _traced_execute_async(func, instance, args, kwargs):
8279
response = func(*args, **kwargs)
8380
return response
8481

85-
wrap_function_wrapper(
86-
"cassandra.cluster", "Session.execute_async", _traced_execute_async
87-
)
82+
wrap_function_wrapper("cassandra.cluster", "Session.execute_async", _traced_execute_async)
8883

8984

9085
class CassandraInstrumentor(BaseInstrumentor):

instrumentation/opentelemetry-instrumentation-cassandra/tests/test_cassandra_integration.py

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -46,25 +46,15 @@ def tearDown(self):
4646
def test_instrument_uninstrument(self):
4747
instrumentation = CassandraInstrumentor()
4848
instrumentation.instrument()
49-
self.assertTrue(
50-
isinstance(
51-
cassandra.cluster.Session.execute_async, BoundFunctionWrapper
52-
)
53-
)
49+
self.assertTrue(isinstance(cassandra.cluster.Session.execute_async, BoundFunctionWrapper))
5450

5551
instrumentation.uninstrument()
56-
self.assertFalse(
57-
isinstance(
58-
cassandra.cluster.Session.execute_async, BoundFunctionWrapper
59-
)
60-
)
52+
self.assertFalse(isinstance(cassandra.cluster.Session.execute_async, BoundFunctionWrapper))
6153

6254
@mock.patch("cassandra.cluster.Cluster.connect")
6355
@mock.patch("cassandra.cluster.Session.__init__")
6456
@mock.patch("cassandra.cluster.Session._create_response_future")
65-
def test_instrumentor(
66-
self, mock_create_response_future, mock_session_init, mock_connect
67-
):
57+
def test_instrumentor(self, mock_create_response_future, mock_session_init, mock_connect):
6858
mock_create_response_future.return_value = mock.Mock()
6959
mock_session_init.return_value = None
7060
mock_connect.return_value = cassandra.cluster.Session()
@@ -95,9 +85,7 @@ def test_instrumentor(
9585
@mock.patch("cassandra.cluster.Cluster.connect")
9686
@mock.patch("cassandra.cluster.Session.__init__")
9787
@mock.patch("cassandra.cluster.Session._create_response_future")
98-
def test_custom_tracer_provider(
99-
self, mock_create_response_future, mock_session_init, mock_connect
100-
):
88+
def test_custom_tracer_provider(self, mock_create_response_future, mock_session_init, mock_connect):
10189
mock_create_response_future.return_value = mock.Mock()
10290
mock_session_init.return_value = None
10391
mock_connect.return_value = cassandra.cluster.Session()
@@ -119,9 +107,7 @@ def test_custom_tracer_provider(
119107
@mock.patch("cassandra.cluster.Cluster.connect")
120108
@mock.patch("cassandra.cluster.Session.__init__")
121109
@mock.patch("cassandra.cluster.Session._create_response_future")
122-
def test_instrument_connection_no_op_tracer_provider(
123-
self, mock_create_response_future, mock_session_init, mock_connect
124-
):
110+
def test_instrument_connection_no_op_tracer_provider(self, mock_create_response_future, mock_session_init, mock_connect):
125111
mock_create_response_future.return_value = mock.Mock()
126112
mock_session_init.return_value = None
127113
mock_connect.return_value = cassandra.cluster.Session()

instrumentation/opentelemetry-instrumentation-celery/src/opentelemetry/instrumentation/celery/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,6 @@ def add(x, y):
6363
from timeit import default_timer
6464
from typing import Collection, Iterable
6565

66-
from billiard import VERSION
6766
from billiard.einfo import ExceptionInfo
6867
from celery import signals # pylint: disable=no-name-in-module
6968

@@ -77,6 +76,8 @@ def add(x, y):
7776
from opentelemetry.propagators.textmap import Getter
7877
from opentelemetry.semconv.trace import SpanAttributes
7978
from opentelemetry.trace.status import Status, StatusCode
79+
from billiard import VERSION
80+
8081

8182
if VERSION >= (4, 0, 1):
8283
from billiard.einfo import ExceptionWithTraceback

instrumentation/opentelemetry-instrumentation-celery/src/opentelemetry/instrumentation/celery/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@
1414

1515
import logging
1616

17-
from billiard import VERSION
1817
from celery import registry # pylint: disable=no-name-in-module
18+
from billiard import VERSION
1919

2020
from opentelemetry.semconv.trace import SpanAttributes
2121

instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,8 +112,8 @@ def instrument_consumer(consumer: Consumer, tracer_provider=None)
112112
from .package import _instruments
113113
from .utils import (
114114
KafkaPropertiesExtractor,
115-
_create_new_consume_span,
116115
_end_current_consume_span,
116+
_create_new_consume_span,
117117
_enrich_span,
118118
_get_span_name,
119119
_kafka_getter,

instrumentation/opentelemetry-instrumentation-confluent-kafka/src/opentelemetry/instrumentation/confluent_kafka/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
from typing import List, Optional
33

44
from opentelemetry import context, propagate
5+
from opentelemetry.trace import SpanKind, Link
56
from opentelemetry.propagators import textmap
67
from opentelemetry.semconv.trace import (
78
MessagingDestinationKindValues,
89
MessagingOperationValues,
910
SpanAttributes,
1011
)
11-
from opentelemetry.trace import Link, SpanKind
1212

1313
_LOG = getLogger(__name__)
1414

instrumentation/opentelemetry-instrumentation-confluent-kafka/tests/test_instrumentation.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@
1414

1515
# pylint: disable=no-name-in-module
1616

17+
from opentelemetry.semconv.trace import (
18+
SpanAttributes,
19+
MessagingDestinationKindValues,
20+
)
21+
from opentelemetry.test.test_base import TestBase
22+
from .utils import MockConsumer, MockedMessage
23+
1724
from confluent_kafka import Consumer, Producer
1825

1926
from opentelemetry.instrumentation.confluent_kafka import (
@@ -25,13 +32,6 @@
2532
KafkaContextGetter,
2633
KafkaContextSetter,
2734
)
28-
from opentelemetry.semconv.trace import (
29-
MessagingDestinationKindValues,
30-
SpanAttributes,
31-
)
32-
from opentelemetry.test.test_base import TestBase
33-
34-
from .utils import MockConsumer, MockedMessage
3535

3636

3737
class TestConfluentKafka(TestBase):

instrumentation/opentelemetry-instrumentation-flask/tests/test_programmatic.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SANITIZE_FIELDS,
4141
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_REQUEST,
4242
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE,
43+
OTEL_INSTRUMENTATION_HTTP_CAPTURE_HEADERS_SERVER_RESPONSE,
4344
OTEL_PYTHON_INSTRUMENTATION_HTTP_CAPTURE_ALL_METHODS,
4445
get_excluded_urls,
4546
)
@@ -327,9 +328,7 @@ def test_flask_metric_values(self):
327328
if isinstance(point, NumberDataPoint):
328329
self.assertEqual(point.value, 0)
329330

330-
def _assert_basic_metric(
331-
self, expected_duration_attributes, expected_requests_count_attributes
332-
):
331+
def _assert_basic_metric(self, expected_duration_attributes, expected_requests_count_attributes):
333332
metrics_list = self.memory_metrics_reader.get_metrics_data()
334333
for resource_metric in metrics_list.resource_metrics:
335334
for scope_metrics in resource_metric.scope_metrics:
@@ -395,7 +394,7 @@ def test_basic_metric_nonstandard_http_method_success(self):
395394
)
396395

397396
@patch.dict(
398-
"os.environ",
397+
"os.environ",
399398
{
400399
OTEL_PYTHON_INSTRUMENTATION_HTTP_CAPTURE_ALL_METHODS: "1",
401400
},

0 commit comments

Comments
 (0)