{% 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
{{ db_pressure|floatformat:0 }}%
DB-Bound
{# ── 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 %}
{# ── Optimization targets ── #}

Hot Paths count × avg time — fix these first

{% if hot_paths %} {% for x in hot_paths %} {% endfor %}
Path Hits Avg Time
{{ x.path }} {{ x.count }} {{ x.avg_time|floatformat:0 }}ms
{% else %}

No data

{% endif %}

N+1 Suspects views with high avg query count

{% if n1_suspects %} {% for x in n1_suspects %} {% endfor %}
View Req. Avg Queries
{{ x.view_name }} {{ x.count }} {{ x.avg_queries|floatformat:1 }}
{% else %}

No views with ≥ 2 requests and ≥ 5 avg queries

{% 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 + query count distribution #}
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 %}
Queries per Request
{# 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 %}