Datadog
Découvrez comment intégrer les erreurs backend de Datadog aux rejeux de session d’OpenReplay afin d’étendre vos capacités de surveillance et de débogage.
1. Générer une API Key et une Application Key Datadog
Section titled 1. Générer une API Key et une Application Key Datadog- Rendez-vous sur Datadog > Integrations > APIs et générez l’API Key, ou utilisez celle existante.
- Sur la même page, cliquez sur Application Keys et générez une nouvelle application key.
2. Configurer l’intégration Datadog dans OpenReplay
Section titled 2. Configurer l’intégration Datadog dans OpenReplayDans votre compte OpenReplay, suivez ces 3 étapes pour finaliser les corrélations entre les rejeux de session et les erreurs backend de Datadog.
Activer l’intégration Datadog
Section titled Activer l’intégration Datadog- Rendez-vous dans Preferences > Integrations dans OpenReplay.
- Sélectionnez l’onglet Backend Logging.
- Sélectionnez le projet pour lequel vous souhaitez activer l’intégration Datadog : Repérez la carte de l’intégration Datadog > Cliquez dessus.
Saisir les identifiants Datadog
Section titled Saisir les identifiants DatadogDans la barre latérale de l’intégration Datadog, saisissez :
- L’API Key Datadog
- L’Application Key
Vérifier la connexion
Section titled Vérifier la connexion- Cliquez sur Add pour tester la connexion
3. Propager openReplaySession.id
Section titled 3. Propager openReplaySession.idPour relier un événement Datadog à la session utilisateur enregistrée, un identifiant de session unique openReplaySession.id doit être propagé depuis votre frontend vers votre backend lors de chaque requête que vous souhaitez suivre. Cela peut être réalisé à l’aide d’un en-tête HTTP personnalisé.
Frontend : Inclure openReplaySession.id dans les requêtes API
Section titled Frontend : Inclure openReplaySession.id dans les requêtes 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 : Inclure openReplaySession.id dans les logs
Section titled Backend : Inclure openReplaySession.id dans les logsVoici un exemple en Python utilisant le module logging pour inclure automatiquement l’openReplaySession.id dans vos 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()
Des questions ?
Section titled Des questions ?Si vous rencontrez des problèmes, rejoignez notre Slack ou consultez notre Forum et obtenez de l’aide auprès de notre communauté.