def test_template_rendering(should_collect, django_elasticapm_client, client):
should_collect.return_value = False
with override_settings(**middleware_setting(django.VERSION,
['elasticapm.contrib.django.middleware.TracingMiddleware'])):
client.get(reverse('render-heavy-template'))
client.get(reverse('render-heavy-template'))
client.get(reverse('render-heavy-template'))
transactions = django_elasticapm_client.instrumentation_store.get_all()
assert len(transactions) == 3
spans = transactions[0]['spans']
assert len(spans) == 2, [t['name'] for t in spans]
kinds = ['code', 'template.django']
assert set([t['type'] for t in spans]) == set(kinds)
assert spans[0]['type'] == 'code'
assert spans[0]['name'] == 'something_expensive'
assert spans[0]['parent'] == 0
assert spans[1]['type'] == 'template.django'
assert spans[1]['name'] == 'list_users.html'
assert spans[1]['parent'] is None
评论列表
文章目录