{% extends "silk/base/detail_base.html" %} {% load silk_filters %} {% load silk_nav %} {% load silk_inclusion %} {% load static %} {% block pagetitle %}Silky - Profile Detail - {{ silk_request.path }}{% endblock %} {% block js %} {{ block.super }} {% endblock %} {% block style %} {{ block.super }} {% endblock %} {% block menu %} {% profile_menu request profile silk_request %} {% endblock %} {% block data %}
{% profile_summary profile %}
{% if profile.file_path and profile.line_num %} {{ profile.file_path }}:{{ profile.line_num }}{% if profile.end_line_num %}:{{ profile.end_line_num }}{% endif %} {% else %} Location {% endif %}
Below shows where in your code this profile was defined. If your profile was defined dynamically (i.e in your settings.py), then this will show the range of lines that are covered by the profiling.
{% if code %}
{% code code actual_line %}
{% elif code_error %}
{{ code_error }}
{% endif %} {% if silk_request.prof_file %}
Profile graph
Below is a graph of the profile, with the nodes coloured by the time taken (red is more time). This should give a good indication of the slowest path through the profiled code.
Prune nodes taking up less than % of the total time
{% url 'silk:request_profile_dot' request_id=silk_request.pk as profile_dot_url %} {{ profile_dot_url|json_script:'profileDotURL' }} {% endif %} {% if silk_request.pyprofile %}
Python Profiler
The below is a dump from the cPython profiler.
{% if silk_request.prof_file %} Click here to download profile. {% endif %}
{{ silk_request.pyprofile }}
{% endif %}
{% endblock %}