|
{% extends "admin/base.html" %}
|
|
{% block title %}Admin - Molouptime Monitor Stats{% endblock %}
|
|
{% block admin_content %}
|
|
<div class="max-w-4xl mx-auto px-4 py-6">
|
|
<h1 class="text-2xl font-bold mb-6">Molouptime Monitor Statistics</h1>
|
|
|
|
<div class="grid grid-cols-2 md:grid-cols-4 gap-4 mb-6">
|
|
<div class="stat-card">
|
|
<div class="stat-value">{{ total_checks }}</div>
|
|
<div class="stat-label">Total Checks</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-value">{{ total_items }}</div>
|
|
<div class="stat-label">Check Items</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-value">{{ total_metrics }}</div>
|
|
<div class="stat-label">Metric Samples</div>
|
|
</div>
|
|
<div class="stat-card">
|
|
<div class="stat-value">{{ by_type|length }}</div>
|
|
<div class="stat-label">Check Types</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card mb-6">
|
|
<div class="card-body">
|
|
<h2 class="text-lg font-semibold mb-3">By Type</h2>
|
|
<table class="w-full text-sm">
|
|
<thead>
|
|
<tr><th class="text-left pb-2">Type</th><th class="text-left pb-2">Count</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for type, count in by_type.items() %}
|
|
<tr><td class="py-1">{{ type }}</td><td>{{ count }}</td></tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-body">
|
|
<h2 class="text-lg font-semibold mb-3">By User</h2>
|
|
<table class="w-full text-sm">
|
|
<thead>
|
|
<tr><th class="text-left pb-2">User UID</th><th class="text-left pb-2">Checks</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for uid, count in by_user.items() %}
|
|
<tr><td class="py-1 font-mono text-xs">{{ uid[:16] }}...</td><td>{{ count }}</td></tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %}
|