Skip to content
This repository was archived by the owner on Sep 17, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions contrib/opencensus-ext-django/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Unreleased
- Make ProbabilitySampler default
- Remove support for Django < 1.11.

## 0.3.0
Released 2019-04-24
Expand Down
3 changes: 1 addition & 2 deletions contrib/opencensus-ext-django/examples/app/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,11 @@
'opencensus.trace.ext.django',
)

MIDDLEWARE_CLASSES = (
MIDDLEWARE = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
Expand Down
4 changes: 2 additions & 2 deletions contrib/opencensus-ext-django/examples/app/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@
1. Add an import: from blog import urls as blog_urls
2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls))
"""
from django.conf.urls import include, url
from django.conf.urls import url
from django.contrib import admin

import app.views


urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^admin/', admin.site.urls),
url(r'^$', app.views.home),
url(r'^greetings$', app.views.greetings),
url(r'^_ah/health$', app.views.health_check),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import six

import django.conf
from django.utils.deprecation import MiddlewareMixin

from opencensus.common import configuration
from opencensus.trace import attributes_helper
Expand All @@ -28,11 +29,6 @@
from opencensus.trace import utils
from opencensus.trace.propagation import trace_context_http_header_format

try:
from django.utils.deprecation import MiddlewareMixin
except ImportError: # pragma: NO COVER
MiddlewareMixin = object

HTTP_METHOD = attributes_helper.COMMON_ATTRIBUTES['HTTP_METHOD']
HTTP_URL = attributes_helper.COMMON_ATTRIBUTES['HTTP_URL']
HTTP_STATUS_CODE = attributes_helper.COMMON_ATTRIBUTES['HTTP_STATUS_CODE']
Expand Down Expand Up @@ -90,12 +86,7 @@ def _set_django_attributes(span, request):
return

user_id = django_user.pk
try:
user_name = django_user.get_username()
except AttributeError:
# AnonymousUser in some older versions of Django doesn't implement
# get_username
return
user_name = django_user.get_username()

# User id is the django autofield for User model as the primary key
if user_id is not None:
Expand Down
50 changes: 0 additions & 50 deletions contrib/opencensus-ext-django/tests/test_django_middleware.py
Original file line number Diff line number Diff line change
Expand Up @@ -230,56 +230,6 @@ def test_process_response(self):

self.assertEqual(span.attributes, expected_attributes)

def test_process_response_no_get_username(self):
from opencensus.ext.django import middleware

trace_id = '2dd43a1d6b2549c6bc2a1a54c2fc0b05'
span_id = '6e0c63257de34c92'
django_trace_id = '00-{}-{}-00'.format(trace_id, span_id)

django_request = RequestFactory().get('/', **{
'traceparent': django_trace_id,
})

# Force the test request to be sampled
settings = type('Test', (object,), {})
settings.OPENCENSUS = {
'TRACE': {
'SAMPLER': 'opencensus.trace.samplers.AlwaysOnSampler()', # noqa
}
}
patch_settings = mock.patch(
'django.conf.settings',
settings)

with patch_settings:
middleware_obj = middleware.OpencensusMiddleware()

middleware_obj.process_request(django_request)
tracer = middleware._get_current_tracer()
span = tracer.current_span()

exporter_mock = mock.Mock()
tracer.exporter = exporter_mock

django_response = mock.Mock()
django_response.status_code = 200

expected_attributes = {
'http.url': u'/',
'http.method': 'GET',
'http.status_code': '200',
}

mock_user = mock.Mock()
mock_user.pk = 123
mock_user.get_username.side_effect = AttributeError
django_request.user = mock_user

middleware_obj.process_response(django_request, django_response)

self.assertEqual(span.attributes, expected_attributes)

def test_process_response_unfinished_child_span(self):
from opencensus.ext.django import middleware

Expand Down
19 changes: 1 addition & 18 deletions tests/system/trace/django/app/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,6 @@
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
import os

import django

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SECRET_KEY = 'secret_key_for_test'

Expand All @@ -34,26 +32,11 @@
'opencensus.ext.django',
)

if django.VERSION >= (1, 10):
MIDDLEWARE = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'opencensus.ext.django.middleware.OpencensusMiddleware',
)

# Middleware interface for Django version before 1.10
MIDDLEWARE_CLASSES = (
MIDDLEWARE = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
Expand Down
4 changes: 2 additions & 2 deletions tests/system/trace/django/app/urls.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@
1. Add an import: from blog import urls as blog_urls
2. Add a URL to urlpatterns: url(r'^blog/', include(blog_urls))
"""
from django.conf.urls import include, url
from django.conf.urls import url
from django.contrib import admin

import app.views


urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^admin/', admin.site.urls),
url(r'^$', app.views.home),
url(r'^greetings$', app.views.greetings),
url(r'^_ah/health$', app.views.health_check),
Expand Down