def test_request_metrics_contrib_redirect(django_elasticapm_client, client):
django_elasticapm_client.instrumentation_store.get_all() # clear the store
# enable middleware wrapping
django_elasticapm_client.config.instrument_django_middleware = True
from elasticapm.contrib.django.middleware import TracingMiddleware
TracingMiddleware._elasticapm_instrumented = False
s = Site.objects.get(pk=1)
Redirect.objects.create(site=s, old_path='/redirect/me/', new_path='/here/')
with override_settings(
**middleware_setting(django.VERSION, [
'elasticapm.contrib.django.middleware.TracingMiddleware',
'django.contrib.redirects.middleware.RedirectFallbackMiddleware',
])
):
response = client.get('/redirect/me/')
transactions = django_elasticapm_client.instrumentation_store.get_all()
assert transactions[0]['name'] == 'GET django.contrib.redirects.middleware.RedirectFallbackMiddleware.process_response'
assert transactions[0]['result'] == 'HTTP 3xx'
评论列表
文章目录