{% extends "base.html" %} {% block title %}FlowSurgeon — {{ record.method }} {{ record.path }}{% endblock %} {% block body_attrs %}x-data="{ tab: '{{ active_tab }}' }"{% endblock %} {% block topbar %} {% endblock %} {% block subnav %} {% endblock %} {% block content %} {# ── Details tab ── #}
{# Stats cards #}
STATUS
{{ record.status_code }} {{ record.status_code | status_text }}
DURATION {{ "%.0f"|format(record.duration_ms) }} ms
SQL QUERIES {{ record.queries | length }} queries
SQL TIME {{ "%.0f"|format(sql_total_ms) }} ms
{# Request + Response panels #}
{# Request panel #}
Request {{ record.method }}
Path {{ record.path }}{% if record.query_string %}?{{ record.query_string }}{% endif %}
Headers
{% for k, v in record.request_headers.items() %} {{ k }}: {{ v }} {% else %} {% endfor %}
Client {{ record.client_host }}
Timestamp {{ record.timestamp.strftime("%Y-%m-%d %H:%M:%S UTC") }}
Request ID {{ record.request_id }}
{# Response panel #}
Response {{ record.status_code }}
Response Time {{ "%.2f"|format(record.duration_ms) }} ms
Headers
{% for k, v in record.response_headers.items() %} {{ k }}: {{ v }} {% else %} {% endfor %}
Body {% if record.response_body %}
{{ record.response_body }}
{% else %} — (binary or not captured) {% endif %}
{# ── SQL tab ── #}
{% include "partials/detail_sql.html" %}
{# ── Traceback tab ── #}
{% include "partials/detail_traceback.html" %}
{# ── Profile tab ── #}
{% include "partials/detail_profile.html" %}
{% endblock %}