diff --git a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/__init__.py b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/__init__.py index d37c45993c..facc2e4176 100644 --- a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/__init__.py +++ b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/__init__.py @@ -251,7 +251,7 @@ def response_hook(span, request, response): _report_old, ) from opentelemetry.instrumentation.django.environment_variables import ( - OTEL_PYTHON_DJANGO_INSTRUMENT, + OTEL_PYTHON_DJANGO_INSTRUMENT, OTEL_PYTHON_DJANGO_MIDDLEWARE_INDEX ) from opentelemetry.instrumentation.django.middleware.otel_middleware import ( _DjangoMiddleware, @@ -388,10 +388,11 @@ def _instrument(self, **kwargs): is_sql_commentor_enabled = kwargs.pop("is_sql_commentor_enabled", None) + opentelemetry_middleware_index = environ.get(OTEL_PYTHON_DJANGO_MIDDLEWARE_INDEX, 0) if is_sql_commentor_enabled: - settings_middleware.insert(0, self._sql_commenter_middleware) + settings_middleware.insert(opentelemetry_middleware_index, self._sql_commenter_middleware) - settings_middleware.insert(0, self._opentelemetry_middleware) + settings_middleware.insert(opentelemetry_middleware_index, self._opentelemetry_middleware) setattr(settings, _middleware_setting, settings_middleware) diff --git a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/environment_variables.py b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/environment_variables.py index 4972a62e93..3034e03d21 100644 --- a/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/environment_variables.py +++ b/instrumentation/opentelemetry-instrumentation-django/src/opentelemetry/instrumentation/django/environment_variables.py @@ -13,3 +13,4 @@ # limitations under the License. OTEL_PYTHON_DJANGO_INSTRUMENT = "OTEL_PYTHON_DJANGO_INSTRUMENT" +OTEL_PYTHON_DJANGO_MIDDLEWARE_INDEX = "OTEL_PYTHON_DJANGO_MIDDLEWARE_INDEX"