Skip to content

Commit 880a24b

Browse files
committed
int check for middleware position and updated changelog
1 parent 8fa7905 commit 880a24b

File tree

2 files changed

+12
-5
lines changed
  • instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django

2 files changed

+12
-5
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -379,7 +379,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
379379
- Add optional distro and configurator selection for auto-instrumentation
380380
([#1823](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1823))
381381
- Add option to add Opentelemetry middleware at specific position in middleware chain
382-
([#1903]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/1903)
382+
([#2834]https://github.com/open-telemetry/opentelemetry-python-contrib/pull/2834)
383383

384384
### Added
385385
- `opentelemetry-instrumentation-kafka-python` Add instrumentation to `consume` method

instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/__init__.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -389,16 +389,23 @@ def _instrument(self, **kwargs):
389389
is_sql_commentor_enabled = kwargs.pop("is_sql_commentor_enabled", None)
390390

391391
otel_position = environ.get("OTEL_PYTHON_DJANGO_MIDDLEWARE_POSITION")
392-
middleware_position = int(otel_position) if otel_position is not None else kwargs.pop("middleware_position", 0)
392+
try:
393+
middleware_position = int(otel_position)
394+
except (ValueError, TypeError):
395+
_logger.debug(
396+
"The middleware_position you provided (%s) is not an integer. Defaulting to 0.",
397+
otel_position,
398+
)
399+
middleware_position = kwargs.pop("middleware_position", 0)
393400

394401
if len(settings_middleware) < middleware_position:
395402
_logger.debug(
396-
"The middleware_position you provided (%d) is greater than the current number of middlewares (%d). \
397-
Since the number of middlewares is less than the total number of middlewares, the Otel middleware will be appended at the end of the middleware chain.",
403+
"The middleware_position you provided (%s) is greater than the number of middlewares (%s). Defaulting "
404+
"the middleware_position to 0.",
398405
middleware_position,
399406
len(settings_middleware),
400407
)
401-
middleware_position = len(settings_middleware)
408+
middleware_position = 0
402409
if is_sql_commentor_enabled:
403410
settings_middleware.insert(
404411
middleware_position, self._sql_commenter_middleware

0 commit comments

Comments
 (0)