add pictures to statcounter

This commit is contained in:
2026-10-18 11:21:25 +02:00
parent ca5af75bbd
commit 3ebfeca7cc
5 changed files with 1225 additions and 32 deletions
+25 -1
View File
@@ -6,7 +6,10 @@ das komplette serverjonas search
- `launcher.py` – startet/überwacht den Crawler und rollt Updates aus (siehe unten)
- `search/` – Suchmaschine darüber (CLI + HTTP-API + Weboberfläche, Port 8083),
siehe [search/README.md](search/README.md)
- `web/` – Statistik-Webseite (Port 8081, `jonassearch-stats.service`)
- `web/` – Statistik-Webseite (Port 8081, `jonassearch-stats.service`).
Seiten werden alle 30 Min. gezählt; Bilder alle 2 h exakt, dazwischen nur
geschätzt. Alle Diagramme zeigen ausschließlich die exakten Messpunkte.
- `web/tui.py` – Terminal-Dashboard für dieselben Statistiken (siehe unten)
- `priorityweb/` – Vorschlagsverfeinerer (Port 8082, `jonassearch-priority.service`)
- `search/jonassearch-engine.service` – systemd-Unit für die Suchmaschine
(Port 8083, `jonassearch-engine.service`)
@@ -16,6 +19,27 @@ das komplette serverjonas search
- `add_pages_pictures.sql` – einmalig laufen lassen: legt `pages.pictures`
(`text[]`) für die Bild-URLs der gecrawlten Seiten an (idempotent)
## Terminal-Dashboard (`web/tui.py`)
Zeigt Seiten- und Bildanzahl, Wachstum, einen Sparkline-Verlauf und die
letzten Messwerte direkt im Terminal. Liest dieselbe
`web/page_counts.json` wie der Statserver – kein Webserver, keine
zusätzlichen Pakete (nur `curses` aus der Standardlib).
```bash
python3 web/tui.py # interaktiv, Aktualisierung alle 2 s
python3 web/tui.py --window 7d # 24h (Default) | 7d | 30d | all
python3 web/tui.py --once # Momentaufnahme, z. B. für Logs/Skripte
python3 web/tui.py --once --width 100 --window all
```
Tasten im interaktiven Modus: `q` beendet, `r` lädt die Datei sofort neu,
`t` wechselt das Zeitfenster. `--ascii` ersetzt die Unicode-Blöcke der
Sparkline. Läuft die Ausgabe nicht in einem Terminal (Pipe, Cron), wird
automatisch die `--once`-Ausgabe verwendet. Fehlt die Datei, zeigt das
Dashboard „No samples yet“; ist sie defekt, erscheint die Fehlermeldung
im Dashboard (bei `--once` auf stderr, Exit-Code 1).
## Sehr große Seiten / tsvector-Limit
PostgreSQL begrenzt einen einzelnen `tsvector`-Wert hart auf 1.048.575 Bytes