Размещенный сервер Breakpad (Electron Crash Reporter)

Я хочу настроить службу для сбора отчетов о сбоях на панели управления (в частности, для приложения Electron с использованием Electron Crash Reporter: https://github.com/electron/electron/blob/master/docs/api/crash-reporter.md)

Единственные серверы, которые я могу найти, просто выгружают минидамп и представляют их в списке, что бесполезно для приложений с миллионами сеансов, генерирующих сотни отчетов о сбоях. Идеально было бы что-то вроде того, что делают Fabric/Crashlytics для iOS/Android (кластеры, соответствующие отчетам, сортировка по выпускам). Также что-то размещенное было бы очень приятно.

  • Существует ли лучший проект для сбора отчетов о сбоях в работе брейкпада?
  • Есть ли хорошие варианты хостинга
  • Есть ли промежуточное ПО, которое будет собирать отчеты о прерываниях и отправлять их в размещенную службу, такую ​​как Crashlytics, HockeyApp или Firebase?

Спасибо!


person scosman    schedule 01.05.2017    source источник


Ответы (3)


Примечание. У меня недостаточно репутации, чтобы иметь сообщение с более чем двумя ссылками :/ Все перечисленные ниже элементы довольно легко найти с помощью веб-поиска.

Существует ли лучший проект для сбора отчетов о сбоях в работе breakpad?

Socorro от Mozilla — это проект с открытым исходным кодом, используемый Mozilla для сбора отчетов о сбоях в работе брейкпада из таких приложений, как Firefox. Вы можете увидеть их экземпляр Socorro в действии, выполнив поиск статистики сбоев Mozilla.

Есть ли хорошие варианты хостинга?

Я знаю только три компании, которые предоставляют возможность управления сбоями на хостинге: Backtrace I/O, Bugsplat и Raygun I/O. Полное раскрытие: я работаю в Backtrace I/O

Backtrace I/O предоставляет размещенное решение для управления отчетами о сбоях в блокноте, созданными из электронных приложений: https://documentation.backtrace.io/product_integration_minidump_electron/index.html. Это включает в себя агрегацию сбоев, управление символами, интеграцию рабочих процессов (Slack, JIRA, PagerDuty и т. д.), настраиваемые атрибуты с полной отчетностью по всем атрибутам (вы можете добавить настраиваемые атрибуты с помощью crashReporter.setExtraParameter()) [изменить: исправлено написание] в вашем приложении Electron.

Bugsplat обеспечивает сбор данных о сбоях, сервер символов и интеграцию с рабочими процессами. AFAICT, он поддерживает только статический набор атрибутов/полей (выполните поиск по bugsplat breakpad, чтобы найти их документацию). Это означает, что они не поддерживают все встроенные атрибуты, о которых сообщает Electron (guid, process_type, platform и т. д.), и они не поддерживают поддержка дополнительных атрибутов, добавленных через crashReporter.setExtraParameter(). Также имейте в виду, что у них есть строгие ограничения на размер отчета о сбое в блокноте (‹2 МБ). Нет слов, есть ли у них официальная поддержка приложений Electron.

Raygun официально объявил о поддержке брейкпада только в блоге в середине апреля. Я не могу найти никакой документации, чтобы предположить, что они активно поддерживают это. Функциональность Ragyun + поддержка других языков не уступает другим решениям для создания отчетов о сбоях, таким как Crashlytics, HockeyApp и т. д.

Существует ли промежуточное ПО, которое будет собирать отчеты о прерываниях и отправлять их в размещенную службу, такую ​​как Crashlytics, HockeyApp или Firebase?

Я ничего не знаю.

person Abel Mathew    schedule 10.05.2017
comment
Дополнение: Backtrace только что добавил динамическую загрузку символов. Символы автоматически загружаются с общедоступных серверов символов для автоматического отображения удобочитаемых стеков вызовов. Опубликовать здесь - person Abel Mathew; 27.09.2017
comment
Я только что попробовал Raygun. Это довольно удобно и легко интегрируется, но, похоже, у них нет возможности фактически загружать загруженные файлы минидампа. Похоже, что этой функции очень не хватает, поскольку возможность локальной отладки с помощью файла дампа кажется довольно фундаментальной. Raygun также не обновляет старые трассировки стека при загрузке файла символов. Я подозреваю, что они вообще не хранят необработанные дампы. Я тоже пробую Backtrace. Он менее яркий, но кажется более многофункциональным. - person Alex Goldberg; 19.03.2018

Еще одна новая опция: https://blog.sentry.io/2018/03/13/introudcing-sentry-electron

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

person scosman    schedule 28.03.2018

Другой вариант:

Проект ниже проекта можно развернуть на героку в 1 клик. Он анализирует дамп брейкпада и передает его в Sentry.io (хороший сервис с бесплатным планом). Это не совсем 100% хостинг (вы размещаете промежуточное ПО), но его установка занимает всего 10 минут. Sentry размещает 99% из них и отлично группирует проблемы, создает отчеты и т. д.

https://github.com/khamidou/electron-breakpad-sentry

person scosman    schedule 08.08.2017