{% extends 'paxalia/base.html' %} {% load static %}{% load i18n %} {% block title %}{% trans "Real User Monitoring" %} – Paxalia Analytics{% endblock %} {% block page_title %}{% trans "Real User Monitoring" %}{% endblock %} {% block page_subtitle %}{% trans "Core Web Vitals and JavaScript errors from real visitors" %}{% endblock %} {% block extra_css %} {% endblock %} {% block filter_bar %} {% include 'paxalia/includes/filter_bar.html' %} {% endblock %} {% block dashboard_content %}

{% trans "Web Vitals are aggregated as the 75th percentile of real visits in this period, not an average — the industry-standard way to read field data. See the README for what's measured natively vs. simplified." %}

{% for metric, data in web_vitals.items %}
{{ data.label }} ({{ metric }}) {% if data.sample_count %} {{ data.p75 }}{% if metric != 'CLS' %} ms{% endif %} {{ data.rating }}
{{ data.sample_count }} {% trans "samples" %}
{% else %} {% trans "No data for this period yet." %} {% endif %}
{% endfor %}

{% trans "Top JavaScript Errors" %} – {{ date_range_label }}

{% if top_errors %} {% for err in top_errors %} {% endfor %}
{% trans "Message" %} {% trans "Location" %} {% trans "Count" %} {% trans "First seen" %} {% trans "Last seen" %}
{{ err.message|truncatechars:120 }} {{ err.sample_location|default:"—" }}
{{ err.sample_path }}
{{ err.count }} {{ err.first_seen|date:"M d, H:i" }} {{ err.last_seen|date:"M d, H:i" }}
{% else %}
{% trans "No JavaScript errors reported for this period." %}
{% endif %}
{% endblock %}