|
@@ -3,25 +3,33 @@
|
|
{% block content %}
|
|
{% block content %}
|
|
<h2>Latency to {{ target }}</h2>
|
|
<h2>Latency to {{ target }}</h2>
|
|
|
|
|
|
-<p>Job submitted at {{ target.submitted }}</p>
|
|
|
|
|
|
+<p>Job submitted at {{ target.submitted.strftime('%Y-%m-%d %H:%M') }}</p>
|
|
|
|
|
|
<table>
|
|
<table>
|
|
<tr>
|
|
<tr>
|
|
- <th>Source</th>
|
|
|
|
- <th>Contact</th>
|
|
|
|
<th>Latency</th>
|
|
<th>Latency</th>
|
|
<th>Jitter</th>
|
|
<th>Jitter</th>
|
|
<th>Packet loss</th>
|
|
<th>Packet loss</th>
|
|
|
|
+ <th>Source</th>
|
|
|
|
+ <th>Contact</th>
|
|
<th>Date</th>
|
|
<th>Date</th>
|
|
</tr>
|
|
</tr>
|
|
{% for r in results %}
|
|
{% for r in results %}
|
|
|
|
+ {% set packetloss = (100 * (r.probes_sent - r.probes_received) / r.probes_sent) %}
|
|
<tr>
|
|
<tr>
|
|
|
|
+ <td>{% if r.avgrtt is not none() %}{{ r.avgrtt }} ms{% endif %}</td>
|
|
|
|
+ <td>{% if r.jitter is not none() %}{{ r.jitter }} ms{% endif %}</td>
|
|
|
|
+ <td><span {% if packetloss >= 50 %}
|
|
|
|
+ class="red"
|
|
|
|
+ {% elif packetloss > 0 %}
|
|
|
|
+ class="orange"
|
|
|
|
+ {% endif %}>
|
|
|
|
+ {{ packetloss|round(2) }}%
|
|
|
|
+ </span>
|
|
|
|
+ </td>
|
|
<td>{{ r.participant.name }}</td>
|
|
<td>{{ r.participant.name }}</td>
|
|
<td>{{ r.participant.contact }}</td>
|
|
<td>{{ r.participant.contact }}</td>
|
|
- <td><strong>{{ r.avgrtt }} ms</strong></td>
|
|
|
|
- <td>{{ r.jitter }} ms</td>
|
|
|
|
- <td>{{ 100 * (r.probes_sent - r.probes_received) / r.probes_sent }}%</td>
|
|
|
|
- <td>{{ r.date }}</td>
|
|
|
|
|
|
+ <td>{{ r.date.strftime('%Y-%m-%d %H:%M') }}</td>
|
|
</tr>
|
|
</tr>
|
|
{% endfor %}
|
|
{% endfor %}
|
|
</table>
|
|
</table>
|