opentelemetry-instrumentation-botocore 0.42b0__py3-none-any.whl → 0.44b0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- opentelemetry/instrumentation/botocore/__init__.py +14 -22
- opentelemetry/instrumentation/botocore/extensions/dynamodb.py +1 -0
- opentelemetry/instrumentation/botocore/extensions/lmbd.py +2 -2
- opentelemetry/instrumentation/botocore/extensions/sns.py +5 -3
- opentelemetry/instrumentation/botocore/extensions/types.py +8 -10
- opentelemetry/instrumentation/botocore/version.py +1 -1
- {opentelemetry_instrumentation_botocore-0.42b0.dist-info → opentelemetry_instrumentation_botocore-0.44b0.dist-info}/METADATA +6 -6
- opentelemetry_instrumentation_botocore-0.44b0.dist-info/RECORD +15 -0
- {opentelemetry_instrumentation_botocore-0.42b0.dist-info → opentelemetry_instrumentation_botocore-0.44b0.dist-info}/WHEEL +1 -1
- opentelemetry_instrumentation_botocore-0.42b0.dist-info/RECORD +0 -15
- {opentelemetry_instrumentation_botocore-0.42b0.dist-info → opentelemetry_instrumentation_botocore-0.44b0.dist-info}/entry_points.txt +0 -0
- {opentelemetry_instrumentation_botocore-0.42b0.dist-info → opentelemetry_instrumentation_botocore-0.44b0.dist-info}/licenses/LICENSE +0 -0
@@ -86,10 +86,6 @@ from botocore.endpoint import Endpoint
|
|
86
86
|
from botocore.exceptions import ClientError
|
87
87
|
from wrapt import wrap_function_wrapper
|
88
88
|
|
89
|
-
from opentelemetry import context as context_api
|
90
|
-
|
91
|
-
# FIXME: fix the importing of this private attribute when the location of the _SUPPRESS_HTTP_INSTRUMENTATION_KEY is defined.
|
92
|
-
from opentelemetry.context import _SUPPRESS_HTTP_INSTRUMENTATION_KEY
|
93
89
|
from opentelemetry.instrumentation.botocore.extensions import _find_extension
|
94
90
|
from opentelemetry.instrumentation.botocore.extensions.types import (
|
95
91
|
_AwsSdkCallContext,
|
@@ -98,7 +94,8 @@ from opentelemetry.instrumentation.botocore.package import _instruments
|
|
98
94
|
from opentelemetry.instrumentation.botocore.version import __version__
|
99
95
|
from opentelemetry.instrumentation.instrumentor import BaseInstrumentor
|
100
96
|
from opentelemetry.instrumentation.utils import (
|
101
|
-
|
97
|
+
is_instrumentation_enabled,
|
98
|
+
suppress_http_instrumentation,
|
102
99
|
unwrap,
|
103
100
|
)
|
104
101
|
from opentelemetry.propagators.aws.aws_xray_propagator import AwsXRayPropagator
|
@@ -171,7 +168,7 @@ class BotocoreInstrumentor(BaseInstrumentor):
|
|
171
168
|
|
172
169
|
# pylint: disable=too-many-branches
|
173
170
|
def _patched_api_call(self, original_func, instance, args, kwargs):
|
174
|
-
if
|
171
|
+
if not is_instrumentation_enabled():
|
175
172
|
return original_func(*args, **kwargs)
|
176
173
|
|
177
174
|
call_context = _determine_call_context(instance, args)
|
@@ -200,25 +197,20 @@ class BotocoreInstrumentor(BaseInstrumentor):
|
|
200
197
|
_safe_invoke(extension.before_service_call, span)
|
201
198
|
self._call_request_hook(span, call_context)
|
202
199
|
|
203
|
-
token = context_api.attach(
|
204
|
-
context_api.set_value(_SUPPRESS_HTTP_INSTRUMENTATION_KEY, True)
|
205
|
-
)
|
206
|
-
|
207
|
-
result = None
|
208
200
|
try:
|
209
|
-
|
210
|
-
|
211
|
-
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
|
201
|
+
with suppress_http_instrumentation():
|
202
|
+
result = None
|
203
|
+
try:
|
204
|
+
result = original_func(*args, **kwargs)
|
205
|
+
except ClientError as error:
|
206
|
+
result = getattr(error, "response", None)
|
207
|
+
_apply_response_attributes(span, result)
|
208
|
+
_safe_invoke(extension.on_error, span, error)
|
209
|
+
raise
|
210
|
+
_apply_response_attributes(span, result)
|
211
|
+
_safe_invoke(extension.on_success, span, result)
|
218
212
|
finally:
|
219
|
-
context_api.detach(token)
|
220
213
|
_safe_invoke(extension.after_service_call)
|
221
|
-
|
222
214
|
self._call_response_hook(span, call_context, result)
|
223
215
|
|
224
216
|
return result
|
@@ -99,13 +99,13 @@ class _OpInvoke(_LambdaOperation):
|
|
99
99
|
# Lambda extension
|
100
100
|
################################################################################
|
101
101
|
|
102
|
-
_OPERATION_MAPPING = {
|
102
|
+
_OPERATION_MAPPING: Dict[str, _LambdaOperation] = {
|
103
103
|
op.operation_name(): op
|
104
104
|
for op in globals().values()
|
105
105
|
if inspect.isclass(op)
|
106
106
|
and issubclass(op, _LambdaOperation)
|
107
107
|
and not inspect.isabstract(op)
|
108
|
-
}
|
108
|
+
}
|
109
109
|
|
110
110
|
|
111
111
|
class _LambdaExtension(_AwsSdkExtension):
|
@@ -82,7 +82,9 @@ class _OpPublish(_SnsOperation):
|
|
82
82
|
attributes[SpanAttributes.MESSAGING_DESTINATION] = destination_name
|
83
83
|
|
84
84
|
# TODO: Use SpanAttributes.MESSAGING_DESTINATION_NAME when opentelemetry-semantic-conventions 0.42b0 is released
|
85
|
-
attributes["messaging.destination.name"] = cls._extract_input_arn(
|
85
|
+
attributes["messaging.destination.name"] = cls._extract_input_arn(
|
86
|
+
call_context
|
87
|
+
)
|
86
88
|
call_context.span_name = (
|
87
89
|
f"{'phone_number' if is_phone_number else destination_name} send"
|
88
90
|
)
|
@@ -141,13 +143,13 @@ class _OpPublishBatch(_OpPublish):
|
|
141
143
|
# SNS extension
|
142
144
|
################################################################################
|
143
145
|
|
144
|
-
_OPERATION_MAPPING = {
|
146
|
+
_OPERATION_MAPPING: Dict[str, _SnsOperation] = {
|
145
147
|
op.operation_name(): op
|
146
148
|
for op in globals().values()
|
147
149
|
if inspect.isclass(op)
|
148
150
|
and issubclass(op, _SnsOperation)
|
149
151
|
and not inspect.isabstract(op)
|
150
|
-
}
|
152
|
+
}
|
151
153
|
|
152
154
|
|
153
155
|
class _SnsExtension(_AwsSdkExtension):
|
@@ -57,23 +57,21 @@ class _AwsSdkCallContext:
|
|
57
57
|
boto_meta = client.meta
|
58
58
|
service_model = boto_meta.service_model
|
59
59
|
|
60
|
-
self.service = service_model.service_name.lower()
|
61
|
-
self.operation = operation
|
62
|
-
self.params = params
|
60
|
+
self.service = service_model.service_name.lower()
|
61
|
+
self.operation = operation
|
62
|
+
self.params = params
|
63
63
|
|
64
64
|
# 'operation' and 'service' are essential for instrumentation.
|
65
65
|
# for all other attributes we extract them defensively. All of them should
|
66
66
|
# usually exist unless some future botocore version moved things.
|
67
|
-
self.region = self._get_attr(
|
68
|
-
|
69
|
-
) # type: Optional[str]
|
70
|
-
self.endpoint_url = self._get_attr(
|
67
|
+
self.region: Optional[str] = self._get_attr(boto_meta, "region_name")
|
68
|
+
self.endpoint_url: Optional[str] = self._get_attr(
|
71
69
|
boto_meta, "endpoint_url"
|
72
|
-
)
|
70
|
+
)
|
73
71
|
|
74
|
-
self.api_version = self._get_attr(
|
72
|
+
self.api_version: Optional[str] = self._get_attr(
|
75
73
|
service_model, "api_version"
|
76
|
-
)
|
74
|
+
)
|
77
75
|
# name of the service in proper casing
|
78
76
|
self.service_id = str(
|
79
77
|
self._get_attr(service_model, "service_id", self.service)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: opentelemetry-instrumentation-botocore
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.44b0
|
4
4
|
Summary: OpenTelemetry Botocore instrumentation
|
5
5
|
Project-URL: Homepage, https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-botocore
|
6
6
|
Author-email: OpenTelemetry Authors <cncf-opentelemetry-contributors@lists.cncf.io>
|
@@ -11,23 +11,23 @@ Classifier: Intended Audience :: Developers
|
|
11
11
|
Classifier: License :: OSI Approved :: Apache Software License
|
12
12
|
Classifier: Programming Language :: Python
|
13
13
|
Classifier: Programming Language :: Python :: 3
|
14
|
-
Classifier: Programming Language :: Python :: 3.7
|
15
14
|
Classifier: Programming Language :: Python :: 3.8
|
16
15
|
Classifier: Programming Language :: Python :: 3.9
|
17
16
|
Classifier: Programming Language :: Python :: 3.10
|
18
17
|
Classifier: Programming Language :: Python :: 3.11
|
19
|
-
Requires-Python: >=3.
|
18
|
+
Requires-Python: >=3.8
|
20
19
|
Requires-Dist: opentelemetry-api~=1.12
|
21
|
-
Requires-Dist: opentelemetry-instrumentation==0.
|
20
|
+
Requires-Dist: opentelemetry-instrumentation==0.44b0
|
22
21
|
Requires-Dist: opentelemetry-propagator-aws-xray==1.0.1
|
23
|
-
Requires-Dist: opentelemetry-semantic-conventions==0.
|
22
|
+
Requires-Dist: opentelemetry-semantic-conventions==0.44b0
|
24
23
|
Provides-Extra: instruments
|
25
24
|
Requires-Dist: botocore~=1.0; extra == 'instruments'
|
26
25
|
Provides-Extra: test
|
26
|
+
Requires-Dist: botocore<1.31.81,~=1.0; extra == 'test'
|
27
27
|
Requires-Dist: markupsafe==2.0.1; extra == 'test'
|
28
28
|
Requires-Dist: moto[all]~=2.2.6; extra == 'test'
|
29
29
|
Requires-Dist: opentelemetry-instrumentation-botocore[instruments]; extra == 'test'
|
30
|
-
Requires-Dist: opentelemetry-test-utils==0.
|
30
|
+
Requires-Dist: opentelemetry-test-utils==0.44b0; extra == 'test'
|
31
31
|
Description-Content-Type: text/x-rst
|
32
32
|
|
33
33
|
OpenTelemetry Botocore Tracing
|
@@ -0,0 +1,15 @@
|
|
1
|
+
opentelemetry/instrumentation/botocore/__init__.py,sha256=qdbOH9jYnG-ZZ9dpVnsVSJuaoTDcto3okjd950mhvzA,10222
|
2
|
+
opentelemetry/instrumentation/botocore/package.py,sha256=6xvfRpU_C3wlSO6pto7MhGtkPoCHDEiRO_Fh4DiC_50,622
|
3
|
+
opentelemetry/instrumentation/botocore/version.py,sha256=19mImFBLq6Vm8J2PHjFLnLCfNeBJuW5hSl2zbot4J5I,608
|
4
|
+
opentelemetry/instrumentation/botocore/extensions/__init__.py,sha256=nQGZ4Clq4d2eIeDK6v0IqQVJ6SIIBpzm57DJGXgL9TA,1665
|
5
|
+
opentelemetry/instrumentation/botocore/extensions/_messaging.py,sha256=VqNJGE-6fEA-96q97tlKXL3Iros8H9tBxFoy_i2LP1Y,1635
|
6
|
+
opentelemetry/instrumentation/botocore/extensions/dynamodb.py,sha256=BA-zoY-Cr878t5Q3pYS3r1PKAd4FFBtdTCXZLoC3tLE,13554
|
7
|
+
opentelemetry/instrumentation/botocore/extensions/lmbd.py,sha256=Lk3AoGiMNfYiHbfp16A5UXYgpoOgo0sNuuEYJN3QDSo,4151
|
8
|
+
opentelemetry/instrumentation/botocore/extensions/sns.py,sha256=zlvw25Z8UfaXyangAu_2nVvXHRGGPWrd0WbmJTk3cRM,5358
|
9
|
+
opentelemetry/instrumentation/botocore/extensions/sqs.py,sha256=F0spQ9P4HmhW4pwldFoAIC9mt9Q7Rad3-0h9lGE0Nac,2789
|
10
|
+
opentelemetry/instrumentation/botocore/extensions/types.py,sha256=JWSXOP3KC6WRXbWG4EQczDDjaYhpq2HzTisUZn9e0m4,4857
|
11
|
+
opentelemetry_instrumentation_botocore-0.44b0.dist-info/METADATA,sha256=4X7XXsqGwZyEaBFm92WoWWGnZbMXAdaZnfmH3b8fsWA,2258
|
12
|
+
opentelemetry_instrumentation_botocore-0.44b0.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
|
13
|
+
opentelemetry_instrumentation_botocore-0.44b0.dist-info/entry_points.txt,sha256=v5hzQbZMJ61JuhBNq5jHYAapvv3C_486h9CTqxlkUTM,100
|
14
|
+
opentelemetry_instrumentation_botocore-0.44b0.dist-info/licenses/LICENSE,sha256=h8jwqxShIeVkc8vOo9ynxGYW16f4fVPxLhZKZs0H5U8,11350
|
15
|
+
opentelemetry_instrumentation_botocore-0.44b0.dist-info/RECORD,,
|
@@ -1,15 +0,0 @@
|
|
1
|
-
opentelemetry/instrumentation/botocore/__init__.py,sha256=Ke6-ksTwnV_uUF3UmkzoDIC39_spSWGh4SlIu5yDGuI,10507
|
2
|
-
opentelemetry/instrumentation/botocore/package.py,sha256=6xvfRpU_C3wlSO6pto7MhGtkPoCHDEiRO_Fh4DiC_50,622
|
3
|
-
opentelemetry/instrumentation/botocore/version.py,sha256=Qmz6PKJoEeD8yuxjT2ts28U3I0PoIptGyb5gXaFDP-I,608
|
4
|
-
opentelemetry/instrumentation/botocore/extensions/__init__.py,sha256=nQGZ4Clq4d2eIeDK6v0IqQVJ6SIIBpzm57DJGXgL9TA,1665
|
5
|
-
opentelemetry/instrumentation/botocore/extensions/_messaging.py,sha256=VqNJGE-6fEA-96q97tlKXL3Iros8H9tBxFoy_i2LP1Y,1635
|
6
|
-
opentelemetry/instrumentation/botocore/extensions/dynamodb.py,sha256=Dz50Orrdlj4cb6p5URX3OJJooGhQKdhm7tDDgwSQqkA,13523
|
7
|
-
opentelemetry/instrumentation/botocore/extensions/lmbd.py,sha256=1ImTjvzzvX71h94TykZxMkrwIbnnVFii3u7VPQ0k21w,4159
|
8
|
-
opentelemetry/instrumentation/botocore/extensions/sns.py,sha256=5I-ePfNp2uy6N7rhnQTUhbG1g4TEs_fz64rfPTBpTMU,5344
|
9
|
-
opentelemetry/instrumentation/botocore/extensions/sqs.py,sha256=F0spQ9P4HmhW4pwldFoAIC9mt9Q7Rad3-0h9lGE0Nac,2789
|
10
|
-
opentelemetry/instrumentation/botocore/extensions/types.py,sha256=mIK1fKhdi_E_9NPfgDjPGwUJQ7ffrbZNl_W-3XgABs0,4953
|
11
|
-
opentelemetry_instrumentation_botocore-0.42b0.dist-info/METADATA,sha256=ixSyFu9-T9w06trRnLKLvf-uOL7BH38MivW324DJGTg,2253
|
12
|
-
opentelemetry_instrumentation_botocore-0.42b0.dist-info/WHEEL,sha256=KGYbc1zXlYddvwxnNty23BeaKzh7YuoSIvIMO4jEhvw,87
|
13
|
-
opentelemetry_instrumentation_botocore-0.42b0.dist-info/entry_points.txt,sha256=v5hzQbZMJ61JuhBNq5jHYAapvv3C_486h9CTqxlkUTM,100
|
14
|
-
opentelemetry_instrumentation_botocore-0.42b0.dist-info/licenses/LICENSE,sha256=h8jwqxShIeVkc8vOo9ynxGYW16f4fVPxLhZKZs0H5U8,11350
|
15
|
-
opentelemetry_instrumentation_botocore-0.42b0.dist-info/RECORD,,
|
File without changes
|