{% extends "base.html" %} {% block title %}{{ run.name or run.id[:8] if run else 'Run' }} - whirr{% endblock %} {% block content %} {% if error %}
{{ error }}
{% elif run %}

{{ run.name or run.id[:8] }}

{{ run.status }}
{{ run.id }}
{{ run.started_at|format_time_ago }}
{{ run.duration_seconds|format_duration }}
{% if run.tags %}
{% for tag in run.tags|deserialize_json %} {{ tag }}{% if not loop.last %}ยท{% endif %} {% endfor %}
{% endif %}
{% if metrics %}

Metrics

{% endif %} {% if metrics %}

Logged Metrics

{% set sample = metrics[0] %} {% for key in sample.keys() if not key.startswith('_') %} {% endfor %} {% for m in metrics %} {% for key in sample.keys() if not key.startswith('_') %} {% endfor %} {% endfor %}
Step{{ key }}
{{ m._step if m._step is defined else m._idx }} {% if m[key] is defined %} {% if m[key] is number %} {{ "%.4f"|format(m[key]) if m[key] != m[key]|int else m[key] }} {% else %} {{ m[key] }} {% endif %} {% else %} - {% endif %}
{% else %}
No metrics logged
{% endif %}

Config

{% if run.config %} {% set config = run.config|deserialize_json %}
{% for key, value in config.items() %}
{{ key }}
{{ value }}
{% endfor %}
{% else %}
No config
{% endif %}
{% if meta and meta.summary %}

Summary

{% for key, value in meta.summary.items() %}
{{ key }}
{% if value is number %} {{ "%.4f"|format(value) if value != value|int else value }} {% else %} {{ value }} {% endif %}
{% endfor %}
{% endif %}

Details

Run Dir
{{ run.run_dir }}
{% if run.job_id %}
Job ID
#{{ run.job_id }}
{% endif %} {% if run.exit_code is defined and run.exit_code is not none %}
Exit Code
{{ run.exit_code }}
{% endif %}
{% endif %} {% endblock %} {% block scripts %} {% if metrics and metrics|length > 0 %} {% endif %} {% endblock %}