Path to {{ data.destination }}
{% if data.error %}
Error
{% elif data.bottleneck and data.bottleneck.hop_number %}
Bottleneck detected
{% else %}
Path looks good
{% endif %}
{% if data.error %}
Error
{{ data.error }}
{% if data.hint %}
{{ data.hint }}
{% endif %}
{% elif data.bottleneck and data.bottleneck.explanation %}
{{ data.bottleneck.explanation }}
Hop {{ data.bottleneck.hop_number }} ({{ data.bottleneck.ip or 'unknown' }}) adds {{ data.bottleneck.latency_jump_ms }}ms delay
{% else %}
No bottlenecks detected
The path to {{ data.destination }} looks healthy.
{% endif %}
{% if data.hops %}
#IP AddressHostnameLatencyLoss
{% for hop in data.hops %}
{{ hop.number }}{{ hop.ip or '*' }}{{ hop.hostname or '-' }}{{ hop.latency_ms if hop.latency_ms is not none else '?' }} ms{% if hop.loss_pct %}{{ hop.loss_pct }}%{% else %}-{% endif %}