Browser monitoring ist ein Beta-Feature von AppSignal Labs. Das Paket
@appsignal/browser wird unter dem beta-Tag auf npm veröffentlicht, und
seine Konfiguration und API können sich zwischen Beta-Releases noch ändern.
Teilen Sie Ihr Feedback in unserer
Discord-Community.@appsignal/browser ersetzt @appsignal/javascript, dessen Framework-Integrationen und dessen Plugin-Pakete. Dieser Leitfaden ordnet die alte API der neuen zu.
Das neue SDK sammelt Breadcrumbs und web vitals nach init() und meldet Fehler in den Browser-Ansichten. Migrieren Sie, sobald Sie bereit sind, die neue API zu übernehmen, und sehen Sie sich die folgenden Änderungen an.
Was sich ändert
Ein Paket statt mehrerer. Error tracking, Breadcrumbs und web vitals sind alle in@appsignal/browser. Das neue SDK hat keine passenden Plugin- oder Framework-Pakete mehr. Manche Funktionen sind eingebaut, andere erfordern Anwendungscode.
Funktionen statt einer Instanz. Es gibt kein Client-Objekt, das Sie erzeugen, herumgeben oder einer Komponente übergeben. Sie rufen init() einmal auf und importieren die Funktionen, die Sie brauchen, dort, wo Sie sie brauchen.
Nicht abgefangene Fehler werden ohne Nachfrage gemeldet. @appsignal/plugin-window-events gab es, weil Sie sie aktiv einschalten mussten. Sie sind jetzt standardmäßig an. Das SDK verwirft nichtssagende Cross-Origin-Skriptfehler. Verwenden Sie beforeError, um anderes Rauschen von Browsern oder Erweiterungen herauszufiltern.
Fehler werden an den browser-namespace gemeldet. @appsignal/javascript meldete an frontend, und es gibt keine namespace-Option mehr. Neue Fehler erscheinen im Browser-Bereich. Bestehende frontend-Fehler bleiben in ihrer aktuellen Liste. Bestehende Incidents im frontend-namespace bleiben, wo sie sind.
Ihre bestehenden frontend-Incidents behalten ihre Zuweisungen, Zustände und Schweregrade. Das neue Paket meldet an den browser-namespace. Dessen neue Issues starten ohne Zuweisung, wie jedes andere neue Issue.
Keine spans, Dekoratoren oder Overrides. Das neue SDK hat kein Gegenstück zur alten span-API. Verwenden Sie setTags() für Tags auf nachfolgenden Fehlern und beforeError oder beforeBreadcrumb, um sensible Daten zu entfernen. Der optionale Kontext, den Sie an captureError() übergeben, ist in dieser Beta nicht in gewöhnlichen Fehlerberichten enthalten.
Konfiguration
Vorher:
Methoden
appsignal.wrap() führte Ihren Code aus und meldete ausgelöste Fehler. Das zurückgegebene Promise wurde mit demselben Fehler abgelehnt, sodass Ihr Code ihn abfangen konnte. Der direkte Ersatz macht beide Hälften ausdrücklich:
Framework-Integrationen
Die React Error Boundary ändert ihre Form:
action-Prop. Rufen Sie setRouteTemplate() für die Route auf, nach der Fehler gruppiert werden. Wenn Sie setTags() verwenden, rufen Sie es nach init() auf und löschen Sie die Tags, wenn sie nicht mehr gelten sollen.
Schritte zur Migration
- Installieren Sie
@appsignal/browser@betaund entfernen Sie@appsignal/javascriptsamt jedem@appsignal/plugin-*- und Framework-Integrationspaket. - Ersetzen Sie Ihren
new Appsignal({ ... })-Aufruf durchinit({ ... }), anhand der Konfigurationstabelle in diesem Leitfaden. Fügen Sieendpointundactivehinzu. - Ersetzen Sie
sendErrordurchcaptureErrorundwrapdurchtry/catch. - Verschieben Sie
ignoreErrors-Muster, Dekoratoren und Overrides inbeforeErrorundbeforeBreadcrumb. - Rufen Sie bei jeder Router-Navigation
setRouteTemplate()auf. - Tauschen Sie den Import der React Error Boundary, falls Sie eine verwenden.
- Richten Sie Benachrichtigungseinstellungen für den
browser-namespace ein. - Deployen Sie, und bestätigen Sie dann, dass Fehler und web vitals im Browser-Bereich Ihrer Anwendung ankommen.
appVersion liefert.