{% extends "base.html" %} {% block title %}Trace {{ run.id }} - Agent Loop Guard{% endblock %} {% block content %}

Trace {{ run.id }}

Task {{ run.task_id or "unknown" }} / {{ run.agent_name or "unknown agent" }}

JSON JSONL OTel {% if run.source_session_id %} Source Session {% endif %}
Status{{ run.status }}
Duration{{ run.duration_ms }} ms
Tokens{{ run.total_tokens }}
Spans{{ run.span_count }}
Events{{ run.event_count }}
Cost{{ '%.4f'|format(run.total_cost_micros / 1000000) }}

Run Metadata

Project{{ run.project_id }}
Model{{ run.model or "-" }}
Failure tag{{ run.failure_tag or "-" }}
Created{{ run.created_at }}
Updated{{ run.updated_at }}
Attributes{{ run.attributes | tojson }}

Timeline

{% for span in spans %}
{{ span.name }}
{{ span.duration_ms }} ms
{% endfor %}
{% for span in spans %} {% else %} {% endfor %}
Span Status Duration Parent Start Key Details
{{ span.name }}
{{ span.id }}
{{ span.status }} {{ span.duration_ms }} ms {{ span.parent_span_id or "root" }} {{ span.start_at }} {% if span.attributes.get("request.id") %}request {{ span.attributes.get("request.id") }}{% endif %} {% if span.attributes.get("http.status_code") %} / HTTP {{ span.attributes.get("http.status_code") }}{% endif %} {% if span.attributes.get("policy.decision") %} / {{ span.attributes.get("policy.decision") }}{% endif %} {% if span.attributes.get("policy.reason") %} / {{ span.attributes.get("policy.reason") }}{% endif %}
No spans recorded.

Events

{% for event in events %} {% else %} {% endfor %}
TimeNameSeveritySpanAttributes
{{ event.timestamp }} {{ event.name }} {{ event.severity }} {{ event.span_id or "-" }} {{ event.attributes | tojson }}
No events recorded.

Artifacts

{% for artifact in artifacts %} {% else %} {% endfor %}
PathMIMESizeSHA-256
{{ artifact.path }} {{ artifact.mime_type or "-" }} {{ artifact.size }} {{ artifact.sha256 or "-" }}
No artifacts recorded.
{% endblock %}