Files
michaelschiemer/backups/docs-backup-20250731125004/framework/analytics/index.md
Michael Schiemer 55a330b223 Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug
- Add DISCOVERY_SHOW_PROGRESS=true
- Temporary changes for debugging InitializerProcessor fixes on production
2025-08-11 20:13:26 +02:00

3.0 KiB

Analytics-Framework

Dokumentationshinweis: Diese Dokumentation ist vollständig aktualisiert und stellt die aktuelle Implementierung des Analytics-Frameworks korrekt dar.

Übersicht

Das Analytics-Framework ist ein eigenständiges Tracking- und Analysesystem, das vollständig in die Anwendung integriert ist und ohne externe Dienste auskommt. Es ermöglicht die Erfassung, Speicherung und Analyse von:

  • Benutzeraktivitäten (Seitenaufrufe, Interaktionen)
  • Systemereignissen (Anwendungsstart, Fehler)
  • Leistungsdaten (Speicherverbrauch, Ausführungszeit, Datenbankabfragen)

Hauptkomponenten

Analytics-Klasse

Die zentrale API für Tracking-Operationen:

// Klasse initialisieren
$analytics = new Analytics($analyticsManager, $eventDispatcher);

// Event tracken
$analytics->track('event_name', ['property' => 'value']);

// Seite tracken
$analytics->page('/pfad/zur/seite', ['eigenschaft' => 'wert']);

// Benutzer identifizieren
$analytics->user('user_id', ['eigenschaft' => 'wert']);

// Fehler tracken
$analytics->error($exception);

AnalyticsManager

Verarbeitet und speichert Events:

  • Wendet Middleware auf Events an
  • Puffert Events für effiziente Speicherung
  • Verwaltet die Konfiguration
  • Steuert die Speicherung in verschiedenen Backends

Storage-System

Basierend auf dem StorageInterface mit verschiedenen Implementierungen:

  • FileStorage: Speichert Events in Dateien
  • Erweiterbar für Datenbank, Redis oder andere Backends

Middleware-System

$analyticsManager->addMiddleware(function(array $event) {
    // Event verarbeiten oder filtern
    return $event; // oder null um zu verwerfen
});

HTTP-Middleware

Automatisches Tracking von HTTP-Requests und -Responses:

// In Bootstrap oder Application-Klasse
$app->addMiddleware(AnalyticsMiddleware::class);

Dashboard und Berichterstattung

Das AnalyticsDashboard bietet Methoden zur Datenanalyse:

  • getEventStats(): Statistiken zu Events
  • getTopPages(): Meistbesuchte Seiten
  • getUserStats(): Benutzerstatistiken
  • getErrorStats(): Fehlerstatistiken
  • getPerformanceStats(): Leistungsmetriken

Das Admin-Dashboard ist unter /admin/analytics verfügbar.

Konsolen-Befehle

# Analytics-Daten löschen
php console analytics:clear [--force]

Integration

Service-Container

Der Analytics-Service wird automatisch registriert und kann per Dependency Injection verwendet werden:

public function __construct(private readonly Analytics $analytics) {}

Event-Integration

Standardmäßig werden folgende Anwendungsereignisse getrackt:

  • Anwendungsstart (application_booted)
  • Fehlerbehandlung (error_occurred)
  • Request-Verarbeitung (request_started, request_completed)

Konfiguration

Detaillierte Konfigurationsoptionen finden Sie in der Framework-README.

Weitere Informationen