Sentry
Erfahren Sie, wie Sie die Backend-Logs von Sentry mit den Session Replays von OpenReplay integrieren, um Ihre Möglichkeiten beim Monitoring und Debugging zu erweitern.
1. Sentry-Auth-Token generieren
Section titled 1. Sentry-Auth-Token generierenGehen Sie zu Sentry > Account > API > Auth Tokens und generieren Sie ein Auth-Token mit den folgenden Berechtigungen:
event:readorg:readproject:read
Dieses Token verwenden Sie im nächsten Schritt, wenn Sie die Sentry-Integration im OpenReplay-Dashboard aktivieren.
2. Sentry-Integration in OpenReplay aktivieren
Section titled 2. Sentry-Integration in OpenReplay aktivieren- Kopieren Sie Ihre Organization und Project Slugs:
- Öffnen Sie in Ihrem Sentry-Dashboard die Seite Projects.
- Kopieren Sie Ihren
organization_slugund Ihrenproject_slug.
- Integration in OpenReplay konfigurieren:
- Navigieren Sie in OpenReplay zu Preferences > Integrations.
- Suchen Sie die Sentry-Integrationskarte.
- Geben Sie Ihren
organization_slug, Ihrenproject_slugund das in Schritt 1 generierte Auth-Token ein.
3. openReplaySession.id weitergeben
Section titled 3. openReplaySession.id weitergebenDamit OpenReplay ein Sentry-Ereignis der aufgezeichneten Benutzersitzung zuordnen kann, sollte das Ereignis mit einer eindeutigen Sitzungs-ID, openReplaySession.id, getaggt werden.
Frontend
Section titled FrontendWenn Sie Sentry in Ihrer Frontend-Anwendung verwenden, können Sie sich am folgenden Beispiel orientieren.
Hinweis: tracker.start() ist asynchron und gibt ein Promise zurück. Sie müssen warten, bis es aufgelöst ist, bevor Sie versuchen, die Sitzungs-ID abzurufen.
// JavaScript Example for for Single Page Applications (SPA):
import { tracker } from "@openreplay/tracker";
import * as Sentry from "@sentry/browser";
tracker.configure({
projectKey: 'YOUR_PROJECT_KEY',
ingestPoint: "https://openreplay.mydomain.com/ingest", // when dealing with the self-hosted version of OpenReplay
});
tracker.start().then(() => {
const sessionId = tracker.getSessionID();
if (sessionId) {
Sentry.setTag("openReplaySession.id", sessionId);
}
// Your application code
});
Das OpenReplay-Snippet verwenden
Section titled Das OpenReplay-Snippet verwendenif (window.OpenReplay) {
window.OpenReplay.start().then(() => {
const sessionId = window.OpenReplay.getSessionID();
if (sessionId) {
Sentry.setTag("openReplaySession.id", sessionId);
}
// Your application code
});
}
Backend
Section titled BackendWenn Sie das Sentry-SDK in Ihrem Backend verwenden, muss die Sitzungs-ID bei jeder Anfrage, die Sie nachverfolgen möchten, von Ihrem Frontend an Ihr Backend weitergegeben werden. Dies ist mit einem benutzerdefinierten HTTP-Header möglich.
Frontend-Code zum Senden der Sitzungs-ID
import { tracker } from '@openreplay/tracker';
tracker.configure({
projectKey: 'YOUR_PROJECT_KEY',
ingestPoint: "https://openreplay.mydomain.com/ingest", // when dealing with the self-hosted version of OpenReplay
});
tracker.start().then(() => {
const sessionId = tracker.getSessionID();
const headers = {
'Content-Type': 'application/json',
};
if (sessionId) {
headers['openReplaySession.id'] = sessionId;
}
fetch('https://www.your-backend.com/api/endpoint', {
method: 'GET', // or 'POST', 'PUT', etc.
headers,
// ...other options
})
.then(response => {
// Handle response
})
.catch(error => {
// Handle error
});
});
4. openReplaySessionURL anhängen (optional, aber nützlich)
Section titled 4. openReplaySessionURL anhängen (optional, aber nützlich)Wenn Sie die URL der OpenReplay-Aufzeichnung mit Sentry verknüpfen und als Tag anzeigen möchten, können Sie das Tag openReplaySessionURL hinzufügen.
Frontend-Beispiel
Section titled Frontend-Beispielimport * as Sentry from "@sentry/browser";
import { tracker } from '@openreplay/tracker';
tracker.configure({
projectKey: 'YOUR_PROJECT_KEY',
ingestPoint: "https://openreplay.mydomain.com/ingest", // when dealing with the self-hosted version of OpenReplay
});
tracker.start().then(() => {
const sessionId = tracker.getSessionID();
const sessionURL = tracker.getSessionURL();
if (sessionId) {
// Tag Sentry events with the session ID
Sentry.setTag("openReplaySession.id", sessionId);
}
if (sessionURL) {
// Tag Sentry events with the session URL (requires OpenReplay Tracker v3.6.0+)
Sentry.setTag("openReplaySessionURL", sessionURL);
}
// Your application code
});
Haben Sie Fragen?
Section titled Haben Sie Fragen?Falls Probleme auftreten, treten Sie unserem Slack bei und holen Sie sich Hilfe von unserer Community.