Datadog
Aprende cómo integrar los errores de backend de Datadog con las repeticiones de sesión de OpenReplay para ampliar tus capacidades de monitoreo y depuración.
1. Genera la API Key y la Application Key de Datadog
Section titled 1. Genera la API Key y la Application Key de Datadog- Ve a Datadog > Integrations > APIs y genera la API Key, o usa la existente.
- En la misma página, haz clic en Application Keys y genera una nueva application key.
2. Configura la integración de Datadog en OpenReplay
Section titled 2. Configura la integración de Datadog en OpenReplayEn tu cuenta de OpenReplay, sigue estos 3 pasos para completar las correlaciones de las repeticiones de sesión con los errores del backend de Datadog.
Habilita la integración de Datadog
Section titled Habilita la integración de Datadog- Ve a Preferences > Integrations en OpenReplay.
- Selecciona la pestaña Backend Logging.
- Selecciona el proyecto en el que quieres habilitar la integración de Datadog: Localiza la tarjeta de la integración de Datadog > Haz clic en ella.
Introduce las credenciales de Datadog
Section titled Introduce las credenciales de DatadogEn la barra lateral de la integración de Datadog introduce:
- API Key de Datadog
- Application Key
Verifica la conexión
Section titled Verifica la conexión- Haz clic en Add para probar la conexión
3. Propaga openReplaySession.id
Section titled 3. Propaga 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 usando una cabecera HTTP personalizada.
Frontend: Incluye openReplaySession.id en las solicitudes de la API
Section titled Frontend: Incluye openReplaySession.id en las solicitudes de 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: Incluye openReplaySession.id en los logs
Section titled Backend: Incluye openReplaySession.id en los logsA continuación se muestra un ejemplo en Python que usa 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.