{% extends "base.html" %} {% block title %}opencode-perf-stats — {{ data.session.title }}{% endblock %} {% block content %} {% set s = data.session %} {% set t = data.tokens %} {% set m = data.messages %} {% set tps = data.tps %} {% set ttft = data.ttft %}

Session Report

{{ s.title }} — {{ s.id }}

Filter: All messages Final only
Model
{{ s.provider }}/{{ s.model }}
Agent: {{ s.agent }}
Duration
{{ s.created }}
Total Cost
${{ "%.4f"|format(t.cost) }}
Cache hit: {{ "%.1f"|format(t.cache_hit_pct) }}%
Messages
{{ m.total_assistant }}
{{ m.with_timing }} with timing · {{ m.finish_stop }} final
TPS Mean
{{ "%.1f"|format(tps.aggregate.mean) if tps.aggregate.mean else '—' }}
Median: {{ "%.1f"|format(tps.aggregate.median) if tps.aggregate.median else '—' }} · Range: {{ "%.1f"|format(tps.aggregate.min) if tps.aggregate.min else '—' }}–{{ "%.1f"|format(tps.aggregate.max) if tps.aggregate.max else '—' }}
TTFT Mean
Tokens
{{ "{:,}".format(t.input + t.output + t.reasoning) }}
In: {{ "{:,}".format(t.input) }} · Out: {{ "{:,}".format(t.output) }} · Reason: {{ "{:,}".format(t.reasoning) }}

TPS per Message

TTFT per Message (ms)

Token Breakdown

Message Summary

Per-Message Details

{# ── Pagination bar (top) ── #} {% for d in data.all_messages %} {% if d.role == 'user' %} {% else %} {% endif %} {% endfor %}
#TPSOutput TokensDurationTTFTFinishNote
{# ── Pagination bar (bottom) ── #}
{% endblock %} {% block scripts %} {% endblock %}