Stackdriver
Как интегрировать Stackdriver с OpenReplay и просматривать ошибки бэкенда рядом с записями сессий.
1. Создание сервисного аккаунта Google Cloud
Section titled 1. Создание сервисного аккаунта Google Cloud- В консоли GCP перейдите на страницу Create Service Account Key.
- В списке сервисных аккаунтов выберите New Service Account.
- В поле имени сервисного аккаунта введите «openreplay-stackdriver».
- В списке ролей добавьте Logging > Logs Viewer и Stackdriver > Stackdriver Accounts Viewer.
- Нажмите Create, чтобы скачать JSON-файл, содержащий ваш ключ.
2. Включение Stackdriver в OpenReplay
Section titled 2. Включение Stackdriver в OpenReplayВставьте свои учётные данные Log Name и openreplay-stackdriver в панели управления OpenReplay в разделе «Preferences > Integration».

3. Передача openReplaySessionToken
Section titled 3. Передача openReplaySessionTokenЧтобы связать событие Stackdriver с записанной пользовательской сессией, уникальный токен должен передаваться с вашего фронтенда на бэкенд при каждом запросе, который вы хотите отслеживать. Это можно сделать с помощью пользовательского HTTP-заголовка. В приведённом ниже примере мы используем функцию fetch для отправки этого заголовка.
const headers = {
Accept: 'application/json',
'Content-Type': 'application/json',
};
if (tracker.getSessionToken()) { // or window.OpenReplay instead of tracker if you're using the snippet
headers['X-OpenReplay-SessionToken'] = tracker.getSessionToken(); // Inject openReplaySessionToken
}
fetch('www.your-backend.com', {
'GET',
headers,
});
Чтобы OpenReplay мог сопоставить запись журнала Stackdriver с записанной пользовательской сессией, уникальный токен должен передаваться в качестве label к каждой ошибке бэкенда, которую вы хотите отслеживать.
Ниже приведён пример с использованием Python API Stackdriver.
google_logger.log_text("A LOG ENTRY", severity='ERROR', labels={"openReplaySessionToken": OPENREPLAY_SESSION_TOKEN})
#or
google_logger.log_struct({"message": "A LOG ENTRY"}, severity='ERROR', labels={"openReplaySessionToken": OPENREPLAY_SESSION_TOKEN})
Имя тега openReplaySessionToken чувствительно к регистру.
Остались вопросы?
Section titled Остались вопросы?Если у вас возникнут какие-либо проблемы, присоединяйтесь к нашему Slack или загляните на наш Форум и получите помощь от нашего сообщества.