Skip to content

Commit c42d1b6

Browse files
authored
Bump OTel Dependency Versions to 1.33.1/0.54b1 (#399)
## What does this pull request do? This reverts commit a538775 to re-apply the OTel dependency update in our ADOT SDK since the root cause of the failing contract tests was fixed: #398. We also bump the OTel dependency version to sync with our ADOT SDK bump. This solves the issue of our contract tests not catching version bump issues in the PR build. By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.
1 parent f7cd7b6 commit c42d1b6

24 files changed

+287
-638
lines changed

aws-opentelemetry-distro/pyproject.toml

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -24,62 +24,62 @@ classifiers = [
2424
]
2525

2626
dependencies = [
27-
"opentelemetry-api == 1.27.0",
28-
"opentelemetry-sdk == 1.27.0",
29-
"opentelemetry-exporter-otlp-proto-grpc == 1.27.0",
30-
"opentelemetry-exporter-otlp-proto-http == 1.27.0",
31-
"opentelemetry-propagator-b3 == 1.27.0",
32-
"opentelemetry-propagator-jaeger == 1.27.0",
33-
"opentelemetry-exporter-otlp-proto-common == 1.27.0",
27+
"opentelemetry-api == 1.33.1",
28+
"opentelemetry-sdk == 1.33.1",
29+
"opentelemetry-exporter-otlp-proto-grpc == 1.33.1",
30+
"opentelemetry-exporter-otlp-proto-http == 1.33.1",
31+
"opentelemetry-propagator-b3 == 1.33.1",
32+
"opentelemetry-propagator-jaeger == 1.33.1",
33+
"opentelemetry-exporter-otlp-proto-common == 1.33.1",
3434
"opentelemetry-sdk-extension-aws == 2.0.2",
3535
"opentelemetry-propagator-aws-xray == 1.0.1",
36-
"opentelemetry-distro == 0.48b0",
37-
"opentelemetry-processor-baggage == 0.48b0",
38-
"opentelemetry-propagator-ot-trace == 0.48b0",
39-
"opentelemetry-instrumentation == 0.48b0",
40-
"opentelemetry-instrumentation-aws-lambda == 0.48b0",
41-
"opentelemetry-instrumentation-aio-pika == 0.48b0",
42-
"opentelemetry-instrumentation-aiohttp-client == 0.48b0",
43-
"opentelemetry-instrumentation-aiopg == 0.48b0",
44-
"opentelemetry-instrumentation-asgi == 0.48b0",
45-
"opentelemetry-instrumentation-asyncpg == 0.48b0",
46-
"opentelemetry-instrumentation-boto == 0.48b0",
47-
"opentelemetry-instrumentation-boto3sqs == 0.48b0",
48-
"opentelemetry-instrumentation-botocore == 0.48b0",
49-
"opentelemetry-instrumentation-celery == 0.48b0",
50-
"opentelemetry-instrumentation-confluent-kafka == 0.48b0",
51-
"opentelemetry-instrumentation-dbapi == 0.48b0",
52-
"opentelemetry-instrumentation-django == 0.48b0",
53-
"opentelemetry-instrumentation-elasticsearch == 0.48b0",
54-
"opentelemetry-instrumentation-falcon == 0.48b0",
55-
"opentelemetry-instrumentation-fastapi == 0.48b0",
56-
"opentelemetry-instrumentation-flask == 0.48b0",
57-
"opentelemetry-instrumentation-grpc == 0.48b0",
58-
"opentelemetry-instrumentation-httpx == 0.48b0",
59-
"opentelemetry-instrumentation-jinja2 == 0.48b0",
60-
"opentelemetry-instrumentation-kafka-python == 0.48b0",
61-
"opentelemetry-instrumentation-logging == 0.48b0",
62-
"opentelemetry-instrumentation-mysql == 0.48b0",
63-
"opentelemetry-instrumentation-mysqlclient == 0.48b0",
64-
"opentelemetry-instrumentation-pika == 0.48b0",
65-
"opentelemetry-instrumentation-psycopg2 == 0.48b0",
66-
"opentelemetry-instrumentation-pymemcache == 0.48b0",
67-
"opentelemetry-instrumentation-pymongo == 0.48b0",
68-
"opentelemetry-instrumentation-pymysql == 0.48b0",
69-
"opentelemetry-instrumentation-pyramid == 0.48b0",
70-
"opentelemetry-instrumentation-redis == 0.48b0",
71-
"opentelemetry-instrumentation-remoulade == 0.48b0",
72-
"opentelemetry-instrumentation-requests == 0.48b0",
73-
"opentelemetry-instrumentation-sqlalchemy == 0.48b0",
74-
"opentelemetry-instrumentation-sqlite3 == 0.48b0",
75-
"opentelemetry-instrumentation-starlette == 0.48b0",
76-
"opentelemetry-instrumentation-system-metrics == 0.48b0",
77-
"opentelemetry-instrumentation-tornado == 0.48b0",
78-
"opentelemetry-instrumentation-tortoiseorm == 0.48b0",
79-
"opentelemetry-instrumentation-urllib == 0.48b0",
80-
"opentelemetry-instrumentation-urllib3 == 0.48b0",
81-
"opentelemetry-instrumentation-wsgi == 0.48b0",
82-
"opentelemetry-instrumentation-cassandra == 0.48b0",
36+
"opentelemetry-distro == 0.54b1",
37+
"opentelemetry-processor-baggage == 0.54b1",
38+
"opentelemetry-propagator-ot-trace == 0.54b1",
39+
"opentelemetry-instrumentation == 0.54b1",
40+
"opentelemetry-instrumentation-aws-lambda == 0.54b1",
41+
"opentelemetry-instrumentation-aio-pika == 0.54b1",
42+
"opentelemetry-instrumentation-aiohttp-client == 0.54b1",
43+
"opentelemetry-instrumentation-aiopg == 0.54b1",
44+
"opentelemetry-instrumentation-asgi == 0.54b1",
45+
"opentelemetry-instrumentation-asyncpg == 0.54b1",
46+
"opentelemetry-instrumentation-boto == 0.54b1",
47+
"opentelemetry-instrumentation-boto3sqs == 0.54b1",
48+
"opentelemetry-instrumentation-botocore == 0.54b1",
49+
"opentelemetry-instrumentation-celery == 0.54b1",
50+
"opentelemetry-instrumentation-confluent-kafka == 0.54b1",
51+
"opentelemetry-instrumentation-dbapi == 0.54b1",
52+
"opentelemetry-instrumentation-django == 0.54b1",
53+
"opentelemetry-instrumentation-elasticsearch == 0.54b1",
54+
"opentelemetry-instrumentation-falcon == 0.54b1",
55+
"opentelemetry-instrumentation-fastapi == 0.54b1",
56+
"opentelemetry-instrumentation-flask == 0.54b1",
57+
"opentelemetry-instrumentation-grpc == 0.54b1",
58+
"opentelemetry-instrumentation-httpx == 0.54b1",
59+
"opentelemetry-instrumentation-jinja2 == 0.54b1",
60+
"opentelemetry-instrumentation-kafka-python == 0.54b1",
61+
"opentelemetry-instrumentation-logging == 0.54b1",
62+
"opentelemetry-instrumentation-mysql == 0.54b1",
63+
"opentelemetry-instrumentation-mysqlclient == 0.54b1",
64+
"opentelemetry-instrumentation-pika == 0.54b1",
65+
"opentelemetry-instrumentation-psycopg2 == 0.54b1",
66+
"opentelemetry-instrumentation-pymemcache == 0.54b1",
67+
"opentelemetry-instrumentation-pymongo == 0.54b1",
68+
"opentelemetry-instrumentation-pymysql == 0.54b1",
69+
"opentelemetry-instrumentation-pyramid == 0.54b1",
70+
"opentelemetry-instrumentation-redis == 0.54b1",
71+
"opentelemetry-instrumentation-remoulade == 0.54b1",
72+
"opentelemetry-instrumentation-requests == 0.54b1",
73+
"opentelemetry-instrumentation-sqlalchemy == 0.54b1",
74+
"opentelemetry-instrumentation-sqlite3 == 0.54b1",
75+
"opentelemetry-instrumentation-starlette == 0.54b1",
76+
"opentelemetry-instrumentation-system-metrics == 0.54b1",
77+
"opentelemetry-instrumentation-tornado == 0.54b1",
78+
"opentelemetry-instrumentation-tortoiseorm == 0.54b1",
79+
"opentelemetry-instrumentation-urllib == 0.54b1",
80+
"opentelemetry-instrumentation-urllib3 == 0.54b1",
81+
"opentelemetry-instrumentation-wsgi == 0.54b1",
82+
"opentelemetry-instrumentation-cassandra == 0.54b1",
8383
]
8484

8585
[project.optional-dependencies]

aws-opentelemetry-distro/src/amazon/opentelemetry/distro/_aws_metric_attribute_generator.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
)
3636
from amazon.opentelemetry.distro._aws_resource_attribute_configurator import get_service_attribute
3737
from amazon.opentelemetry.distro._aws_span_processing_util import (
38-
GEN_AI_REQUEST_MODEL,
3938
LOCAL_ROOT,
4039
MAX_KEYWORD_LENGTH,
4140
SQL_KEYWORD_PATTERN,
@@ -60,6 +59,7 @@
6059
from amazon.opentelemetry.distro.sqs_url_parser import SqsUrlParser
6160
from opentelemetry.sdk.resources import Resource
6261
from opentelemetry.sdk.trace import BoundedAttributes, ReadableSpan
62+
from opentelemetry.semconv._incubating.attributes.gen_ai_attributes import GEN_AI_REQUEST_MODEL
6363
from opentelemetry.semconv.trace import SpanAttributes
6464

6565
# Pertinent OTEL attribute keys

aws-opentelemetry-distro/src/amazon/opentelemetry/distro/_aws_span_processing_util.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -26,16 +26,6 @@
2626
# Max keyword length supported by parsing into remote_operation from DB_STATEMENT
2727
MAX_KEYWORD_LENGTH = 27
2828

29-
# TODO: Use Semantic Conventions once upgrade to 0.47b0
30-
GEN_AI_REQUEST_MODEL: str = "gen_ai.request.model"
31-
GEN_AI_SYSTEM: str = "gen_ai.system"
32-
GEN_AI_REQUEST_MAX_TOKENS: str = "gen_ai.request.max_tokens"
33-
GEN_AI_REQUEST_TEMPERATURE: str = "gen_ai.request.temperature"
34-
GEN_AI_REQUEST_TOP_P: str = "gen_ai.request.top_p"
35-
GEN_AI_RESPONSE_FINISH_REASONS: str = "gen_ai.response.finish_reasons"
36-
GEN_AI_USAGE_INPUT_TOKENS: str = "gen_ai.usage.input_tokens"
37-
GEN_AI_USAGE_OUTPUT_TOKENS: str = "gen_ai.usage.output_tokens"
38-
3929

4030
# Get dialect keywords retrieved from dialect_keywords.json file.
4131
# Only meant to be invoked by SQL_KEYWORD_PATTERN and unit tests

aws-opentelemetry-distro/src/amazon/opentelemetry/distro/_utils.py

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
# SPDX-License-Identifier: Apache-2.0
33

44
import os
5-
import sys
5+
from importlib.metadata import PackageNotFoundError, version
66
from logging import Logger, getLogger
77

8-
import pkg_resources
8+
from packaging.requirements import Requirement
99

1010
_logger: Logger = getLogger(__name__)
1111

@@ -14,15 +14,21 @@
1414

1515
def is_installed(req: str) -> bool:
1616
"""Is the given required package installed?"""
17-
18-
if req in sys.modules and sys.modules[req] is not None:
19-
return True
17+
req = Requirement(req)
2018

2119
try:
22-
pkg_resources.get_distribution(req)
23-
except Exception as exc: # pylint: disable=broad-except
20+
dist_version = version(req.name)
21+
except PackageNotFoundError as exc:
2422
_logger.debug("Skipping instrumentation patch: package %s, exception: %s", req, exc)
2523
return False
24+
25+
if not list(req.specifier.filter([dist_version])):
26+
_logger.debug(
27+
"instrumentation for package %s is available but version %s is installed. Skipping.",
28+
req,
29+
dist_version,
30+
)
31+
return False
2632
return True
2733

2834

0 commit comments

Comments
 (0)