Sentry программа что это такое

Русские Блоги

Система отслеживания ошибок Sentry приложение в среде Micro Service

Что такое Sentry.

SentryЭто система отслеживания в реальном времени с открытым исходным кодом, которая поддерживает основные языки программирования, такие как Python, Java, Go, Node. Ниже приводится интуитивное отображение Sentry через изображение консоли Sentry. Как показано на рисунке, сообщение об ошибке, содержащее имя проекта Sentry, проблема с проблемой, конкретная причина для проблемы. В частности, развертывание Micro-Service находится на нескольких машинах, а проблема позиционирования приносит большое удобство через Sentry.

2. Клиентский доступ

Здесь используется Sentry версии 7.1.0, которая подробно не детализирована из-за данных онлайн-строительства.

2.1 Проверьте Sentry Services

После завершения строительства я столкнулся с феноменом клиента, и я сомневаюсь в проблеме, и я обнаружил, что это проблема с сетью. По официальному обеспечению командных инструментов Linux: Sentry-CLI может быстро проверить, если клиентский аппарат проверяется на Sentry, является нормальной.

Что такое Sentry и почему без него тяжело при разработке веб-проекта

После установки установите переменную среды DSN, затем отправьте тестовое сообщение на сервер Sentry через команду Linux, затем перейдите к консоли SENTRY, чтобы увидеть, получено ли сообщение.

$ export SENTRY_DSN= $ sentry-cli send-event -m «Something happened»

2.2 DSN(Data Source Name)

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

Как показано на рисунке, какие люди настраиваются для отправки уведомления по электронной почте об ошибке, чтобы облегчить соответствующий ответственный для решения проблем.

Sentry Service поддерживает многопользовательскую, многоуровневую, больше, чем DSNУправление приложениемКаждое приложение соответствует Project_ID, а также Public_key и Second_Key для аутентификации идентичности. Если DSN выглядит следующим образом, вы можете увидеть, что клавиша в DSN представляет собой строку, аналогичную UUID, обеспечивая уникальность DSN. Проект отправляет сообщение об ошибке на свой собственный адрес DSN, а консоль SENTRY может видеть ошибку в этом проекте.

После получения этого DSN мы можем подключить Sentry на клиенте Java.

2.3 Клиенты Присоединяйтесь к Sentry

Здесь мы возьмем кадр журнала входа в качестве примера, другой доступ может обратиться к официальному сайту Sentry.

Сначала введена зависимость Maven

com.getsentry.raven raven-logback 7.1.0

Vogback будет выполнен на выходе компонента для выполнения события журнала, называемого Appender, а реализованный Appender должен наследовать. ch.qos.logback.core.AppenderИнтерфейс, представляющий компоненты реализации Sentry Sentryappender. Просмотрите исходный код SentryAppender, унаследовал базовый класс ch.qos.logback.core.appenderbase, а базовый класс реализовал интерфейс Appender. Когда мы распечатаем журнал ошибок через регистратор в своем коде, журнал ошибок будет нажиматься в Sentry System одновременно, и она реализована в методе Append SentryAppender. Зарегистрируйте SentryAppender в Logback.xml, где sentry_dsn назначен DSN, который должен быть выделен в Sentry, App_ID соответствует имени элемента в Sentry.

Sentry — мониторинг ошибок при разработке веб-проекта [GeekBrains]


protected void append(ILoggingEvent iLoggingEvent)

Два параметра в XML могут быть динамически установлены параметрами JVM в разных средах:

3. Известные проблемы

3.1 Сетевая проблема

Когда журналы ошибок клиента слишком много, я нашел ошибку соединения.

2018-09-27 16:06:50.270 [raven-pool-2-thread-1] [WARN ] c.g.r.connection.AbstractConnection[lockDown:111] — Lockdown started for 10ms. 2018-09-27 16:06:50.280 [raven-pool-2-thread-1] [WARN ] c.g.r.connection.AbstractConnection[lockDown:128] — Lockdown ended. 2018-09-27 16:06:50.397 [raven-pool-2-thread-2] [WARN ] c.g.r.connection.AbstractConnection[send:81] — An exception due to the connection occurred, a lockdown will be initiated. com.getsentry.raven.connection.ConnectionException: An exception occurred while submitting the event to the sentry server. at com.getsentry.raven.connection.HttpConnection.doSend(HttpConnection.java:132) ~[raven-7.1.0.jar:na] at com.getsentry.raven.connection.AbstractConnection.send(AbstractConnection.java:78) ~[raven-7.1.0.jar:na] at com.getsentry.raven.connection.AsyncConnection$EventSubmitter.run(AsyncConnection.java:144) [raven-7.1.0.jar:na] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [na:1.8.0_172] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [na:1.8.0_172] at java.lang.Thread.run(Thread.java:748) [na:1.8.0_172] Caused by: java.net.SocketException: Unexpected end of file from server at sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:851) ~[na:1.8.0_172] at sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:678) ~[na:1.8.0_172] at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1587) ~[na:1.8.0_172] at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492) ~[na:1.8.0_172] at com.getsentry.raven.connection.HttpConnection.doSend(HttpConnection.java:124) ~[raven-7.1.0.jar:na] . 5 common frames omitted

Одной из причин является то, что сеть нестабильна, сообщение Client Sentry Push не удается, а сообщение об ошибке не будет отображаться на станции SENTRY.

Просмотр официального документа, мы можем настроить тайм-аут в адресе DSN для уменьшения воздействия сетевой нестабильности, следующим образом

3.2 Пропускная способность клиента

Просмотр COM.GetSEntry.Raven.Connection.Asynconcondection Исходный код, asyncconnection использует пул резьбы executorservice для обработки нажатия сообщения об ошибке. Если сообщение об ошибке слишком велико, пул резьбы блокируется, а сообщение нельзя нажать в систему Sentry вовремя.

Читайте также:
Программа Гугл объектив что это

Просмотр официальной документации, настройте количество пулов Thread Client Sentry, добавив параметр Raven.async.threads в адресе DSN.

Источник: russianblogs.com

Отслеживание ошибок в приложении React с помощью Sentry

Сегодня я расскажу вам об отслеживании ошибок в реальном времени в приложении React. Приложение внешнего интерфейса обычно не используется для отслеживания ошибок. Некоторые компании часто откладывают отслеживание ошибок, возвращаясь к нему после документации, тестов и прочего. Однако, если вы можете изменить свой продукт в лучшую сторону, то просто сделайте это!

1. Зачем вам нужен Sentry?

Я предполагаю, что вы заинтересованы в отслеживании ошибок в процессе производства

Вы думаете, что этого недостаточно?

Хорошо, давайте посмотрим на детали.

Основные причины использования Sentry для разработчиков:

  • Позволяет избавляться от рисков при развертывании кода с ошибками
  • Помощь QA в тестировании кода
  • Получение быстрых уведомлений о проблемах
  • Возможность быстрого исправления ошибок
  • Получение удобного отображения ошибок в админ-панели
  • Сортировка ошибок по сегментам пользователя / браузера

Основные причины для CEO / Lead проекта

  • Экономия денег (Sentry можно установить на ваших серверах)
  • Получение отзывов пользователей
  • Понимание того, что не так с вашим проектом в режиме реального времени
  • Понимание количества проблем, возникающих у людей с вашим приложением
  • Помощь в поиске мест, где ваши разработчики допустили оплошность

Я думаю, что разработчики были бы заинтересованы в этой статье в первую очередь. Вы также можете использовать этот список причин, чтобы убедить начальство интегрировать Sentry.

Будьте осторожны с последним пунктом в списке для бизнеса.

Вы уже заинтересованы?

Что такое Sentry?

Sentry – это приложения для отслеживания ошибок с открытым исходным кодом, которое помогает разработчикам отслеживать, исправлять сбои в режиме реального времени. Не забывайте и о том, что приложение позволяет повышать эффективности и улучшать пользовательское использование. Sentry поддерживает JavaScript, Node, Python, PHP, Ruby, Java и другие языки программирования.

2. Войдите и создайте проект

  • Откройте ваш Sentry аккаунт. Возможно, вам придется войти в систему. (Обращаю внимаю что Sentry можно установить на ваших серверах)
  • Следующий шаг создать проект
  • Выберите ваш язык из списка. (Мы собираемся выбрать React. Нажмите «Создать проект»)

Настройте ваше приложение. Базовый пример, как интегрировать Sentry в контейнер, вы можете увидеть ниже:

В Sentry есть полезный Мастер, который поможет вам понять, что вы должны делать дальше. Вы можете выполнить следующие шаги. Я хочу показать вам, как создать первый обработчик ошибок. Отлично, мы создали проект! Перейдем к следующему шагу

3. Интеграция React и Sentry

Вы должны установить npm пакет в ваш проект.

Инициализируйте Sentry в вашем контейнере:

Sentry.init(< // dsn: #dsnUrl, >);

DSN находится в Projects -> Settings -> Client Keys. Вы можете найти клиентские ключи в строке поиска.

componentDidCatch(error, errorInfo) < Sentry.withScope(scope => < Object.keys(errorInfo).forEach(key =>< scope.setExtra(key, errorInfo[key]); >); Sentry.captureException(error); >); >

4. Отслеживание первой ошибки

Я например использовал простое музыкально приложение с API Deezer. Вы можете видеть это здесь.

Нам нужно создать ошибку. Одним из способов является обращение к свойству «undefined»

Мы должны создать кнопку, которая вызывает console.log с user.email. После этого действия мы должны получить сообщение об ошибке: Uncaught TypeError (не удается прочитать свойство из неопределенного email ) из-за отсутствия объекта пользователя. Вы также можете использовать исключение Javascript.

console.log(user.email)>> Test Error button

Весь контейнер выглядит так:

После интеграции этой кнопки вы должны протестировать ее в браузере.

У нас есть первая ошибка

Если вы нажмете на ошибку заголовка, вы увидите трассировку стека.

Сообщения выглядят плохо. Конечно, мы видели сообщения об ошибках, не понимая, где этот код. По умолчанию речь идет об исходной карте в ReactJS, потому что они не настроены.

Я также хотел бы предоставить инструкции по настройке исходной карты, но это сделало бы эту статью намного длиннее, чем я планировал.

Вы можете изучить эту тему здесь. Если вы заинтересованы в этой статье, Dmitry Nozhenko опубликует вторую часть об интеграции source map. Итак, нажимайте больше лайков и подписывайтесь на Dmitry Nozhenko, чтобы не пропустить вторую часть.

5. Использование Sentry с конечной точкой API

Окей. Мы рассмотрели исключение javascript в предыдущих пунктах. Однако, что мы будем делать с ошибками XHR?

Sentry также имеет пользовательскую обработку ошибок. Я использовал его для отслеживания ошибок api.

Sentry.captureException(err)

Вы можете настроить имя ошибки, уровень, добавить данные, уникальные пользовательские данные с помощью вашего приложения, электронной почты и т. д.

superagent .get(`https://deezerdevs-deezer.p.rapidapi.com/search?q=$`) .set(«X-RapidAPI-Key», #id_key) .end((err, response) => < if (err) < Sentry.configureScope( scope =>scope .setUser() .setLevel(«Error») ); return Sentry.captureException(err); > if (response) < return dispatch(setList(response.body.data)); >>);

Читайте также:
Что за программа regrun

Я хотел бы использовать общую функцию для API catch.

Импортируйте эту функцию в вызов api.

export default query => (dispatch, getState) => < superagent .get(`https://deezerdevs-deezer.p.rapidapi.com/search?q=$`) .set(«X-RapidAPI-Key», #id_key) .end((error, response) => < if (error) < return apiCatch(error, getState) >if (response) < return dispatch(setList(response.body.data)); >>); >;

Давайте проверим методы:

  • setLevel позволяет вставить ошибку уровня в панель мониторинга sentry. Он имеет свойства — ‘fatal’, ‘error’, ‘warning’, ‘log’, ‘info, ‘debug’, ‘critical’).
  • setUser помогает сохранить любые пользовательские данные (id, адрес электронной почты, план оплаты и т. д.).
  • setExtra позволяет задать любые данные, которые вам нужны, например, магазин.

Если вы хотите получить отзывы пользователей об ошибке, вам следует использовать функцию showReportDialog.

Sentry.showReportDialog();

Сегодня мы описали один из способов интеграции Sentry в приложение React.

Источник: habr.com

Что такое Sentry и почему без него тяжело при разработке веб-проекта

Что такое Sentry и почему без него тяжело при разработке веб-проекта

Sentry — инструмент мониторинга ошибок, который позволит вам:

  • не нервничать при размещении приложений на боевом сервере,
  • быстро находить причины возникших проблем,
  • устранять баги раньше, чем о них вам сообщат тестировщики, коллеги из саппорта, пользователи, ПМ или директор,
  • выявлять незаметные остальной команде проблемы, которые портят жизнь пользователям и снижают эффективность вашего продукта.

Преимущества Sentry: бесплатен, легко интегрируется в проект, ловит ошибки и в браузере пользователя, и на вашем сервере. Доступен для Python, JavaScript, PHP, Java, Ruby и других языков.

Серебряная пуля? Да.

На вебинаре вы узнаете:

  • как подключить Sentry на фронтенде (JavaScript) и на бекенде (Python, Flask);
  • из чего состоит отчёт об ошибке, как его настроить для своих нужд;
  • в каких ситуациях Sentry незаменим.

Ирина Гречихина

Бэкенд-разработчик на Python.

Frontend-разработчик

* Обучение востребованной профессии с нуля за 5 месяцев * Заработок от 50 000 руб./мес. в компании или на фрилансе

Источник: gb.ru

Cбор и анализ ошибок при помощи Sentry, или как упростить жизнь себе и пользователям

  • Screenshot_2.png
  • Screenshot_3.png
  • Screenshot_4.png
  • Screenshot_5.png
  • Screenshot_6.png
  • Screenshot_7.png
  • Screenshot_8.png
  • Screenshot_9.png
  • Screenshot_10.png
  • Screenshot_11.png
  • Screenshot_12.png
  • Screenshot_1.png
  • image-20201009054539-1.png
  • image-20201009054539-2.png
  • image-20201009054539-3.png
  • image-20201009054539-5.png
  • image-20201009054539-6.png
  • image-20201009054539-4.png
  • image-20201009054539-7.png
  • image-20201009054539-8.png
  • image-20201009054539-9.png
  • image-20201009054539-10.png

Цель данной статьи — сделать процесс сбора и анализа ошибок, происходящих в базе, максимально простым, быстрым и удобным, собирать статистику по ошибкам, местам их возникновения и частоте их появления, а также в деталях разобрать все тонкости по интеграции 1С с Sentry.

Какие проблемы поможет решить интеграции с Sentry:

  1. Сбор информации об ошибках, с детализацией как часто, у кого и когда она происходила. У нас будет статистика по каждой ошибке.
  2. Уведомление о всех новых выявленных ошибках. Появилась ошибка в системе, sentry нас об этом уведомляет (один раз, а не заваливает сообщениями каждый раз, когда ошибка произошла)
  3. Моментальный поиск, отбор информации по ошибкам
  4. Интеллектуальная группировка сообщений об ошибках.

Sentry это бесплатный инструмент, благодаря которому мы можем не нервничать при запуске очередного релиза, быстро находить причины возникших проблем, устранять проблемы, которые портят жизнь пользователям раньше, чем о них вам сообщат тестировщики, или helpdesk

Настоятельно рекомендую для начала ознакомиться со статьей Андрея Крапивина ( https :// infostart . ru /1 c / articles /1178723/ ), в которой он рассказывает о его преимуществах перед остальными решениями для сбора и анализа ошибок.

При своей первой попытке подружить Sentry с 1C, столкнулся с рядом трудностей, одна из которых это отсутствие какой-либо инструкции как это сделать. Как правильно использовать их api, какие параметры устанавливать и откуда их вообще брать.

Всю эту информацию пришлось собирать по кусочкам из документаций самой Sentry, из stackoverflow, сидеть и методом проб и ошибок стучаться по API и пытаться отправить хоть какие-нибудь данные.

Чтобы упростить задачу вам, я собрал все свои грабли, и постараюсь подробно рассказать о них.

Прим. Описанное решение не идеальное, но дает отправную точку для разработчиков, которые решили заняться анализом и сбором ошибок.

Я не буду рассказывать о том, как установить Sentry, подобной информации в интернете хватает. Приведенный ниже пример сделан с использованием облачного сервера Sentry — sentri.oi

1. Создаем свой проект и команду

Я предполагаю, что с регистрацией на Sentri.io проблем возникнуть не должно. После того как мы это сделали, можно приступить к созданию своего проекта.

При создании нового проекта, нас будут настоятельно просить выбрать платформу, на которой мы ведем его разработку. Как вы догадались 1С здесь нет, но не беда, мы вообще нечего не выбираем (это влияет только на инструкцию, которую нам предложат по завершению.)

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

Читайте также:
Что за программа theta

Далее мы переходим в настройки нашего проекта. В них нам необходимо получить наш public key

Теперь внимание, там мы увидим строку DSN примерно следующего содержания:

В этой строке содержаться 3 нужных нам параметра:

1. 0cded76306854a4fb615685e1dcf9cfa — это public key

Копируем их куда-нибудь

2. Устанавливаем параметры подключения

Теперь устанавливаем http подключение к серверу sentry из 1С

Код установки подключения

Разберем параметры подключения

В качестве значения для «X-Sentry-Auth» в документации нам предлагают указать следующие данные как в примере ниже:

Sentry sentry_version — (обязательный) — текущая используемая версия sentry

sentry_timestamp — (не обязательный) — время в формате timestamp которое представляем время в которое произошло наше событие

sentry_key — (обязательный) — тот самый public key который мы скопировали ранее

sentry_secret — (не обязательный) — Секретный ключ. Этот параметры не используется и будет удален в будущих версиях sentry

sentry_client — (не обязательный) — произвольная строка в формате имя_клиента/версия_клиента которая идентифицирует платформу на которой ведется разработка (например python/1.0)

Для работы нам достаточно указать только «Sentry sentry_version=7,sentry_key=bd945ed6d56e401da41a1f9262efc20e»

В качестве ресурса к которому идет обращение используется строка /api/ /store/

В моем случае это /api/ 5449900 /store/. Напоминаю, что номер проекта мы скопировали чуть ранее

На этом настройка параметров закончена.

3. Формируем сообщение в Sentry

Теперь приступим к разбору свойств сообщения которое мы отправляем в Sentry

Код формирования сообщения

Функция СформироватьТелоСообщенияSentry(СтрокаЖурнала, УровеньЖурналаSentry) СистемнаяИнформация = Новый(«СистемнаяИнформация»); //ДатаСобытия = Формат((СтрокаЖурнала.Дата+10800), «ДФ=yyyy-MM-ddTHH:mm:ss»); TimeStamp = СтрокаЖурнала.Дата — ‘19700101’; СтрокаСоединения = СтрокаСоединенияИнформационнойБазы(); МнСтрокаСоединения = СтрЗаменить(СтрокаСоединения, «;», Символы.ПС); ИмяБазы = СтрЗаменить(СтрЗаменить(СтрПолучитьСтроку(МнСтрокаСоединения, 2), «Ref=», «»), «»»», «»); Тело = Новый Структура(); Тело.Вставить(«timestamp», TimeStamp); Тело.Вставить(«logger», «1C_Sentry_logger»); Тело.Вставить(«platform», «Other»); //нельзя указать 1С, у него только фиксированный список платформ Тело.Вставить(«level», УровеньЖурналаSentry); Тело.Вставить(«transaction», СтрокаЖурнала.Транзакция); Тело.Вставить(«server_name», СтрокаЖурнала.РабочийСервер); Тело.Вставить(«release», Метаданные.Версия); Тело.Вставить(«dist», ИмяБазы); //Подставлять имя базы Тело.Вставить(«environment», Строка(Метаданные.РежимСовместимости)); //Тут важно определять это рабочая база или нет Тело.Вставить(«message», СтрокаЖурнала.Комментарий); Тело.Вставить(«tags», Новый Соответствие); //Тело[«tags»].Вставить(«ios_version», Метаданные.Версия); Тело[«tags»].Вставить(«context», «production»); Тело.Вставить(«extra», Новый Соответствие); Тело[«extra»].Вставить(«some_other_value», «foo bar»); //Можно добавить что-нибудь свое как доп. информацию //По ключу «exception» идет группировка ошибок Тело.Вставить(«exception», Новый Соответствие); МодульОшибки = «»; RegExp = Новый COMОбъект(«VBScript.RegExp»); RegExp.Pattern = «0 Тогда Для Индекс = 0 По ЧислоВхождений-1 Цикл МодульОшибки = Matches.Item(Индекс).SubMatches(0); КонецЦикла; КонецЕсли; Если ПустаяСтрока(МодульОшибки) Тогда МодульОшибки = СтрокаЖурнала.ПредставлениеМетаданных; КонецЕсли; Тело[«exception»].Вставить(«values», Новый Массив); Тело[«exception»][«values»].Добавить(Новый Структура(«type, value», СтрокаЖурнала.ПредставлениеСобытия, МодульОшибки)); Тело.Вставить(«contexts», Новый Соответствие); Тело[«contexts»].Вставить(«device», Новый Соответствие); Тело[«contexts»][«device»].вставить(«type», «device»); Тело[«contexts»][«device»].вставить(«name», СтрокаЖурнала.Компьютер); Тело[«contexts»][«device»].вставить(«family», «PC»); Тело[«contexts»].Вставить(«os», Новый Соответствие); Тело[«contexts»][«os»].вставить(«name», «windows»); //Информация о компьютере не вытягивается, но возможно будет Тело[«contexts»].Вставить(«app», Новый Соответствие); Тело[«contexts»][«app»].вставить(«app_name», СтрокаЖурнала.ИмяПриложения); Тело[«contexts»][«app»].вставить(«build_type», СтрокаЖурнала.ПредставлениеПриложения); Тело[«contexts»][«app»].вставить(«app_version», СистемнаяИнформация.ВерсияПриложения); //Тело[«contexts»][«app»].вставить(«app_identifier», «»); //Тело[«contexts»][«app»].вставить(«app_start_time», «»); //Тело[«contexts»][«app»].вставить(«app_build», «»); Тело[«contexts»].Вставить(«session_data», Новый Соответствие); Тело[«contexts»][«session_data»].вставить(«session», СтрокаЖурнала.сеанс); Тело[«contexts»][«session_data»].вставить(«connection», СтрокаЖурнала.соединение); Data = Новый Структура; Data.Вставить(«metadata», СтрокаЖурнала.ПредставлениеМетаданных); Data.Вставить(«record», СтрокаЖурнала.ПредставлениеДанных); //Data.Вставить(«module», МодульОшибки); Тело.Вставить(«breadcrumbs», Новый Соответствие); Тело[«breadcrumbs»].Вставить(«values», Новый Массив); Тело[«breadcrumbs»][«values»].Добавить(Новый Структура(«timestamp, message, category, data», TimeStamp, СтрокаЖурнала.Комментарий, СтрокаЖурнала.ПредставлениеСобытия, Data)); Тело.Вставить(«user», Новый Соответствие); Тело[«user»].Вставить(«id», СтрокаЖурнала.ИмяПользователя); Тело[«user»].Вставить(«username», СтрокаЖурнала.ИмяПользователя); //Тело[«user»].Вставить(«ip_address», СтрокаЖурнала.Компьютер); Возврат тело; КонецФункции

timestamp — дата в формате timestamp, определяет в какое время событие было создано в sentry

logger — имя логгера который создал текущее событие

platform — платформа на которой возникло событие. Оставляем по умолчанию Other

lever — аналог уровеня журнала регистрации, имеет два значения — error, warning

transaction — номер транзакции в которой возникла ошибка

server _ name — имя рабочего сервера

release — версия релиза (версия конфигурации)

dist — имя дистрибутива (имя базы)

environment — в моем примере это режим совместимости. Но я бы тут указал версию платформы под которой был запущен сеанс.

message — комментарий. Текстовое описание ошибки

tags — произвольные теги, для удобства поиска и анализа ошибок

extra — любая доп. информация о событии на наш вкус.

exception — место в котором возникла ошибка. Группировка ошибок происходит по полю exception. Если ошибка произошла в конкретной строке кода, конкретного объекта, то она будет объединена с такими ошибкам, а не выделена в отдельную ошибку.

context — конктекст при котором возникла ошибка. Оборудование, операционная система, браузер, версия приложения, номер сеанса, соединения и т.п. Подробней тут https://develop.sentry.dev/sdk/event-payloads/contexts

breadcrumbs — Перечень вызывов которые предшевствовали месту возникновения ошибки. Начиная с платформы с версии 8.3.15 мы можем получать полный стек вызовов перед возникновением ошибки. В моем примере этот функционал не используется.

user — Собственно сам пользователь под которым произошло событие

Вот и все. Вишенкой на торте остается только создать регламентное задание, которое будет на постоянной основе отправлять данные в Sentry.

Теперь у нас имеется более чем полная информация по ошибкам, местам их возникновения и прочая статистика. А также уведомления о новых ошибках.

Тестировалось на платформе 8.3.16.1148.

Источник: infostart.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru