Sentry
Aprende a integrar los registros del backend de Sentry con las repeticiones de sesión de OpenReplay para ampliar tus capacidades de monitoreo y depuración.
1. Genera un token de autenticación de Sentry
Section titled 1. Genera un token de autenticación de SentryVe a Sentry > Account > API > Auth Tokens y genera un token de autenticación con los siguientes permisos:
event:readorg:readproject:read
Usarás este token en el siguiente paso al habilitar tu integración de Sentry en el panel de OpenReplay.
2. Habilita la integración de Sentry en OpenReplay
Section titled 2. Habilita la integración de Sentry en OpenReplay- Copia los slugs de tu organización y de tu proyecto:
- Ve a la página Projects en tu panel de Sentry.
- Copia tu
organization_slugy tuproject_slug.
- Configura la integración en OpenReplay:
- En OpenReplay, ve a Preferences > Integrations.
- Localiza la tarjeta de la integración de Sentry.
- Introduce tu
organization_slug, tuproject_slugy el token de autenticación que generaste en el paso 1.
3. Propaga openReplaySession.id
Section titled 3. Propaga openReplaySession.idPara que OpenReplay asocie un evento de Sentry con la sesión de usuario grabada, el evento debe etiquetarse con un ID de sesión único, openReplaySession.id.
Frontend
Section titled FrontendSi usas Sentry en tu aplicación frontend, puedes seguir el ejemplo a continuación.
Nota: tracker.start() es asíncrono y devuelve una Promise. Debes esperar a que se resuelva antes de intentar obtener el ID de sesión.
// JavaScript Example for for Single Page Applications (SPA):
import OpenReplay from "@openreplay/tracker";
import * as Sentry from "@sentry/browser";
const tracker = new OpenReplay({
projectKey: 'YOUR_PROJECT_KEY',
});
tracker.start().then(() => {
const sessionId = tracker.getSessionID();
if (sessionId) {
Sentry.setTag("openReplaySession.id", sessionId);
}
// Your application code
});
Uso del snippet de OpenReplay
Section titled Uso del snippet de 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 usas el SDK de Sentry en tu backend, el ID de sesión debe propagarse desde tu frontend hacia tu backend en cada solicitud que quieras rastrear. Esto puede hacerse mediante una cabecera HTTP personalizada.
Código frontend para enviar el ID de sesión
import OpenReplay from "@openreplay/tracker";
const tracker = new OpenReplay({
projectKey: 'YOUR_PROJECT_KEY',
});
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. Adjunta openReplaySessionURL (opcional pero útil)
Section titled 4. Adjunta openReplaySessionURL (opcional pero útil)Si deseas vincular la URL de la grabación de OpenReplay con Sentry y mostrarla como una etiqueta, puedes hacerlo añadiendo la etiqueta openReplaySessionURL.
Ejemplo de frontend
Section titled Ejemplo de frontendimport OpenReplay from "@openreplay/tracker";
import * as Sentry from "@sentry/browser";
const tracker = new OpenReplay({
projectKey: 'YOUR_PROJECT_KEY',
});
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
});
¿Tienes preguntas?
Section titled ¿Tienes preguntas?Si encuentras algún problema, conéctate a nuestro Slack o visita nuestro Foro y obtén ayuda de nuestra comunidad.