{% extends "performance/dashboard/base.html" %} {% block title %}API Performance · PerfMonitor{% endblock %} {% block page_title %}API Performance{% endblock %} {% block content %}

API Performance

Latency bands · DB query correlation · concurrency pressure · Source: PerformanceSummary + APIRequestLog

Avg Response Time
{{ kpi_avg_rt }}ms
sampling-corrected weighted avg
P50 Latency
{{ kpi_p50_ms }}ms
request-weighted p50
P95 Latency
{{ kpi_p95_ms }}ms
request-weighted p95
{% set db_pct_color = 'var(--red)' if kpi_db_pct > 50 else ('var(--amber)' if kpi_db_pct > 30 else 'var(--green)') %}
DB Time / Response
{{ kpi_db_pct }}%
db_time_ms ÷ response_time_ms
Latency Percentile Bands
Includes 300ms SLA threshold
Response Time vs DB Queries
Scatter · colored by status class
Concurrent Requests Over Time
Per-worker concurrency · system-wide ≈ value × worker count
Per-Request Drilldown
Raw APIRequestLog sample rows
{% for r in drilldown_rows %} {% endfor %}
TimeMethodEndpointStatusResponseDB QueriesDB TimeConcurrent
{{ r.created_at.strftime('%H:%M') }} {{ r.method }} {{ r.endpoint }} {{ r.status_code }} {{ r.response_time_ms }}ms {{ r.db_query_count }} {{ r.db_time_ms }}ms {{ r.concurrent_requests }}
{% if drilldown_total_pages > 1 %} {% endif %}
{% endblock %}