Datadog
Saiba como integrar os erros de backend do Datadog aos session replays do OpenReplay para ampliar seus recursos de monitoramento e depuração.
1. Gerar a API Key e a Application Key do Datadog
Section titled 1. Gerar a API Key e a Application Key do Datadog- Acesse Datadog > Integrations > APIs e gere a API Key, ou use a que já existe.
- Na mesma página, clique em Application Keys e gere uma nova application key.
2. Configurar a integração do Datadog no OpenReplay
Section titled 2. Configurar a integração do Datadog no OpenReplayNa sua conta do OpenReplay, siga estes 3 passos para concluir a correlação dos session replays com os erros de backend do Datadog.
Habilitar a integração do Datadog
Section titled Habilitar a integração do Datadog- Acesse Preferences > Integrations no OpenReplay.
- Selecione a aba Backend Logging.
- Selecione o projeto para o qual você quer habilitar a integração do Datadog: localize o card da integração do Datadog > clique nele.
Informar as credenciais do Datadog
Section titled Informar as credenciais do DatadogNa barra lateral da integração do Datadog, informe:
- API Key do Datadog
- Application Key
Verificar a conexão
Section titled Verificar a conexão- Clique em Add para testar a conexão
3. Propagar o openReplaySession.id
Section titled 3. Propagar o openReplaySession.idPara vincular um evento do Datadog à sessão de usuário gravada, é preciso propagar um ID de sessão único, openReplaySession.id, do seu frontend para o seu backend em cada requisição que você quiser rastrear. Isso pode ser feito usando um header HTTP personalizado.
Frontend: incluir o openReplaySession.id nas requisições de API
Section titled Frontend: incluir o openReplaySession.id nas requisições de 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 o openReplaySession.id nos logs
Section titled Backend: incluir o openReplaySession.id nos logsAbaixo está um exemplo em Python usando o módulo logging para incluir automaticamente o openReplaySession.id nos seus 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()
Tem dúvidas?
Section titled Tem dúvidas?Se você tiver algum problema, conecte-se ao nosso Slack e receba ajuda da nossa comunidade.