Datadog
Aprende a integrar los errores del backend de Datadog con las grabaciones de sesión de OpenReplay para ampliar tus capacidades de monitoreo y depuración.
1. Generar la API Key y la Application Key de Datadog
Section titled 1. Generar la API Key y la Application Key de Datadog- Ve a Datadog > Integrations > APIs y genera la API Key, o utiliza la existente.
- En la misma página, haz clic en Application Keys y genera una nueva application key.
2. Configurar la integración de Datadog en OpenReplay
Section titled 2. Configurar la integración de Datadog en OpenReplayEn tu cuenta de OpenReplay, sigue estos 3 pasos para completar las correlaciones de las grabaciones de sesión con los errores del backend de Datadog.
Habilitar la integración de Datadog
Section titled Habilitar la integración de Datadog- Ve a Preferences > Integrations en OpenReplay.
- Selecciona la pestaña Backend Logging.
- Selecciona el proyecto para el que deseas habilitar la integración de Datadog: Localiza la tarjeta de la integración de Datadog > Haz clic en ella.
Introducir las credenciales de Datadog
Section titled Introducir las credenciales de DatadogEn la barra lateral de la integración de Datadog introduce:
- La API Key de Datadog
- La Application Key
Verificar la conexión
Section titled Verificar la conexión- Haz clic en Add para probar la conexión
3. Propagar openReplaySession.id
Section titled 3. Propagar openReplaySession.idPara vincular un evento de Datadog con la sesión de usuario grabada, es necesario propagar un ID de sesión único openReplaySession.id desde tu frontend hacia tu backend en cada solicitud que quieras rastrear. Esto se puede hacer utilizando un encabezado HTTP personalizado.
Frontend: Incluir openReplaySession.id en las solicitudes a la API
Section titled Frontend: Incluir openReplaySession.id en las solicitudes a la API// JavaScript Example for for Single Page Applications (SPA):
const sessionId = tracker.getSessionID();
const headers = {
'Content-Type': 'application/json',
};
if (sessionId) {
headers['openReplaySession.id'] = sessionId;
}
// Make the API request
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
});
Backend: Incluir openReplaySession.id en los logs
Section titled Backend: Incluir openReplaySession.id en los logsA continuación se muestra un ejemplo en Python que utiliza el módulo logging para incluir automáticamente el openReplaySession.id en tus logs.
import logging
from flask import Flask, request, g
app = Flask(__name__)
# Configure the root logger
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger()
# Create a custom logging filter
class OpenReplayFilter(logging.Filter):
def filter(self, record):
session_id = getattr(g, 'openreplay_session_id', None)
if session_id:
record.msg = f"[openReplaySession.id={session_id}] {record.msg}"
return True
# Add the filter to the logger
logger.addFilter(OpenReplayFilter())
@app.before_request
def before_request():
# Extract the session ID from headers and store it in the Flask `g` object
g.openreplay_session_id = request.headers.get('openReplaySession.id')
@app.route('/api/endpoint')
def api_endpoint():
# Your logic here
# Log an event with the session ID automatically included
logger.info("Endpoint accessed")
return 'Success', 200
@app.errorhandler(Exception)
def handle_exception(e):
# Log the error with the session ID automatically included
logger.error(f"Error: {str(e)}")
return 'Internal Server Error', 500
if __name__ == '__main__':
app.run()
¿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.