Sentry Breadcrumbs: addBreadcrumb, Filter und Limits | We.Inc
So funktionieren Sentry Breadcrumbs im JavaScript SDK: automatische und manuelle Breadcrumbs, Filtern mit beforeBreadcrumb, der Standardwert 100 für maxBreadcrumbs und das Bereinigen sensibler Daten.
Breadcrumbs in Sentry sind kleine Einträge darüber, was kurz vor einem Fehler passiert ist: Klicks, Netzwerk-Requests, Konsolenmeldungen und Seitenwechsel. Das SDK sammelt viele davon automatisch, eigene ergänzt du mit Sentry.addBreadcrumb(), und sie werden an das nächste Fehler-Event angehängt. Standardmäßig behält das JavaScript SDK die letzten 100.
Breadcrumb-Einstellungen im Überblick
Einstellung oder Aufruf
Was sie bewirkt
Standard
maxBreadcrumbs
Wie viele Breadcrumbs behalten werden
beforeBreadcrumb
Jeden Breadcrumb vor dem Speichern bearbeiten oder verwerfen
Nicht gesetzt
Sentry.addBreadcrumb()
Einen eigenen Breadcrumb aufzeichnen
Nicht zutreffend
fatal, error, warning, log, info oder debug
Nicht gesetzt
Wenn ein Kunde auf deiner Website auf einen Fehler stößt, sagt dir der Stack Trace, wo der Code abgebrochen ist, aber nicht, was der Kunde vorher getan hat. Breadcrumbs schließen diese Lücke. Dieser Leitfaden behandelt das JavaScript SDK für den Browser; andere Sentry SDKs folgen derselben Idee mit eigenen Standardwerten.
Das SDK achtet auf Klicks und Tastendrücke, fetch- und XHR-Requests, Konsolenaufrufe und Adresswechsel und macht aus jedem einen Breadcrumb.
Dein eigener Code kann mit Sentry.addBreadcrumb() weitere hinzufügen, zum Beispiel nach einer Anmeldung oder wenn ein Gutschein eingelöst wurde.
Jeder neue Breadcrumb läuft zuerst durch beforeBreadcrumb, falls du es gesetzt hast. Gibst du null zurück, wird er verworfen.
Die behaltene Spur ist auf maxBreadcrumbs begrenzt; das SDK schneidet die ältesten ab, wenn die Liste über die Grenze wächst.
Wenn ein Fehler erfasst wird, wird die aktuelle Spur an dieses Event angehängt und auf der Issue-Seite angezeigt.
Nutze eine kurze, gleichbleibende Kategorie wie auth, cart oder payment, damit du die Spur auf der Issue-Seite filtern kannst.
Leg Details in data ab, nicht in die Nachricht, damit sie als Felder erscheinen.
Schreib niemals Passwörter, Kartennummern oder vollständige Adressen in einen Breadcrumb. Sentry rät selbst, keine personenbezogenen Daten zu loggen, wenn Konsolenlogs zu Breadcrumbs werden.
Wenn die Konsole sehr gesprächig ist, verwirf Konsolen-Breadcrumbs in beforeBreadcrumb, statt maxBreadcrumbs für alles zu senken.
Setzt du maxBreadcrumbs auf 0, sind Breadcrumbs ausgeschaltet; das SDK bricht bei Werten von 0 oder weniger früh ab.
Häufige Fragen
Was ist der Standardwert von maxBreadcrumbs?
100. Die Sentry-Dokumentation nennt für das JavaScript SDK einen Standardwert von 100, und der SDK-Quellcode verwendet dieselbe Zahl, wenn die Option nicht gesetzt ist.
Welche Breadcrumbs werden automatisch aufgezeichnet?
Im Browser-SDK: Klicks und Tastendrücke auf DOM-Elementen, XHR- und fetch-Requests, Aufrufe der Console API und alle Adresswechsel.
Welche Schlüssel kann ein Breadcrumb haben?
type, category, message, level, timestamp und data. Laut Dokumentation werden andere Schlüssel bei der Verarbeitung verworfen.
Wie verhindere ich, dass ein Breadcrumb aufgezeichnet wird?
Setze beforeBreadcrumb in Sentry.init. Es erhält jeden Breadcrumb und einen optionalen Hinweis und kann einen geänderten Breadcrumb oder null zurückgeben, um ihn zu verwerfen.
Werden Breadcrumbs einzeln gesendet?
Nein. Sie werden im Speicher gehalten und an das nächste Event angehängt, das das SDK sendet, etwa einen Fehler.
Manuelle Breadcrumbs, die sich lohnen
Automatische Breadcrumbs sagen dir, was der Browser getan hat. Manuelle sagen dir, was im Geschäftsablauf passiert ist: Ein Kunde hat Expressversand gewählt, ein Rabattcode wurde eingelöst, ein Buchungsdatum wurde ausgewählt.
Genau nach diesen Momenten fragt der Support zuerst, wenn du sie aufzeichnest, sparst du dir also eine Runde Rückfragen.
Personenbezogene Daten heraushalten
Breadcrumbs nehmen oft Text auf, den du gar nicht behalten wolltest: eine E-Mail-Adresse in einer Konsolenzeile, eine Suchanfrage in einer URL. Bereinige sie in beforeBreadcrumb, bevor sie gespeichert werden, und nutze beforeSend für den Rest des Events.
Sentry bietet außerdem eine serverseitige Datenbereinigung, die du in der Oberfläche konfigurierst und die als zweites Netz dient.
Codebeispiele
Einen manuellen Breadcrumb hinzufügen
Zeichne einen Geschäftsschritt mit Kategorie, kurzer Nachricht, Level und zusätzlichen Feldern unter data auf.
Breadcrumbs filtern und bereinigen
Verwirf Konsolenrauschen, maskiere E-Mail-Adressen und schreib das Standardlimit aus, damit es leicht zu ändern ist.
Simulator für die Breadcrumb-Spur
Zeichne ein paar Events auf, stell die Optionen ein und lös dann einen Fehler aus, um zu sehen, welche Breadcrumbs mitgeschickt würden. Das ist eine Simulation in deinem Browser; nichts wird an Sentry gesendet.