Отслеживание ошибок

Узнайте, как отслеживать и устранять ошибки с помощью OpenReplay. Получите детальную видимость ошибок в ваших веб-приложениях и устраняйте неполадки с полным контекстом.

Отслеживание ошибок

Получите высокоуровневую и детальную видимость ошибок в ваших веб-приложениях. С помощью OpenReplay вы можете устранять неполадки с полным контекстом, что обеспечивает более быстрое решение проблем.

Аналитика отслеживания ошибок в различных представлениях

Section titled Аналитика отслеживания ошибок в различных представлениях

Из представления «Сессии»

Section titled Из представления «Сессии»
  1. Перейдите в представление сессии > вкладка Errors
  2. Используйте Omnisearch: выберите событие «Error Message» и введите конкретное сообщение об ошибке.
Ошибки в сессиях

Внутри отдельной сессии

Section titled Внутри отдельной сессии
  1. Перейдите в Console > вкладка Errors
  2. Откройте ошибку, чтобы просмотреть полные sourcemap.
  3. Нажмите “Find all sessions with this error”, чтобы увидеть список сессий, в которых произошла эта ошибка.
Ошибка сессии

Из представления «Cards»

Section titled Из представления «Cards»
  1. Перейдите в Cards > Add Card > Monitors
  2. Выберите карточку Table of Errors

Ручное логирование исключений

Section titled Ручное логирование исключений

Трекер OpenReplay поддерживает логирование трёх типов ошибок:

  1. Перехваченные исключения - Error
  2. Отклонённые промисы - PromiseRejectionEvent
  3. События ошибок (onError) - ErrorEvent

Обо всех этих ошибках можно сообщить с помощью одного метода:

tracker.handleError(error, metaObject); // metaObject is optional and is a flat object

Рассмотрим примеры для каждого типа ошибки:

Перехваченные исключения (Error)

Section titled Перехваченные исключения (Error)

По умолчанию перехваченные исключения не логируются на вкладке «Console». Чтобы сообщить об ошибке, используйте следующий шаблон:

try {
    // application code
} catch (err) {
    // application code that handles the error
    tracker.handleError(err, metaObject); // metaObject is optional and is a flat object
}

Отклонённые промисы (PromiseRejectionEvent)

Section titled Отклонённые промисы (PromiseRejectionEvent)

Если промис отклонён и о нём необходимо сообщить в OpenReplay, используйте этот подход:

function myFunc() {
    doSomeAsyncStuff()
        .then((result) => {
            // application code
        })
        .catch(promiseRejectionErr => {
            // application code to handle the error
            tracker.handleError(promiseRejectionErr, metaObject); // metaObject is optional and is a flat object
        });
}

Сообщайте об ошибках, вызванных событиями, например о том, что элемент <img> не загрузился:

<img id="myImg" src="image.gif">
<p id="demo"></p>

<script>
document.getElementById("myImg").addEventListener("error", myFunction);

function myFunction(errorEvent) {
    document.getElementById("demo").innerHTML = "The image could not be loaded.";
    tracker.handleError(errorEvent, { context: "demo" });
}
</script>

Остались вопросы?

Section titled Остались вопросы?

Если у вас есть какие-либо вопросы об этом процессе, не стесняйтесь связаться с нами в нашем Slack или загляните на наш Форум.