Skip to content

Commit 0c6cd3b

Browse files
committed
Addressed PR comments from 1903 and 2908
1 parent fac7127 commit 0c6cd3b

File tree

2 files changed

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

2 files changed

+15
-5
lines changed

CHANGELOG.md

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

357357
### Added
358358
- `opentelemetry-instrumentation-kafka-python` Add instrumentation to `consume` method

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

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -388,15 +388,25 @@ def _instrument(self, **kwargs):
388388

389389
is_sql_commentor_enabled = kwargs.pop("is_sql_commentor_enabled", None)
390390

391-
middleware_position = kwargs.pop("middleware_position", 0)
391+
otel_position = environ.get("OTEL_PYTHON_DJANGO_MIDDLEWARE_POSITION")
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)
400+
392401
if len(settings_middleware) < middleware_position:
393402
_logger.debug(
394-
"The middleware_position you provided (%d) is less than the current number of middlewares (%d). \
395-
Since the number of middlewares is less than the total, 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.",
396405
middleware_position,
397406
len(settings_middleware),
398407
)
399-
middleware_position = len(settings_middleware)
408+
middleware_position = 0
409+
400410
if is_sql_commentor_enabled:
401411
settings_middleware.insert(
402412
middleware_position, self._sql_commenter_middleware

0 commit comments

Comments
 (0)