{% extends 'silk/base/base.html' %} {% load silk_inclusion %} {% load silk_nav %} {% load static %} {% block pagetitle %}Silky - Summary{% endblock %} {% block style %} {% endblock %} {% block menu %} {% root_menu request %} {% endblock %} {% block filter %} {# theme toggle injected by base.html #} {% endblock %} {% block js %} {% endblock %} {% block data %}
{# ── Page heading ── #}

Summary

{# Time-range preset strip #}
{% csrf_token %} Range: {% for preset in time_presets %} {% endfor %}
{% if has_data %} {# ── Metric cards ── #}
{{ num_requests }}
Requests
{{ num_profiles }}
Profiles
{{ avg_overall_time|floatformat:0 }}ms
Avg Response Time
{{ avg_num_queries|floatformat:1 }}
Avg Queries
{{ avg_time_spent_on_queries|floatformat:0 }}ms
Avg DB Time
{# ── Top tables ── #}

Most Time Overall

{% if longest_queries_by_view %} {% for x in longest_queries_by_view %} {% endfor %}
Path Duration
{{ x.path }} {{ x.time_taken|floatformat:0 }}ms
{% else %}

No data

{% endif %}

Most DB Time

{% if most_time_spent_in_db %} {% for x in most_time_spent_in_db %} {% endfor %}
Path DB Time
{{ x.path }} {{ x.t|floatformat:0 }}ms
{% else %}

No data

{% endif %}

Most DB Queries

{% if most_queries %} {% for x in most_queries %} {% endfor %}
Path Queries
{{ x.path }} {{ x.t }}
{% else %}

No data

{% endif %}
{# ── Analytics Dashboard ── #}
{# Row 1: Activity timeline — full width #}

Analytics

Request Activity
{# Row 2: Status donut + Method breakdown + RT histogram #}
Status Codes
HTTP Methods
Response Time Distribution
{# Row 3: Latency percentile charts #}
Request Latency Percentiles
{% for p, v in request_percentiles.items %} p{{ p }} {{ v|floatformat:0 }}ms {% endfor %}
SQL Query Latency Percentiles
{% for p, v in sql_percentiles.items %} p{{ p }} {{ v|floatformat:0 }}ms {% endfor %}
{# Chart data for D3 (safe — only numbers, no user input) #} {% else %}

No data yet

Make some requests to your Django app to start seeing performance data here.

{% endif %}
{% endblock %}