{% extends "base.html" %} {% block title %}Trace {{ span.trace_id[:12] }} — MemoryLens{% endblock %} {% block content %}
← Traces / {{ span.trace_id[:12] }}

Trace {{ span.trace_id[:12] }}

{{ span.operation }} ● {{ span.status }} {% if span.operation in ('memory.write', 'memory.update') and span._attrs.get('drift_detected') %} ⚠ drift {{ "%.2f"|format(span._attrs.get('drift_score', 0)) }} {% endif %}
{{ span.agent_id or '-' }} · {{ span.session_id or '-' }} · {{ "%.1f"|format(span.duration_ms) }}ms{% if span._attrs.get('cost_usd') %} · ${{ "%.4f"|format(span._attrs.cost_usd) }}{% endif %}
{% include "partials/span_timeline.html" %} {% if span.input_content %}
Input Content
{{ span.input_content }}
{% endif %} {% if span.output_content %}
Output Content
{{ span.output_content }}
{% endif %} {% if span.status == 'error' and span._attrs.get('error.message') %}
Error
{{ span._attrs.get('error.type', 'Error') }}: {{ span._attrs.get('error.message', '') }}
{% endif %}
Attributes
{% if span._attrs %} {% for key, value in span._attrs.items() %} {% if key not in ('error.type', 'error.message') %} {% endif %} {% endfor %} {% endif %}
span_id{{ span.span_id }}
trace_id{{ span.trace_id }}
operation{{ span.operation }}
status{{ span.status }}
duration{{ "%.1f"|format(span.duration_ms) }}ms
agent_id{{ span.agent_id or '-' }}
session_id{{ span.session_id or '-' }}
user_id{{ span.user_id or '-' }}
Custom Attributes
{{ key }}{{ value }}
{% if span.operation == 'memory.read' %} Debug Retrieval → {% endif %} {% if span.operation == 'memory.compress' %} Debug Compression → {% endif %} {% if span.operation in ('memory.write', 'memory.update') and span._attrs.get('memory_key') %} Drift History → {% endif %} {% set share_type = "trace" %}{% set share_target = span.trace_id %} {% include "partials/share_button.html" with context %}
{% endblock %}