- Add DISCOVERY_LOG_LEVEL=debug - Add DISCOVERY_SHOW_PROGRESS=true - Temporary changes for debugging InitializerProcessor fixes on production
115 lines
3.0 KiB
Markdown
115 lines
3.0 KiB
Markdown
# 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)
|