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.init(). Nur key ist erforderlich. Ein zweiter init()-Aufruf wird ignoriert, bis Sie destroy() aufrufen. Die meisten Anwendungen ändern Optionen in ihrem nächsten Build.
key
- Typ:
string - Erforderlich
endpoint
- Typ:
string - Standardwert: die Origin der aktuellen Seite
https://appsignal-endpoint.net. Wenn Sie AppSignal-Traffic über Ihre Domain proxyen, lassen Sie es ungesetzt, um die aktuelle Origin zu verwenden. Ein abschließender Schrägstrich wird entfernt.
Fehler gehen an POST /ingest/browser/errors, web vitals an POST /ingest/browser. Der Schlüssel reist als Query-Parameter api_key mit, was wissenswert ist, wenn Sie eine connect-src-Allowlist pflegen.
active
- Typ:
boolean - Standardwert:
true
init()-Aufruf. Bei false kehrt die Initialisierung zurück, ohne die Seite zu ändern, Timer zu starten oder Requests zu stellen. Ein zweiter init()-Aufruf kann ein bereits laufendes SDK nicht abschalten. Jede andere Funktion tut ebenfalls nichts, Sie können sie also überall aufrufen, ohne vorher zu prüfen.
Setzen Sie das aus Ihrer Build-Umgebung, damit Entwicklung, Tests und CI-Läufe nichts senden:
appVersion
- Typ:
string
serviceName
- Typ:
string - Standardwert:
"Browser"
serviceName: "Checkout UI" in der Trace-Timeline Checkout UI statt des Standards Browser. Verwenden Sie für jedes von Ihnen überwachte Front-end einen eigenen Wert. Das SDK sendet ihn mit jeder Fehlermeldung. Siehe Verteiltes Tracing für Browser.
tracePropagationTargets
- Typ:
string[] - Standardwert:
[]
traceparent-Header tragen. Jedes Muster braucht einen Host und einen Pfad. Zum Beispiel trifft ["api.example.com/**"] auf jeden Pfad unter api.example.com zu. api.example.com allein trifft auf nichts zu.
Wenn ein passender Request mit einer 5xx-Antwort antwortet oder einen Timeout auslöst, meldet das SDK einen Browser-Fehler. Um Back-end-Spans in dessen Trace zu sehen, instrumentieren Sie den empfangenden Service, damit er den Header liest.
Die leere Standardliste fügt keine traceparent-Header hinzu. Siehe Verteiltes Tracing für Browser für Einrichtung und Beispiele.
beforeError
- Typ:
(event: IncomingError) => IncomingError | null
null zurück, um den Fehler zu verwerfen, oder verändern Sie seine Felder, um sie zu redigieren. Mehr dazu unter Fehler filtern.
Dieser Callback muss synchron sein. Ein zurückgegebenes Promise wird erkannt, als console.error geloggt, und der Fehler wird verworfen.
beforeBreadcrumb
- Typ:
(breadcrumb: Breadcrumb) => Breadcrumb | null
null zurück, um ihn zu verwerfen, oder ändern Sie message und data, um sensiblen Text zu entfernen. Das läuft häufig, halten Sie es also schnell.
errors.enabled
- Typ:
boolean - Standardwert:
true
false hört das SDK weiterhin auf sie, sendet aber nichts.
errors.sampleRate
- Typ:
numberzwischen0und1 - Standardwert:
1.0
0.25 meldet also etwa ein Viertel von ihnen. Das passiert vor den Rate-Limits und bevor beforeError läuft.
breadcrumbs.network
- Typ:
boolean - Standardwert:
true
fetch- und XMLHttpRequest-Aufrufe auf, mit Ausnahme abgebrochener Requests. Diese Option steuert nicht den Breadcrumb für das initiale Laden des Dokuments. Das SDK liest keine Request- oder Response-Bodies.
breadcrumbs.console
- Typ:
boolean - Standardwert:
true
console.warn und console.error auf. console.log wird nicht gepatcht.
breadcrumbs.clicks
- Typ:
boolean - Standardwert:
true
breadcrumbs.longTasks
- Typ:
boolean - Standardwert:
true
privacy.queryParamsAllowlist
- Typ:
string[] - Standardwert:
[]
*, um mehrere Namen auf einmal zu treffen, "utm_*" behält also jeden UTM-Parameter. Die Standardliste ist leer, wodurch alle entfernt werden. Mehr dazu unter Datenschutz und Filtern.
privacy.networkBlocklist
- Typ:
string[] - Standardwert:
[]
fetch- und XMLHttpRequest-Aufrufe, die nicht als Breadcrumbs oder fehlgeschlagene Request-Fehler aufgezeichnet werden. Abgeglichen gegen Host und Pfad. Die Aufrufe finden weiterhin statt. Diese Option filtert nicht den Breadcrumb für das initiale Laden des Dokuments.
privacy.dom.maskText
- Typ:
string[] - Standardwert:
[]
click-Breadcrumbs durch [masked] ersetzt wird. Der Breadcrumb wird weiterhin aufgezeichnet, Sie behalten also die Information, dass eine Interaktion stattgefunden hat.
privacy.dom.blockElement
- Typ:
string[] - Standardwert:
[]
API-Referenz
Außerinit() tut keine dieser Funktionen etwas, bis das SDK mit active: true initialisiert wurde.