diff --git a/aws-opentelemetry-distro/pyproject.toml b/aws-opentelemetry-distro/pyproject.toml index bc98b7a27..e49fffbb0 100644 --- a/aws-opentelemetry-distro/pyproject.toml +++ b/aws-opentelemetry-distro/pyproject.toml @@ -24,61 +24,61 @@ classifiers = [ ] dependencies = [ - "opentelemetry-api == 1.33.0", - "opentelemetry-sdk == 1.33.0", - "opentelemetry-exporter-otlp-proto-grpc == 1.33.0", - "opentelemetry-exporter-otlp-proto-http == 1.33.0", - "opentelemetry-propagator-b3 == 1.33.0", - "opentelemetry-propagator-jaeger == 1.33.0", - "opentelemetry-exporter-otlp-proto-common == 1.33.0", + "opentelemetry-api == 1.27.0", + "opentelemetry-sdk == 1.27.0", + "opentelemetry-exporter-otlp-proto-grpc == 1.27.0", + "opentelemetry-exporter-otlp-proto-http == 1.27.0", + "opentelemetry-propagator-b3 == 1.27.0", + "opentelemetry-propagator-jaeger == 1.27.0", + "opentelemetry-exporter-otlp-proto-common == 1.27.0", "opentelemetry-sdk-extension-aws == 2.0.2", "opentelemetry-propagator-aws-xray == 1.0.1", - "opentelemetry-distro == 0.54b0", - "opentelemetry-propagator-ot-trace == 0.54b0", - "opentelemetry-instrumentation == 0.54b0", - "opentelemetry-instrumentation-aws-lambda == 0.54b0", - "opentelemetry-instrumentation-aio-pika == 0.54b0", - "opentelemetry-instrumentation-aiohttp-client == 0.54b0", - "opentelemetry-instrumentation-aiopg == 0.54b0", - "opentelemetry-instrumentation-asgi == 0.54b0", - "opentelemetry-instrumentation-asyncpg == 0.54b0", - "opentelemetry-instrumentation-boto == 0.54b0", - "opentelemetry-instrumentation-boto3sqs == 0.54b0", - "opentelemetry-instrumentation-botocore == 0.54b0", - "opentelemetry-instrumentation-celery == 0.54b0", - "opentelemetry-instrumentation-confluent-kafka == 0.54b0", - "opentelemetry-instrumentation-dbapi == 0.54b0", - "opentelemetry-instrumentation-django == 0.54b0", - "opentelemetry-instrumentation-elasticsearch == 0.54b0", - "opentelemetry-instrumentation-falcon == 0.54b0", - "opentelemetry-instrumentation-fastapi == 0.54b0", - "opentelemetry-instrumentation-flask == 0.54b0", - "opentelemetry-instrumentation-grpc == 0.54b0", - "opentelemetry-instrumentation-httpx == 0.54b0", - "opentelemetry-instrumentation-jinja2 == 0.54b0", - "opentelemetry-instrumentation-kafka-python == 0.54b0", - "opentelemetry-instrumentation-logging == 0.54b0", - "opentelemetry-instrumentation-mysql == 0.54b0", - "opentelemetry-instrumentation-mysqlclient == 0.54b0", - "opentelemetry-instrumentation-pika == 0.54b0", - "opentelemetry-instrumentation-psycopg2 == 0.54b0", - "opentelemetry-instrumentation-pymemcache == 0.54b0", - "opentelemetry-instrumentation-pymongo == 0.54b0", - "opentelemetry-instrumentation-pymysql == 0.54b0", - "opentelemetry-instrumentation-pyramid == 0.54b0", - "opentelemetry-instrumentation-redis == 0.54b0", - "opentelemetry-instrumentation-remoulade == 0.54b0", - "opentelemetry-instrumentation-requests == 0.54b0", - "opentelemetry-instrumentation-sqlalchemy == 0.54b0", - "opentelemetry-instrumentation-sqlite3 == 0.54b0", - "opentelemetry-instrumentation-starlette == 0.54b0", - "opentelemetry-instrumentation-system-metrics == 0.54b0", - "opentelemetry-instrumentation-tornado == 0.54b0", - "opentelemetry-instrumentation-tortoiseorm == 0.54b0", - "opentelemetry-instrumentation-urllib == 0.54b0", - "opentelemetry-instrumentation-urllib3 == 0.54b0", - "opentelemetry-instrumentation-wsgi == 0.54b0", - "opentelemetry-instrumentation-cassandra == 0.54b0", + "opentelemetry-distro == 0.48b0", + "opentelemetry-propagator-ot-trace == 0.48b0", + "opentelemetry-instrumentation == 0.48b0", + "opentelemetry-instrumentation-aws-lambda == 0.48b0", + "opentelemetry-instrumentation-aio-pika == 0.48b0", + "opentelemetry-instrumentation-aiohttp-client == 0.48b0", + "opentelemetry-instrumentation-aiopg == 0.48b0", + "opentelemetry-instrumentation-asgi == 0.48b0", + "opentelemetry-instrumentation-asyncpg == 0.48b0", + "opentelemetry-instrumentation-boto == 0.48b0", + "opentelemetry-instrumentation-boto3sqs == 0.48b0", + "opentelemetry-instrumentation-botocore == 0.48b0", + "opentelemetry-instrumentation-celery == 0.48b0", + "opentelemetry-instrumentation-confluent-kafka == 0.48b0", + "opentelemetry-instrumentation-dbapi == 0.48b0", + "opentelemetry-instrumentation-django == 0.48b0", + "opentelemetry-instrumentation-elasticsearch == 0.48b0", + "opentelemetry-instrumentation-falcon == 0.48b0", + "opentelemetry-instrumentation-fastapi == 0.48b0", + "opentelemetry-instrumentation-flask == 0.48b0", + "opentelemetry-instrumentation-grpc == 0.48b0", + "opentelemetry-instrumentation-httpx == 0.48b0", + "opentelemetry-instrumentation-jinja2 == 0.48b0", + "opentelemetry-instrumentation-kafka-python == 0.48b0", + "opentelemetry-instrumentation-logging == 0.48b0", + "opentelemetry-instrumentation-mysql == 0.48b0", + "opentelemetry-instrumentation-mysqlclient == 0.48b0", + "opentelemetry-instrumentation-pika == 0.48b0", + "opentelemetry-instrumentation-psycopg2 == 0.48b0", + "opentelemetry-instrumentation-pymemcache == 0.48b0", + "opentelemetry-instrumentation-pymongo == 0.48b0", + "opentelemetry-instrumentation-pymysql == 0.48b0", + "opentelemetry-instrumentation-pyramid == 0.48b0", + "opentelemetry-instrumentation-redis == 0.48b0", + "opentelemetry-instrumentation-remoulade == 0.48b0", + "opentelemetry-instrumentation-requests == 0.48b0", + "opentelemetry-instrumentation-sqlalchemy == 0.48b0", + "opentelemetry-instrumentation-sqlite3 == 0.48b0", + "opentelemetry-instrumentation-starlette == 0.48b0", + "opentelemetry-instrumentation-system-metrics == 0.48b0", + "opentelemetry-instrumentation-tornado == 0.48b0", + "opentelemetry-instrumentation-tortoiseorm == 0.48b0", + "opentelemetry-instrumentation-urllib == 0.48b0", + "opentelemetry-instrumentation-urllib3 == 0.48b0", + "opentelemetry-instrumentation-wsgi == 0.48b0", + "opentelemetry-instrumentation-cassandra == 0.48b0", ] [project.optional-dependencies] diff --git a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/patches/_bedrock_patches.py b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/patches/_bedrock_patches.py index d8c241ede..a25e55330 100644 --- a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/patches/_bedrock_patches.py +++ b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/patches/_bedrock_patches.py @@ -31,7 +31,6 @@ _AttributeMapT, _AwsSdkCallContext, _AwsSdkExtension, - _BotocoreInstrumentorContext, _BotoResultT, ) from opentelemetry.trace.span import Span @@ -193,7 +192,7 @@ def extract_attributes(self, attributes: _AttributeMapT): if request_param_value: attributes[attribute_key] = request_param_value - def on_success(self, span: Span, result: _BotoResultT, instrumentor_context: _BotocoreInstrumentorContext): + def on_success(self, span: Span, result: _BotoResultT): if self._operation_class is None: return @@ -230,7 +229,7 @@ class _BedrockExtension(_AwsSdkExtension): """ # pylint: disable=no-self-use - def on_success(self, span: Span, result: _BotoResultT, instrumentor_context: _BotocoreInstrumentorContext): + def on_success(self, span: Span, result: _BotoResultT): # _GUARDRAIL_ID can only be retrieved from the response, not from the request guardrail_id = result.get(_GUARDRAIL_ID) if guardrail_id: @@ -334,7 +333,7 @@ def _set_if_not_none(attributes, key, value): attributes[key] = value # pylint: disable=too-many-branches - def on_success(self, span: Span, result: Dict[str, Any], instrumentor_context: _BotocoreInstrumentorContext): + def on_success(self, span: Span, result: Dict[str, Any]): model_id = self._call_context.params.get(_MODEL_ID) if not model_id: diff --git a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/patches/_botocore_patches.py b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/patches/_botocore_patches.py index 3cea9146f..0f4a77d1e 100644 --- a/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/patches/_botocore_patches.py +++ b/aws-opentelemetry-distro/src/amazon/opentelemetry/distro/patches/_botocore_patches.py @@ -25,12 +25,7 @@ from opentelemetry.instrumentation.botocore.extensions.lmbd import _LambdaExtension from opentelemetry.instrumentation.botocore.extensions.sns import _SnsExtension from opentelemetry.instrumentation.botocore.extensions.sqs import _SqsExtension -from opentelemetry.instrumentation.botocore.extensions.types import ( - _AttributeMapT, - _AwsSdkExtension, - _BotocoreInstrumentorContext, - _BotoResultT, -) +from opentelemetry.instrumentation.botocore.extensions.types import _AttributeMapT, _AwsSdkExtension, _BotoResultT from opentelemetry.semconv.trace import SpanAttributes from opentelemetry.trace.span import Span @@ -80,8 +75,8 @@ def patch_extract_attributes(self, attributes: _AttributeMapT): old_on_success = _LambdaExtension.on_success - def patch_on_success(self, span: Span, result: _BotoResultT, instrumentor_context: _BotocoreInstrumentorContext): - old_on_success(self, span, result, instrumentor_context) + def patch_on_success(self, span: Span, result: _BotoResultT): + old_on_success(self, span, result) lambda_configuration = result.get("Configuration", {}) function_arn = lambda_configuration.get("FunctionArn") if function_arn: @@ -185,8 +180,8 @@ def patch_extract_attributes(self, attributes: _AttributeMapT): old_on_success = _SqsExtension.on_success - def patch_on_success(self, span: Span, result: _BotoResultT, instrumentor_context: _BotocoreInstrumentorContext): - old_on_success(self, span, result, instrumentor_context) + def patch_on_success(self, span: Span, result: _BotoResultT): + old_on_success(self, span, result) queue_url = result.get("QueueUrl") if queue_url: span.set_attribute(AWS_SQS_QUEUE_URL, queue_url) @@ -248,7 +243,7 @@ def extract_attributes(self, attributes: _AttributeMapT): attributes[AWS_SECRETSMANAGER_SECRET_ARN] = secret_id # pylint: disable=no-self-use - def on_success(self, span: Span, result: _BotoResultT, instrumentor_context: _BotocoreInstrumentorContext): + def on_success(self, span: Span, result: _BotoResultT): secret_arn = result.get("ARN") if secret_arn: span.set_attribute(AWS_SECRETSMANAGER_SECRET_ARN, secret_arn) diff --git a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_instrumentation_patch.py b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_instrumentation_patch.py index 7b62cfb49..87e6c4810 100644 --- a/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_instrumentation_patch.py +++ b/aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/test_instrumentation_patch.py @@ -147,7 +147,7 @@ def _test_unpatched_botocore_instrumentation(self): ) # BedrockRuntime - self.assertTrue("bedrock-runtime" in _KNOWN_EXTENSIONS, "Upstream has added a bedrock-runtime extension") + self.assertFalse("bedrock-runtime" in _KNOWN_EXTENSIONS, "Upstream has added a bedrock-runtime extension") # SecretsManager self.assertFalse("secretsmanager" in _KNOWN_EXTENSIONS, "Upstream has added a SecretsManager extension") @@ -678,7 +678,6 @@ def _do_on_success( ) -> Dict[str, str]: span_mock: Span = MagicMock() mock_call_context = MagicMock() - mock_instrumentor_context = MagicMock() span_attributes: Dict[str, str] = {} def set_side_effect(set_key, set_value): @@ -693,6 +692,6 @@ def set_side_effect(set_key, set_value): mock_call_context.params = params extension = _KNOWN_EXTENSIONS[service_name]()(mock_call_context) - extension.on_success(span_mock, result, mock_instrumentor_context) + extension.on_success(span_mock, result) return span_attributes