Die im Issue beschriebene Event-Anzeige (neuestes Event oben, aeltere schieben nach, Ueberschuss wird abgeschnitten) ist bereits seit Phase 4 umgesetzt (buildEventLines()/MAX_EVENT_LINES, F5) und braucht keine Aenderung. Neu ist die vierte, immer sichtbare KPI-Kachel ganz rechts im KPI-Monitor: "Hooks: n" zaehlt die seit dem letzten Start des api-Containers empfangenen Webhooks. Der Zaehler ist dateibasiert (Metrics\HookCounter), weil der eingebaute PHP-Server jede Anfrage als eigene Skriptausfuehrung behandelt; docker/entrypoint.sh setzt die Datei beim Start des api-Containers (nicht des sync-Containers) zurueck. Neuer oeffentlicher Endpunkt GET /api/v1/webhooks/stats liefert den Stand, das Frontend haengt ihn als eigene Kachel an (buildHooksKpi()) und reserviert ihr dafuer eine feste Kachel statt sie der MAX_KPI_TILES- Kappung der uebrigen KPIs zu unterwerfen. Der Wert fliesst zusaetzlich in den SSE-Fingerabdruck (ChangeFeed) ein. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
22 lines
1 KiB
Bash
Executable file
22 lines
1 KiB
Bash
Executable file
#!/bin/sh
|
|
# Installiert Abhaengigkeiten automatisch beim ersten Start im Container, damit auf dem
|
|
# Host ausser Docker nichts installiert werden muss (composer bleibt im Container).
|
|
set -e
|
|
|
|
if [ ! -d /app/vendor ]; then
|
|
composer install --no-interaction --no-progress --working-dir=/app
|
|
fi
|
|
|
|
# Hooks-KPI (Issue #38): die Zaehldatei liegt im geteilten ./api-Volume und ueberlebt einen
|
|
# Container-Neustart daher von sich aus - "seit dem letzten Restart" muss also hier aktiv
|
|
# hergestellt werden. Nur beim Standard-Kommando des api-Containers (php -S ..., siehe
|
|
# Dockerfile CMD) zuruecksetzen: der sync-Container teilt sich zwar dasselbe Image/Entrypoint,
|
|
# startet aber mit einem anderen Kommando und empfaengt selbst keine Webhooks - ein eigener
|
|
# Neustart von ihm darf den Zaehler des api-Containers nicht faelschlich auf 0 setzen.
|
|
if [ "$1" = "php" ] && [ "$2" = "-S" ]; then
|
|
hooks_counter_file="${MONITOR_HOOKS_COUNTER_FILE:-/app/data/hooks-count}"
|
|
mkdir -p "$(dirname "$hooks_counter_file")"
|
|
echo 0 > "$hooks_counter_file"
|
|
fi
|
|
|
|
exec "$@"
|