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 la clé API et la clé d’application Datadog
Section titled 1. Générer la clé API et la clé d’application Datadog- Allez dans Datadog > Integrations > APIs et générez la clé API, ou utilisez celle qui existe déjà.
- Sur la même page, cliquez sur Application Keys et générez une nouvelle clé d’application.
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- Allez 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 :
- La clé API Datadog
- La clé d’application
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é de votre frontend vers votre backend à 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 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()
Vous avez des questions ?
Section titled Vous avez 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é.