Skip to content

Commit 8ee114b

Browse files
committed
Update changelogs + fix lint
1 parent 58f77f5 commit 8ee114b

File tree

3 files changed

+13
-9
lines changed

3 files changed

+13
-9
lines changed

instrumentation/opentelemetry-instrumentation-botocore/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# Changelog
22

33
## Unreleased
4+
- Add propagator injection for botocore calls
5+
([#181](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/181))
46

57
## Version 0.13b0
68

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

+10-8
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,23 @@
5656
from botocore.client import BaseClient
5757
from wrapt import ObjectProxy, wrap_function_wrapper
5858

59+
from opentelemetry import propagators
5960
from opentelemetry.instrumentation.botocore.version import __version__
6061
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
6162
from opentelemetry.sdk.trace import Resource
62-
from opentelemetry import propagators
6363
from opentelemetry.trace import SpanKind, get_tracer
6464

6565
logger = logging.getLogger(__name__)
6666

6767

68+
# pylint: disable=unused-argument
69+
def _patched_endpoint_prepare_request(wrapped, instance, args, kwargs):
70+
request = args[0]
71+
headers = request.headers
72+
propagators.inject(type(headers).__setitem__, headers)
73+
return wrapped(*args, **kwargs)
74+
75+
6876
class BotocoreInstrumentor(BaseInstrumentor):
6977
"""A instrumentor for Botocore
7078
@@ -89,7 +97,7 @@ def _instrument(self, **kwargs):
8997
wrap_function_wrapper(
9098
"botocore.endpoint",
9199
"Endpoint.prepare_request",
92-
self._patched_prepare_request,
100+
_patched_endpoint_prepare_request,
93101
)
94102

95103
def _uninstrument(self, **kwargs):
@@ -151,12 +159,6 @@ def _patched_api_call(self, original_func, instance, args, kwargs):
151159

152160
return result
153161

154-
def _patched_prepare_request(self, wrapped, instance, args, kwargs):
155-
request = args[0]
156-
headers = request.headers
157-
propagators.inject(type(headers).__setitem__, headers)
158-
return wrapped(*args, **kwargs)
159-
160162

161163
def unwrap(obj, attr):
162164
function = getattr(obj, attr, None)

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

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
mock_sqs,
2626
)
2727

28-
from opentelemetry.instrumentation.botocore import BotocoreInstrumentor
2928
from opentelemetry import propagators
29+
from opentelemetry.instrumentation.botocore import BotocoreInstrumentor
3030
from opentelemetry.sdk.resources import Resource
3131
from opentelemetry.test.mock_textmap import MockTextMapPropagator
3232
from opentelemetry.test.test_base import TestBase

0 commit comments

Comments
 (0)