{% extends 'silk/base/base.html' %} {% load silk_filters %} {% load silk_assets %} {% block pagetitle %}Silky - Compare time ranges{% endblock %} {% block data %}
{% include 'silk/inclusion/compare_head.html' %} {% if empty %}

No requests recorded yet.

Compare needs recorded requests on both sides.

{% else %}
{% if ep %}{% endif %}
Swap A and B
{{ activity.lo|date:"M j, H:i" }}{{ activity.hi|date:"M j, H:i" }}
A to {{ A.n }} request{{ A.n|pluralize }}
B to {{ B.n }} request{{ B.n|pluralize }}
{% if tz %}

Times are in {{ tz }}.

{% endif %}
{% if error %}
{{ error }} Showing the default ranges instead.
{% endif %}
{{ verdict.headline }} {{ verdict.detail }}
{% if low_sample %}

Fewer than 10 requests on one side: percentiles will be noisy.

{% endif %} {% include 'silk/inclusion/compare_metrics.html' %} {% if not ep and endpoints %}

Endpointsbiggest p95 regressions first

{% for e in endpoints|slice:":100" %} {% endfor %}
EndpointABA p95B p95ChangeQueries/req
{{ e.key }} {{ e.a.n|default:"·" }} {{ e.b.n|default:"·" }} {% if e.a.n %}{{ e.a.p95|dur }}{% else %}·{% endif %} {% if e.b.n %}{{ e.b.p95|dur }}{% else %}·{% endif %} {% if e.kind == 'new' %}only in B{% elif e.kind == 'gone' %}only in A{% else %}{{ e.change.text }}{% endif %} {% if e.a.n %}{{ e.a.q|floatformat:"1" }}{% else %}·{% endif %} → {% if e.b.n %}{{ e.b.q|floatformat:"1" }}{% else %}·{% endif %}
{% endif %}

Query patternscalls per request, largest time change first

{% for p in patterns %} {% empty %} {% endfor %}
PatternA calls/reqB calls/reqTime/req change
{{ p.type }}{{ p.table|default:"·" }}
{{ p.sql|truncatechars:160 }}
{{ p.a|floatformat:"1" }} {{ p.b|floatformat:"1" }} {{ p.change.text }}
No query pattern changed by more than 0.1 calls per request.
{% endif %}
{% endblock %}