Skip to content

Commit 8f4cd9e

Browse files
Merge branch 'main' into checking-parent-spans-current-context
2 parents a827ad3 + bddd082 commit 8f4cd9e

File tree

5 files changed

+34
-8
lines changed

5 files changed

+34
-8
lines changed

CHANGELOG.md

+4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
## [Unreleased](https://github.com/open-telemetry/opentelemetry-python/compare/v1.3.0-0.22b0...HEAD)
9+
- `opentelemetry-sdk-extension-aws` Update AWS entry points to match spec
10+
([#566](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/566))
911
- Include Flask 2.0 as compatible with existing flask instrumentation
1012
([#545](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/545))
1113

@@ -23,6 +25,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2325
([#543](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/543))
2426
- Require aiopg to be less than 1.3.0
2527
([#560](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/560))
28+
- `opentelemetry-instrumentation-django` Migrated Django middleware to new-style.
29+
([#533](https://github.com/open-telemetry/opentelemetry-python-contrib/pull/533))
2630

2731
### Added
2832
- `opentelemetry-instrumentation-httpx` Add `httpx` instrumentation

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

+26-4
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
from time import time
1717
from typing import Callable
1818

19+
from django import VERSION as django_version
1920
from django.http import HttpRequest, HttpResponse
2021

2122
from opentelemetry.context import attach, detach
@@ -48,10 +49,31 @@
4849
except ImportError:
4950
from django.urls import Resolver404, resolve
5051

51-
try:
52-
from django.utils.deprecation import MiddlewareMixin
53-
except ImportError:
54-
MiddlewareMixin = object
52+
DJANGO_2_0 = django_version >= (2, 0)
53+
54+
if DJANGO_2_0:
55+
# Since Django 2.0, only `settings.MIDDLEWARE` is supported, so new-style
56+
# middlewares can be used.
57+
class MiddlewareMixin:
58+
def __init__(self, get_response):
59+
self.get_response = get_response
60+
61+
def __call__(self, request):
62+
self.process_request(request)
63+
response = self.get_response(request)
64+
return self.process_response(request, response)
65+
66+
67+
else:
68+
# Django versions 1.x can use `settings.MIDDLEWARE_CLASSES` and expect
69+
# old-style middlewares, which are created by inheriting from
70+
# `deprecation.MiddlewareMixin` since its creation in Django 1.10 and 1.11,
71+
# or from `object` for older versions.
72+
try:
73+
from django.utils.deprecation import MiddlewareMixin
74+
except ImportError:
75+
MiddlewareMixin = object
76+
5577

5678
_logger = getLogger(__name__)
5779
_attributes_by_preference = [

sdk-extension/opentelemetry-sdk-extension-aws/README.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ This can be done by either setting this environment variable:
5353

5454
::
5555

56-
export OTEL_PROPAGATORS = aws_xray
56+
export OTEL_PROPAGATORS = xray
5757

5858

5959
Or by setting this propagator in your instrumented application:

sdk-extension/opentelemetry-sdk-extension-aws/setup.cfg

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,9 @@ install_requires =
4242

4343
[options.entry_points]
4444
opentelemetry_propagator =
45-
aws_xray = opentelemetry.sdk.extension.aws.trace.propagation.aws_xray_format:AwsXRayFormat
45+
xray = opentelemetry.sdk.extension.aws.trace.propagation.aws_xray_format:AwsXRayFormat
4646
opentelemetry_id_generator =
47-
aws_xray = opentelemetry.sdk.extension.aws.trace.aws_xray_id_generator:AwsXRayIdGenerator
47+
xray = opentelemetry.sdk.extension.aws.trace.aws_xray_id_generator:AwsXRayIdGenerator
4848

4949
[options.extras_require]
5050
test =

sdk-extension/opentelemetry-sdk-extension-aws/src/opentelemetry/sdk/extension/aws/trace/propagation/aws_xray_format.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
3232
::
3333
34-
export OTEL_PROPAGATORS = aws_xray
34+
export OTEL_PROPAGATORS = xray
3535
3636
3737
Or by setting this propagator in your instrumented application:

0 commit comments

Comments
 (0)