{% extends "base.html" %} {% set nav = 'requests' %} {% block title %}{{ profile.method }} {{ profile.path }} · Profiler{% endblock %} {% block content %} ← All requests

{{ profile.method }} {{ profile.path }}{% if profile.query_string %}?{{ profile.query_string }}{% endif %}

{% if profile.route and profile.route != profile.path %}

Route {{ profile.route }}

{% endif %}
{{ profile.status_code }}
Status
{{ "%.1f"|format(profile.duration_ms) }}ms
Total
{{ "%.1f"|format(profile.query_ms) }}ms
In SQL
{{ "%.1f"|format(profile.python_ms) }}ms
In Python
{{ profile.query_count }}
Queries
{{ profile.duplicate_count }}
Duplicates
{% if profile.error_count %}
{{ profile.error_count }}
SQL errors
{% endif %}
{% if profile.duplicate_count %} {% endif %}

Queries {{ groups|length }} distinct statement{{ '' if groups|length == 1 else 's' }}, {{ profile.query_count }} execution{{ '' if profile.query_count == 1 else 's' }}

{% if groups %}
    {% for g in groups %}
  1. {{ g.operation }} {% if g.is_duplicate %} ×{{ g.count }} {% endif %} {{ "%.2f"|format(g.total_ms) }} ms {% if g.is_duplicate %}total · {{ "%.2f"|format(g.avg_ms) }} avg · {{ "%.2f"|format(g.max_ms) }} max{% endif %} {% if g.failed %}failed{% if g.failures > 1 %} ×{{ g.failures }}{% endif %} {% elif g.max_ms >= config.slow_query_ms %}slow{% endif %}
    {{ g.sql }}
    {% if g.error %}
    error {{ g.error }}
    {% endif %} {% if g.params %}
    params {% for p in g.params %}{{ p }}{% if not loop.last %} {% endif %}{% endfor %} {% if g.distinct_params > g.params|length %}and {{ g.distinct_params - g.params|length }} more{% endif %}
    {% endif %} {% if g.stack %}
    Stack ({{ g.stack|length }} frames){% if g.failed %} — the failing call{% elif g.is_duplicate %} — where the first of {{ g.count }} was issued{% endif %}
    {% for frame in g.stack %}{{ frame }}
    {% endfor %}
    {% endif %} {% if g.call_sites > 1 %}

    Issued from {{ g.call_sites }} different call sites — the stack above is the first{% if g.failed %} failing{% endif %} one.

    {% endif %}
  2. {% endfor %}
{% else %}

No SQL ran during this request.

{% endif %}

Request headers

{% if profile.request_headers %} {% for k, v in profile.request_headers.items() %} {% endfor %}
{{ k }}{{ v }}
{% else %}

Not captured.

{% endif %}

Response headers

{% if profile.response_headers %} {% for k, v in profile.response_headers.items() %} {% endfor %}
{{ k }}{{ v }}
{% else %}

Not captured.

{% endif %}

Recorded {{ profile.recorded_at.strftime('%Y-%m-%d %H:%M:%S') }} UTC {% if profile.client %}from {{ profile.client }}{% endif %} · id {{ profile.id }}

{% endblock %}