# 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: ```php // 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 ```php $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: ```php // 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 ```bash # 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: ```php 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](/Framework/Analytics1/README.md). ## Weitere Informationen - [Framework-Erweiterungsmuster](/docs/framework/ERWEITERUNGSPATTERN.md) - [Modul-Checkliste](/docs/framework/MODUL-CHECKLISTE.md)