Skip to content

Commit f436514

Browse files
authored
Replaced Tracer.use_span() with opentelemetry.trace.use_span() (#364)
1 parent 0157535 commit f436514

File tree

32 files changed

+56
-91
lines changed

32 files changed

+56
-91
lines changed

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ on:
66
- 'release/*'
77
pull_request:
88
env:
9-
CORE_REPO_SHA: 9bf28fb451a85fd9e9a4f2276c3eebd484e55d02
9+
CORE_REPO_SHA: ddff32ac77e2e22b3193b71f1e71a590a99d1eda
1010

1111
jobs:
1212
build:

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77
## [Unreleased](https://github.com/open-telemetry/opentelemetry-python-contrib/compare/v0.18b0...HEAD)
8+
- Updated instrumentations to use `opentelemetry.trace.use_span` instead of `Tracer.use_span()`
9+
([#364](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/364))
810

911
### Changed
1012
- Rename `IdsGenerator` to `IdGenerator`

instrumentation/opentelemetry-instrumentation-aiopg/src/opentelemetry/instrumentation/aiopg/aiopg_integration.py

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
DatabaseApiIntegration,
99
)
1010
from opentelemetry.trace import SpanKind
11-
from opentelemetry.trace.status import Status, StatusCode
1211

1312

1413
# pylint: disable=abstract-method
@@ -117,13 +116,7 @@ async def traced_execution(
117116
name, kind=SpanKind.CLIENT
118117
) as span:
119118
self._populate_span(span, cursor, *args)
120-
try:
121-
result = await query_method(*args, **kwargs)
122-
return result
123-
except Exception as ex: # pylint: disable=broad-except
124-
if span.is_recording():
125-
span.set_status(Status(StatusCode.ERROR, str(ex)))
126-
raise ex
119+
return await query_method(*args, **kwargs)
127120

128121

129122
def get_traced_cursor_proxy(cursor, db_api_integration, *args, **kwargs):

instrumentation/opentelemetry-instrumentation-aiopg/tests/test_aiopg_integration.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -289,8 +289,6 @@ def test_span_not_recording(self):
289289
mock_span = mock.Mock()
290290
mock_span.is_recording.return_value = False
291291
mock_tracer.start_span.return_value = mock_span
292-
mock_tracer.use_span.return_value.__enter__ = mock_span
293-
mock_tracer.use_span.return_value.__exit__ = True
294292
db_integration = AiopgIntegration(
295293
mock_tracer, "testcomponent", connection_attributes
296294
)
@@ -322,7 +320,7 @@ def test_span_failed(self):
322320
self.assertIs(
323321
span.status.status_code, trace_api.status.StatusCode.ERROR
324322
)
325-
self.assertEqual(span.status.description, "Test Exception")
323+
self.assertEqual(span.status.description, "Exception: Test Exception")
326324

327325
def test_executemany(self):
328326
db_integration = AiopgIntegration(self.tracer, "testcomponent")

instrumentation/opentelemetry-instrumentation-boto/tests/test_boto_instrumentation.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,6 @@ def test_not_recording(self):
8282
mock_span = Mock()
8383
mock_span.is_recording.return_value = False
8484
mock_tracer.start_span.return_value = mock_span
85-
mock_tracer.use_span.return_value.__enter__ = mock_span
86-
mock_tracer.use_span.return_value.__exit__ = True
8785
with patch("opentelemetry.trace.get_tracer") as tracer:
8886
tracer.return_value = mock_tracer
8987
ec2 = boto.ec2.connect_to_region("us-west-2")

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -81,8 +81,6 @@ def test_not_recording(self):
8181
mock_span = Mock()
8282
mock_span.is_recording.return_value = False
8383
mock_tracer.start_span.return_value = mock_span
84-
mock_tracer.use_span.return_value.__enter__ = mock_span
85-
mock_tracer.use_span.return_value.__exit__ = True
8684
with patch("opentelemetry.trace.get_tracer") as tracer:
8785
tracer.return_value = mock_tracer
8886
ec2 = self.session.create_client("ec2", region_name="us-west-2")

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

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ def _trace_prerun(self, *args, **kwargs):
137137
operation_name, context=tracectx, kind=trace.SpanKind.CONSUMER
138138
)
139139

140-
activation = self._tracer.use_span(span, end_on_exit=True)
141-
activation.__enter__()
140+
activation = trace.use_span(span, end_on_exit=True)
141+
activation.__enter__() # pylint: disable=E1101
142142
utils.attach_span(task, task_id, (span, activation))
143143

144144
@staticmethod
@@ -186,8 +186,9 @@ def _trace_before_publish(self, *args, **kwargs):
186186
span.set_attribute(_TASK_NAME_KEY, task.name)
187187
utils.set_attributes_from_context(span, kwargs)
188188

189-
activation = self._tracer.use_span(span, end_on_exit=True)
190-
activation.__enter__()
189+
activation = trace.use_span(span, end_on_exit=True)
190+
activation.__enter__() # pylint: disable=E1101
191+
191192
utils.attach_span(task, task_id, (span, activation), is_publish=True)
192193

193194
headers = kwargs.get("headers")
@@ -208,7 +209,7 @@ def _trace_after_publish(*args, **kwargs):
208209
logger.warning("no existing span found for task_id=%s", task_id)
209210
return
210211

211-
activation.__exit__(None, None, None)
212+
activation.__exit__(None, None, None) # pylint: disable=E1101
212213
utils.detach_span(task, task_id, is_publish=True)
213214

214215
@staticmethod

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

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -371,13 +371,7 @@ def traced_execution(
371371
name, kind=SpanKind.CLIENT
372372
) as span:
373373
self._populate_span(span, cursor, *args)
374-
try:
375-
result = query_method(*args, **kwargs)
376-
return result
377-
except Exception as ex: # pylint: disable=broad-except
378-
if span.is_recording():
379-
span.set_status(Status(StatusCode.ERROR, str(ex)))
380-
raise ex
374+
return query_method(*args, **kwargs)
381375

382376

383377
def get_traced_cursor_proxy(cursor, db_api_integration, *args, **kwargs):

instrumentation/opentelemetry-instrumentation-dbapi/tests/test_dbapi_integration.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,8 +146,6 @@ def test_span_not_recording(self):
146146
mock_span = mock.Mock()
147147
mock_span.is_recording.return_value = False
148148
mock_tracer.start_span.return_value = mock_span
149-
mock_tracer.use_span.return_value.__enter__ = mock_span
150-
mock_tracer.use_span.return_value.__exit__ = True
151149
db_integration = dbapi.DatabaseApiIntegration(
152150
mock_tracer, "testcomponent", connection_attributes
153151
)
@@ -179,7 +177,7 @@ def test_span_failed(self):
179177
self.assertIs(
180178
span.status.status_code, trace_api.status.StatusCode.ERROR
181179
)
182-
self.assertEqual(span.status.description, "Test Exception")
180+
self.assertEqual(span.status.description, "Exception: Test Exception")
183181

184182
def test_executemany(self):
185183
db_integration = dbapi.DatabaseApiIntegration(

instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/middleware.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
collect_request_attributes,
2525
)
2626
from opentelemetry.propagate import extract
27-
from opentelemetry.trace import SpanKind, get_tracer
27+
from opentelemetry.trace import SpanKind, get_tracer, use_span
2828
from opentelemetry.util.http import get_excluded_urls, get_traced_request_attrs
2929

3030
try:
@@ -118,8 +118,8 @@ def process_request(self, request):
118118
for key, value in attributes.items():
119119
span.set_attribute(key, value)
120120

121-
activation = tracer.use_span(span, end_on_exit=True)
122-
activation.__enter__()
121+
activation = use_span(span, end_on_exit=True)
122+
activation.__enter__() # pylint: disable=E1101
123123

124124
request.META[self._environ_activation_key] = activation
125125
request.META[self._environ_span_key] = span

0 commit comments

Comments
 (0)