Sentry
Découvrez comment intégrer les journaux backend de Sentry aux rejeux de session d’OpenReplay afin d’étendre vos capacités de surveillance et de débogage.
1. Générer un Auth Token Sentry
Section titled 1. Générer un Auth Token SentryRendez-vous sur Sentry > Account > API > Auth Tokens et générez un Auth Token avec les autorisations suivantes :
event:readorg:readproject:read
Vous utiliserez ce token à l’étape suivante lors de l’activation de votre intégration Sentry dans le tableau de bord OpenReplay.
2. Activer l’intégration Sentry dans OpenReplay
Section titled 2. Activer l’intégration Sentry dans OpenReplay- Copiez vos slugs d’organisation et de projet :
- Allez sur la page Projects dans votre tableau de bord Sentry.
- Copiez votre
organization_sluget votreproject_slug.
- Configurez l’intégration dans OpenReplay :
- Dans OpenReplay, accédez à Preferences > Integrations.
- Localisez la carte d’intégration Sentry.
- Saisissez votre
organization_slug, votreproject_sluget l’Auth Token que vous avez généré à l’étape 1.
3. Propager openReplaySession.id
Section titled 3. Propager openReplaySession.idPour qu’OpenReplay associe un événement Sentry à la session utilisateur enregistrée, l’événement doit être étiqueté avec un identifiant de session unique, openReplaySession.id.
Frontend
Section titled FrontendSi vous utilisez Sentry dans votre application frontend, vous pouvez suivre l’exemple ci-dessous.
Remarque : tracker.start() est asynchrone et renvoie une Promise. Vous devez attendre qu’elle soit résolue avant de tenter d’obtenir l’identifiant de session.
// 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
});
Utilisation du snippet OpenReplay
Section titled Utilisation du snippet OpenReplayif (window.OpenReplay) {
window.OpenReplay.start().then(() => {
const sessionId = window.OpenReplay.getSessionID();
if (sessionId) {
Sentry.setTag("openReplaySession.id", sessionId);
}
// Your application code
});
}
Backend
Section titled BackendSi vous utilisez le SDK Sentry dans votre backend, l’identifiant de session doit être propagé depuis votre frontend vers votre backend à chaque requête que vous souhaitez suivre. Cela peut se faire à l’aide d’un en-tête HTTP personnalisé.
Code frontend pour envoyer l’identifiant de session
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. Attacher openReplaySessionURL (Facultatif mais utile)
Section titled 4. Attacher openReplaySessionURL (Facultatif mais utile)Si vous souhaitez relier l’URL de l’enregistrement OpenReplay à Sentry et l’afficher sous forme d’étiquette, vous pouvez le faire en ajoutant l’étiquette openReplaySessionURL.
Exemple frontend
Section titled Exemple frontendimport * 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
});
Des questions ?
Section titled Des questions ?Si vous rencontrez des problèmes, rejoignez notre Slack ou consultez notre Forum et obtenez de l’aide auprès de notre communauté.