Stackdriver
Cómo integrar Stackdriver con OpenReplay y ver los errores del backend junto a las grabaciones de sesiones.
1. Crear una cuenta de servicio de Google Cloud
Section titled 1. Crear una cuenta de servicio de Google Cloud- En la Consola de GCP, ve a la página Crear clave de cuenta de servicio.
- En la lista de cuentas de servicio, selecciona New Service Account.
- En el campo del nombre de la cuenta de servicio, introduce “openreplay-stackdriver”.
- En la lista de roles, añade Logging > Logs Viewer y Stackdriver > Stackdriver Accounts Viewer.
- Haz clic en Create para descargar el archivo JSON que contiene tu clave.
2. Habilitar Stackdriver en OpenReplay
Section titled 2. Habilitar Stackdriver en OpenReplayPega tus credenciales de Log Name y openreplay-stackdriver en el panel de OpenReplay, en ‘Preferences > Integration’.

3. Propagar openReplaySessionToken
Section titled 3. Propagar openReplaySessionTokenPara vincular un evento de Stackdriver con la sesión de usuario grabada, se debe propagar un token único desde tu frontend a tu backend en cada solicitud que quieras rastrear. Esto se puede hacer usando un encabezado HTTP personalizado. En el siguiente ejemplo, usamos la función 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,
});
Para que OpenReplay pueda asociar una entrada de registro de Stackdriver con la sesión de usuario grabada, se debe propagar un token único como label a cada error del backend que desees rastrear.
A continuación, se muestra un ejemplo con la API de Python de Stackdriver.
google_logger.log_text("A LOG ENTRY", severity='ERROR', labels={"openReplaySessionToken": OPENREPLAY_SESSION_TOKEN})
#or
google_logger.log_struct({"message": "A LOG ENTRY"}, severity='ERROR', labels={"openReplaySessionToken": OPENREPLAY_SESSION_TOKEN})
El nombre de la etiqueta openReplaySessionToken distingue entre mayúsculas y minúsculas.
¿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.