Sentry
Cómo integrar Sentry con OpenReplay y ver los errores del backend junto a las grabaciones de sesiones.
1. Generar el token de autenticación de Sentry
Section titled 1. Generar el token de autenticación de SentryVe a Sentry > Account > API > Auth Tokens y genera el token con los permisos event:read, org:read y project:read. Este último se usará en el siguiente paso al habilitar tu integración de Sentry en el panel de OpenReplay.

2. Habilitar la integración en OpenReplay
Section titled 2. Habilitar la integración en OpenReplayCopia tu organization_slug y tu project_slug desde la página Projects de tu panel de Sentry.


Luego pégalos en el panel de OpenReplay, en ‘Preferences > Integration’, junto al token que generaste previamente en el paso 1.
3. Propagar openReplaySessionToken
Section titled 3. Propagar openReplaySessionTokenPara que OpenReplay pueda asociar un evento de Sentry con la sesión de usuario grabada, el evento de Sentry debe etiquetarse con un token único.
Frontend
Section titled FrontendSi dependes de Sentry en tu frontend, puedes seguir el ejemplo de abajo.
import OpenReplay from "@openreplay/tracker";
import * as Sentry from "@sentry/browser";
const tracker = new OpenReplay({
projectKey: MY_PROJECT_KEY,
onStart: ({ sessionToken }) => {
Sentry.setTag("openReplaySessionToken", sessionToken);
},
})
O en caso de usar el snippet:
if (window.OpenReplay.getSessionToken()) {
Sentry.setTag("openReplaySessionToken", window.OpenReplay.getSessionToken());
}
Backend
Section titled BackendDe lo contrario, si usas el SDK de Sentry en el backend, el token de sesión debe propagarse desde tu frontend en cada petición que quieras rastrear. Esto puede hacerse mediante un encabezado HTTP personalizado. En el siguiente ejemplo, usamos la API fetch para enviar ese encabezado.
const headers = {
Accept: 'application/json',
'Content-Type': 'application/json',
};
if (tracker.getSessionToken()) { // or window.OpenReplay instead of tracker if you're using the snippet
headers['X-OpenReplay-SessionToken'] = tracker.getSessionToken(); // Inject openReplaySessionToken
}
fetch('www.your-backend.com', {
'GET',
headers,
});
También puedes usar el Fetch Plugin de OpenReplay para establecer el encabezado automáticamente en cada petición de rastreo.
Luego puedes extraer el openReplaySessionToken del encabezado y agregarlo a tu scope de Sentry (idealmente usando un middleware o un decorador).
with configure_scope() as scope:
scope.set_tag('openReplaySessionToken', app.current_request.headers.get('X-OpenReplay-SessionToken'))
El nombre de la etiqueta debe ser exactamente openReplaySessionToken.
4. Adjuntar openReplaySessionURL (opcional pero muy útil)
Section titled 4. Adjuntar openReplaySessionURL (opcional pero muy útil)Si deseas vincular la URL de la grabación de OpenReplay con Sentry y mostrarla como una etiqueta, aquí tienes un ejemplo de cómo hacerlo:
const tracker = new OpenReplay({
projectKey: window.OPENREPLAY_PROJECT_KEY,
onStart: ({ sessionToken, sessionID }) => {
// This is to link from OpenReplay -> Sentry
Sentry.setTag("openReplaySessionToken", sessionToken);
// This is to link from Sentry -> OpenReplay (requires tracker v3.6.0+)
Sentry.setTag(
"openReplaySessionURL",
tracker.getSessionURL();
);
},
});
¿Tienes preguntas?
Section titled ¿Tienes preguntas?Si tienes algún problema, conéctate a nuestro Slack o visita nuestro Foro y obtén ayuda de nuestra comunidad.