Ereignisverfolgung: Implementierung und Datenqualität
Legt Sammlung, Identität, Speicherung, Validierung, Datenschutz, Überwachung und Debugging für die Ereignisverfolgung fest. Diese Referenz definiert die Annahmegrenze, das Fehlverhalten und beobachtbare Beweise, während umgebungsspezifische Grenzen konfigurierbar bleiben.
Paketstatus: Referenzkontext bereit für menschliche Überprüfung. Der Vertrag und die Testszenarien sind abgeschlossen, es wird jedoch nicht behauptet, dass eine übernehmende Implementierung diese bestanden hat.
Entscheidung
Für die Ereignisverfolgung wird ein versioniertes Ereignis- und Metrikverzeichnis angenommen, das mit der Produktentscheidung verwaltet wird. Das Verhalten wird durch einen autoritativen Schreibpfad, typisierte Schnittstellen, expliziten Zustand und idempotente Nebenwirkungsbehandlung implementiert. Dieses Paket ist ein Referenzvertrag: Das übernehmende Team muss numerische Grenzen, Anbieter, Rechtsgebiete und operative Verantwortliche anhand von Beweisen in seiner eigenen Umgebung auswählen.
Umfang
- Die Akteure, Eingaben, Ausgaben, Zustände, Richtlinien- oder Schemaversionen und extern sichtbaren Ergebnisse der Ereignisverfolgung, die durch diesen Implementierungsblock beschrieben werden.
- Primäre und alternative Schnittstellen, Hintergrundarbeiten, Caches, Integrationen, Supportpfade und Beweise, die dieselbe Grenze ausüben können.
- Übernahmespezifische Konfiguration, Rollout, Wiederherstellung und Verifikationsverantwortlichkeiten, die zur sicheren Anwendung der Referenz erforderlich sind.
Außerhalb dieses Blocks
- Die Wahl eines universellen Anbieters, Frameworks, Rechtsgebiets, numerischen Schwellenwerts, Aufbewahrungszeitraums oder Service-Level-Objektivs für jeden Übernehmer.
- Die Behauptung, dass verpackte Szenarien gegen eine nachgelagerte Implementierung ausgeführt wurden oder dass diese Referenz eine rechtliche, sicherheitsrelevante oder barrierefreie Zertifizierung gewährt.
Vertrag
- Jedes Ereignis erhält einen semantischen Eigentümer, eine Schemaversion, einen Auslöser, erforderliche Eigenschaften und Beispiele für Ereignisse, die nicht ausgelöst werden dürfen.
- Halten Sie Konto-, Geräte-, anonyme und Sitzungsidentitäten getrennt; Zusammenführungen erfolgen nur durch eine prüfbare deterministische Regel.
- Berechnen Sie Entscheidungsmetriken aus definierten Populationen und Zeitfenstern, einschließlich verspäteter Ereignisse, Ausschlüssen und Verhalten bei fehlenden Daten.
- Wenden Sie Einwilligungs- und Sammlungskontrollen vor der Ausgabe an und halten Sie sensible Werte aus Freiform-Eigenschaften und Dimensionen heraus.
- Validieren Sie Eingaben einmal an der Grenze und bewahren Sie die normalisierte Darstellung auf, die von nachgelagerter Logik verwendet wird.
- Speichern Sie die geschäftliche Transition vor oder atomar mit einem Outbox-Datensatz; Verbraucher deduplizieren anhand einer dauerhaften Betriebsidentität.
- Wählen Sie den autoritativen Erzeuger für jedes Ereignis und fügen Sie stabile Ereignis-, Sitzungs-, Konto-, Geräte-, Experiment-, Schema- und Einwilligungskontexte nur hinzu, wenn diese legitim verfügbar sind.
- Deduplizieren Sie Wiederholungen, validieren Sie Reihenfolgeannahmen und verspätete Ankünfte und gleichen Sie Client-Beobachtungen mit Server-Ergebnissen ab, bevor Sie Ereignisse für entscheidende Metriken verwenden.
Implementierungsleitfaden
- Liefern Sie zuerst additive Speicher- und Schnittstellenänderungen, füllen Sie diese beobachtbar nach, und stellen Sie alte Pfade nach Kompatibilitätsnachweis ein.
- Modellieren Sie Eingaben, Ausgaben, Akteure, Zustände, Invarianten, Nebenwirkungen und Beweise der Ereignisverfolgung, bevor Sie Framework- oder Anbieterdetails auswählen.
- Speichern Sie die anwendbare Version des Ereignisverfolgungsvertrags oder der Richtlinie mit materiellem Zustand, damit Migrationen, Wiedergabe und Supportentscheidungen zuordenbar bleiben.
- Führen Sie den Pfad hinter kontrolliertem Rollout ein, vergleichen Sie erwartete und beobachtete Ergebnisse und behalten Sie eine getestete Wiederherstellungsroute, bis Übernahmebeweise vorliegen.
Fehlerbehandlung und Schutzmaßnahmen
- Schemaverletzungen gelangen in einen sichtbaren Quarantäne- oder Ablehnungspfad; sie verändern nicht stillschweigend einen Metriknenner.
- Ungültiger oder widersprüchlicher Zustand der Ereignisverfolgung wird abgelehnt oder in Quarantäne gestellt; die Implementierung schätzt niemals einen Wert, der Autorität erweitert oder eine Wirkung dupliziert.
- Wiederholungen sind begrenzt und verwenden dauerhafte Identität; nach Erschöpfung erreicht die Arbeit einen prüfbaren Endzustand mit verantwortlichem Eigentümer.
Verifikation und Betrieb
- Injizieren Sie Abhängigkeitsfehler vor und nach der Persistenz und beweisen Sie, dass Wiederholungen auf ein einziges extern sichtbares Ergebnis konvergieren.
- Überwachen Sie Erfolg, Ablehnung, Validierungsfehler, Abhängigkeitsfehler, Wiederholungsermüdung und Wiederherstellung der Ereignisverfolgung nach Vertragsversion ohne sensible Nutzlastdimensionen.
- Führen Sie gepaarte positive und negative Fixtures nach Richtlinien-, Schema-, Abhängigkeits-, Migrations- oder Grenzänderungen erneut aus und bewahren Sie die resultierenden Beweise auf.
Übernahmeannahmen
- Namen und Werte im Beispiel sind ein konkretes Fixture, keine universellen Standardwerte; Übernehmer ersetzen sie durch dokumentierte Beweise und Eigentum.
- Das übernehmende System kann authentifizierte Identität, dauerhafte Betriebs- oder Datensatzversionen, begrenzte Telemetrie und einen kontrollierten Pfad für Änderungen bereitstellen.
Die ausführbar aussehenden Beispiele in diesem Paket sind Fixtures und Akzeptanzverträge. Führen Sie den Sammlungsvalidator aus, um Struktur und Metadaten zu prüfen, übersetzen und führen Sie dann die Szenarien im Ziel-Repository aus, bevor Sie Implementierungsbeweise aufzeichnen.