{% extends "base.html" %} {% set nav = 'statements' %} {% block title %}Statements · Profiler{% endblock %} {% block content %}

Statements by total time

Every recorded statement grouped by its SQL, across all requests. The per-request view answers “why is this endpoint slow”; this answers “what is costing me across the whole application”. A statement that runs on several routes is often a serialiser or a permission check nobody thinks about.

{% for row in rows %} {% else %} {% endfor %}
Statement Runs Requests Per request Total Avg Max Routes
{{ row.operation }} {% if row.failures %} failed ×{{ row.failures }} {% endif %}
{{ row.sql }}
{{ row.count }} {{ row.requests }} {{ "%.1f"|format(row.per_request) }} {{ "%.1f"|format(row.total_ms) }} ms {{ "%.2f"|format(row.avg_ms) }} ms {{ "%.2f"|format(row.max_ms) }} ms {{ row.sample_route }} {% if row.route_count > 1 %} and {{ row.route_count - 1 }} more {% endif %}
Nothing recorded yet, or no SQL ran.
{% endblock %}