Skip to content

Commit 81f2549

Browse files
committed
Merge remote-tracking branch 'origin/mainline' into logs-mainline
2 parents 10d88e3 + c42d1b6 commit 81f2549

File tree

24 files changed

+287
-638
lines changed

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)