template_tests.py 文件源码

python
阅读 28 收藏 0 点赞 0 评论 0

项目:apm-agent-python 作者: elastic 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号