Skip to content

Commit d3b22ba

Browse files
authored
Bump ADOT Python version to 0.13.0 and OTel dependencies to 1.37.0/0.58b0 (#524)
This PR updates the upstream OpenTelemetry Python dependency to its September 2025 release; Upgrading from version 1.33.1/0.54b1 to 1.37.0/0.58b0. It also resolves several conflicts between the following OTel PRs and existing ADOT patches: starlette: Remove maximum version constraint open-telemetry/opentelemetry-python-contrib#3456 Make a BatchProcessor class which both BatchSpanRecordProcessor and BatchLogRecordProcessor can use open-telemetry/opentelemetry-python#4562 Make exporter timeout encompass retries/backoffs, add jitter to backoffs, cleanup code a bit open-telemetry/opentelemetry-python#4564 Update BatchSpanProcessor to use new BatchProcessor class open-telemetry/opentelemetry-python#4580 Fix issue where deadlock can occur over logging._lock open-telemetry/opentelemetry-python#4636 Tests Performed tox -e lint tox -e spellcheck tox -e 3.9-test-aws-opentelemetry-distro tox -e 3.10-test-aws-opentelemetry-distro tox -e 3.11-test-aws-opentelemetry-distro tox -e 3.12-test-aws-opentelemetry-distro tox -e 3.13-test-aws-opentelemetry-distro Smoke/contract tests: ./gradlew appsignals-tests:contract-tests:contractTests 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 387441e commit d3b22ba

File tree

23 files changed

+127
-123
lines changed

23 files changed

+127
-123
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,5 @@ If your change does not need a CHANGELOG entry, add the "skip changelog" label t
1919
([#501](https://github.com/aws-observability/aws-otel-python-instrumentation/pull/501))
2020
- Fix Gevent patch regression with correct import order
2121
([#522](https://github.com/aws-observability/aws-otel-python-instrumentation/pull/522))
22+
- Bump ADOT Python version to 0.13.0 and OTel dependencies to 1.37.0/0.58b0
23+
([#524](https://github.com/aws-observability/aws-otel-python-instrumentation/pull/524))

aws-opentelemetry-distro/pyproject.toml

Lines changed: 55 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -26,63 +26,63 @@ classifiers = [
2626
]
2727

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

8888
[project.optional-dependencies]

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

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212

1313

1414
class BatchUnsampledSpanProcessor(BaseBatchSpanProcessor):
15+
def __init__(self, *args, **kwargs):
16+
super().__init__(*args, **kwargs)
17+
self._spans_dropped = False
1518

1619
# pylint: disable=no-self-use
1720
def on_start(self, span: Span, parent_context: Optional[Context] = None) -> None:
@@ -22,19 +25,18 @@ def on_end(self, span: ReadableSpan) -> None:
2225
if span.context.trace_flags.sampled:
2326
return
2427

25-
if self.done:
28+
if self._batch_processor._shutdown:
2629
logger.warning("Already shutdown, dropping span.")
2730
return
2831

29-
if len(self.queue) == self.max_queue_size:
32+
if len(self._batch_processor._queue) == self._batch_processor._max_queue_size:
3033
# pylint: disable=access-member-before-definition
3134
if not self._spans_dropped:
3235
logger.warning("Queue is full, likely spans will be dropped.")
3336
# pylint: disable=attribute-defined-outside-init
3437
self._spans_dropped = True
3538

36-
self.queue.appendleft(span)
39+
self._batch_processor._queue.appendleft(span)
3740

38-
if len(self.queue) >= self.max_export_batch_size:
39-
with self.condition:
40-
self.condition.notify()
41+
if len(self._batch_processor._queue) >= self._batch_processor._max_export_batch_size:
42+
self._batch_processor._worker_awaken.set()

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
_import_id_generator,
4444
_import_sampler,
4545
_OTelSDKConfigurator,
46-
_patch_basic_config,
46+
_overwrite_logging_config_fns,
4747
)
4848
from opentelemetry.sdk._events import EventLoggerProvider
4949
from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler
@@ -230,11 +230,10 @@ def _init_logging(
230230
set_event_logger_provider(event_logger_provider)
231231

232232
if setup_logging_handler:
233-
_patch_basic_config()
234-
235233
# Add OTel handler
236234
handler = LoggingHandler(level=logging.NOTSET, logger_provider=provider)
237235
logging.getLogger().addHandler(handler)
236+
_overwrite_logging_config_fns(handler)
238237

239238

240239
def _init_tracing(

aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/otlp/aws/logs/_aws_cw_otlp_batch_log_record_processor.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
from amazon.opentelemetry.distro.exporter.otlp.aws.logs.otlp_aws_logs_exporter import OTLPAwsLogExporter
99
from opentelemetry.context import _SUPPRESS_INSTRUMENTATION_KEY, attach, detach, set_value
1010
from opentelemetry.sdk._logs import LogData
11-
from opentelemetry.sdk._logs._internal.export import BatchLogExportStrategy
1211
from opentelemetry.sdk._logs.export import BatchLogRecordProcessor
12+
from opentelemetry.sdk._shared_internal import BatchExportStrategy
1313
from opentelemetry.util.types import AnyValue
1414

1515
_logger = logging.getLogger(__name__)
@@ -89,7 +89,7 @@ def __init__(
8989

9090
self._exporter = exporter
9191

92-
def _export(self, batch_strategy: BatchLogExportStrategy) -> None:
92+
def _export(self, batch_strategy: BatchExportStrategy) -> None:
9393
"""
9494
Explicitly overrides upstream _export method to add AWS CloudWatch size-based batching
9595
See:
@@ -102,20 +102,20 @@ def _export(self, batch_strategy: BatchLogExportStrategy) -> None:
102102
- Estimated data size of exported batches will typically be <= 1 MB except for the case below:
103103
- If the estimated data size of an exported batch is ever > 1 MB then the batch size is guaranteed to be 1
104104
"""
105-
with self._export_lock:
105+
with self._batch_processor._export_lock:
106106
iteration = 0
107107
# We could see concurrent export calls from worker and force_flush. We call _should_export_batch
108108
# once the lock is obtained to see if we still need to make the requested export.
109-
while self._should_export_batch(batch_strategy, iteration):
109+
while self._batch_processor._should_export_batch(batch_strategy, iteration):
110110
iteration += 1
111111
token = attach(set_value(_SUPPRESS_INSTRUMENTATION_KEY, True))
112112
try:
113-
batch_length = min(self._max_export_batch_size, len(self._queue))
113+
batch_length = min(self._batch_processor._max_export_batch_size, len(self._batch_processor._queue))
114114
batch_data_size = 0
115115
batch = []
116116

117117
for _ in range(batch_length):
118-
log_data: LogData = self._queue.pop()
118+
log_data: LogData = self._batch_processor._queue.pop()
119119
log_size = self._estimate_log_size(log_data)
120120

121121
if batch and (batch_data_size + log_size > self._MAX_LOG_REQUEST_BYTE_SIZE):
@@ -252,7 +252,7 @@ def _estimate_utf8_size(s: str):
252252
# https://github.com/open-telemetry/opentelemetry-python/issues/3193
253253
# https://github.com/open-telemetry/opentelemetry-python/blob/main/opentelemetry-sdk/src/opentelemetry/sdk/_shared_internal/__init__.py#L199
254254
def force_flush(self, timeout_millis: Optional[int] = None) -> bool:
255-
if self._shutdown:
255+
if self._batch_processor._shutdown:
256256
return False
257-
self._export(BatchLogExportStrategy.EXPORT_AT_LEAST_ONE_BATCH)
257+
self._export(BatchExportStrategy.EXPORT_AT_LEAST_ONE_BATCH)
258258
return True

aws-opentelemetry-distro/src/amazon/opentelemetry/distro/exporter/otlp/aws/logs/otlp_aws_logs_exporter.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
from amazon.opentelemetry.distro.exporter.otlp.aws.common.aws_auth_session import AwsAuthSession
1919
from opentelemetry.exporter.otlp.proto.common._log_encoder import encode_logs
2020
from opentelemetry.exporter.otlp.proto.http import Compression
21+
from opentelemetry.exporter.otlp.proto.http._common import _is_retryable
2122
from opentelemetry.exporter.otlp.proto.http._log_exporter import OTLPLogExporter
2223
from opentelemetry.sdk._logs import LogData
2324
from opentelemetry.sdk._logs.export import LogExportResult
@@ -171,7 +172,7 @@ def _retryable(resp: Response) -> bool:
171172
"""
172173
# See: https://opentelemetry.io/docs/specs/otlp/#otlphttp-throttling
173174

174-
return resp.status_code in (429, 503) or OTLPLogExporter._retryable(resp)
175+
return resp.status_code in (429, 503) or _is_retryable(resp)
175176

176177
def _get_retry_delay_sec(self, headers: CaseInsensitiveDict, retry_num: int) -> float:
177178
"""
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
__version__ = "0.12.1.dev0"
4+
__version__ = "0.13.0.dev0"

aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/exporter/otlp/aws/logs/test_aws_cw_otlp_batch_log_record_processor.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77

88
from amazon.opentelemetry.distro.exporter.otlp.aws.logs._aws_cw_otlp_batch_log_record_processor import (
99
AwsCloudWatchOtlpBatchLogRecordProcessor,
10-
BatchLogExportStrategy,
1110
)
1211
from opentelemetry._logs.severity import SeverityNumber
1312
from opentelemetry.sdk._logs import LogData, LogRecord
1413
from opentelemetry.sdk._logs.export import LogExportResult
14+
from opentelemetry.sdk._shared_internal import BatchExportStrategy
1515
from opentelemetry.sdk.util.instrumentation import InstrumentationScope
1616
from opentelemetry.trace import TraceFlags
1717
from opentelemetry.util.types import AnyValue
@@ -151,14 +151,14 @@ def test_export_single_batch_under_size_limit(self, _, __, ___):
151151
for log in test_logs:
152152
size = self.processor._estimate_log_size(log)
153153
total_data_size += size
154-
self.processor._queue.appendleft(log)
154+
self.processor._batch_processor._queue.appendleft(log)
155155

156-
self.processor._export(batch_strategy=BatchLogExportStrategy.EXPORT_ALL)
156+
self.processor._export(batch_strategy=BatchExportStrategy.EXPORT_ALL)
157157
args, _ = self.mock_exporter.export.call_args
158158
actual_batch = args[0]
159159

160160
self.assertLess(total_data_size, self.processor._MAX_LOG_REQUEST_BYTE_SIZE)
161-
self.assertEqual(len(self.processor._queue), 0)
161+
self.assertEqual(len(self.processor._batch_processor._queue), 0)
162162
self.assertEqual(len(actual_batch), log_count)
163163
self.mock_exporter.export.assert_called_once()
164164

@@ -175,11 +175,11 @@ def test_export_single_batch_all_logs_over_size_limit(self, _, __, ___):
175175
test_logs = self.generate_test_log_data(log_body=large_log_body, count=15)
176176

177177
for log in test_logs:
178-
self.processor._queue.appendleft(log)
178+
self.processor._batch_processor._queue.appendleft(log)
179179

180-
self.processor._export(batch_strategy=BatchLogExportStrategy.EXPORT_ALL)
180+
self.processor._export(batch_strategy=BatchExportStrategy.EXPORT_ALL)
181181

182-
self.assertEqual(len(self.processor._queue), 0)
182+
self.assertEqual(len(self.processor._batch_processor._queue), 0)
183183
self.assertEqual(self.mock_exporter.export.call_count, len(test_logs))
184184

185185
batches = self.mock_exporter.export.call_args_list
@@ -209,11 +209,11 @@ def test_export_single_batch_some_logs_over_size_limit(self, _, __, ___):
209209
test_logs = large_logs + small_logs
210210

211211
for log in test_logs:
212-
self.processor._queue.appendleft(log)
212+
self.processor._batch_processor._queue.appendleft(log)
213213

214-
self.processor._export(batch_strategy=BatchLogExportStrategy.EXPORT_ALL)
214+
self.processor._export(batch_strategy=BatchExportStrategy.EXPORT_ALL)
215215

216-
self.assertEqual(len(self.processor._queue), 0)
216+
self.assertEqual(len(self.processor._batch_processor._queue), 0)
217217
self.assertEqual(self.mock_exporter.export.call_count, 5)
218218

219219
batches = self.mock_exporter.export.call_args_list
@@ -249,22 +249,22 @@ def test_force_flush_returns_false_when_shutdown(self):
249249
def test_force_flush_exports_only_one_batch(self, _, __, ___):
250250
"""Tests that force_flush should try to at least export one batch of logs. Rest of the logs will be dropped"""
251251
# Set max_export_batch_size to 5 to limit batch size
252-
self.processor._max_export_batch_size = 5
253-
self.processor._shutdown = False
252+
self.processor._batch_processor._max_export_batch_size = 5
253+
self.processor._batch_processor._shutdown = False
254254

255255
# Add 6 logs to queue, after the export there should be 1 log remaining
256256
log_count = 6
257257
test_logs = self.generate_test_log_data(log_body="test message", count=log_count)
258258

259259
for log in test_logs:
260-
self.processor._queue.appendleft(log)
260+
self.processor._batch_processor._queue.appendleft(log)
261261

262-
self.assertEqual(len(self.processor._queue), log_count)
262+
self.assertEqual(len(self.processor._batch_processor._queue), log_count)
263263

264264
result = self.processor.force_flush()
265265

266266
self.assertTrue(result)
267-
self.assertEqual(len(self.processor._queue), 1)
267+
self.assertEqual(len(self.processor._batch_processor._queue), 1)
268268
self.mock_exporter.export.assert_called_once()
269269

270270
# Verify only one batch of 5 logs was exported
@@ -287,18 +287,18 @@ def test_export_handles_exception_gracefully(self, mock_logger, _, __, ___):
287287
# Add logs to queue
288288
test_logs = self.generate_test_log_data(log_body="test message", count=2)
289289
for log in test_logs:
290-
self.processor._queue.appendleft(log)
290+
self.processor._batch_processor._queue.appendleft(log)
291291

292292
# Call _export - should not raise exception
293-
self.processor._export(batch_strategy=BatchLogExportStrategy.EXPORT_ALL)
293+
self.processor._export(batch_strategy=BatchExportStrategy.EXPORT_ALL)
294294

295295
# Verify exception was logged
296296
mock_logger.exception.assert_called_once()
297297
call_args = mock_logger.exception.call_args[0]
298298
self.assertIn("Exception while exporting logs:", call_args[0])
299299

300300
# Queue should be empty even though export failed
301-
self.assertEqual(len(self.processor._queue), 0)
301+
self.assertEqual(len(self.processor._batch_processor._queue), 0)
302302

303303
@patch("amazon.opentelemetry.distro.exporter.otlp.aws.logs._aws_cw_otlp_batch_log_record_processor._logger")
304304
def test_estimate_log_size_debug_logging_on_depth_exceeded(self, mock_logger):
@@ -350,7 +350,7 @@ def test_constructor_with_custom_parameters(self):
350350
self.assertEqual(custom_processor._exporter, self.mock_exporter)
351351

352352
# Verify parameters are passed to parent constructor
353-
self.assertEqual(custom_processor._max_export_batch_size, 100)
353+
self.assertEqual(custom_processor._batch_processor._max_export_batch_size, 100)
354354

355355
@staticmethod
356356
def generate_test_log_data(

aws-opentelemetry-distro/tests/amazon/opentelemetry/distro/patches/test_instrumentation_patch.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ def _test_unpatched_botocore_instrumentation(self):
188188
self.assertTrue("sns" in _KNOWN_EXTENSIONS, "Upstream has removed the SNS extension")
189189

190190
# StepFunctions
191-
self.assertFalse("stepfunctions" in _KNOWN_EXTENSIONS, "Upstream has added a StepFunctions extension")
191+
self.assertTrue("stepfunctions" in _KNOWN_EXTENSIONS, "Upstream has removed the StepFunctions extension")
192192

193193
# Lambda
194194
self.assertTrue("lambda" in _KNOWN_EXTENSIONS, "Upstream has removed the Lambda extension")
@@ -832,7 +832,7 @@ def _test_unpatched_starlette_instrumentation(self):
832832
instrumentor = StarletteInstrumentor()
833833
deps = original_deps(instrumentor)
834834
# Default should have version constraint
835-
self.assertEqual(deps, ("starlette >= 0.13, <0.15",))
835+
self.assertEqual(deps, ("starlette >= 0.13",))
836836
except ImportError:
837837
# If starlette instrumentation is not installed, skip this test
838838
pass

0 commit comments

Comments
 (0)