托管 Breakpad 服务器(Electron Crash Reporter)

Hosted Breakpad server (Electron Crash Reporter)

我想设置一个服务来收集 breakpad 崩溃报告(专门针对使用 Electron Crash Reporter 的 Electron 应用程序:https://github.com/electron/electron/blob/master/docs/api/crash-reporter.md

我能找到的唯一服务器只是转储小型转储并将它们显示在一个列表中,这对具有数百万个会话并生成数百个崩溃报告的应用程序没有帮助。像 Fabric/Crashlytics 为 iOS/Android 做的事情是理想的(集群匹配报告,按版本排序)。还有一些托管会很好。

谢谢!

注意:我没有足够的声誉来拥有包含两个以上链接的 post :/ 通过网络搜索应该很容易找到下面的所有项目。

是否有更好的项目来收集 breakpad 崩溃报告?

Mozilla 的 Socorro 是一个开源项目,Mozilla 使用它来收集 Firefox 等应用程序的 breakpad 崩溃报告。您可以通过搜索 Mozilla 崩溃统计信息来查看他们的 Socorro 实例。

有什么好的托管选择吗?

我只知道三个提供托管 breakpad 崩溃管理选项的公司:Backtrace I/O、Bugsplat 和 Raygun I/O。 完全披露:我为 Backtrace 工作 I/O

Backtrace I/O 提供了一个托管解决方案来管理电子应用程序生成的 breakpad 崩溃报告:https://documentation.backtrace.io/product_integration_minidump_electron/index.html。这包括崩溃聚合、符号管理、工作流集成(Slack、JIRA、PagerDuty 等)、带有所有属性完整报告的自定义属性(您可以通过 crashReporter.setExtraParameter() 添加自定义属性)[编辑:固定拼写]电子应用

Bugsplat 提供崩溃聚合、符号服务器和工作流集成。 AFAICT,它只支持 attributes/fields 的静态集(搜索 bugsplat breakpad 找到他们的文档)这意味着他们不支持 Electron 报告的所有内置属性(guidprocess_typeplatform 等)也不支持通过 crashReporter.setExtraParameter().

添加的额外属性

Raygun 仅在 4 月中旬通过博客post 正式宣布支持 breakpad。我找不到任何文件表明这是他们积极支持的。 Ragyun 的功能 + 对其他语言的支持与其他崩溃报告解决方案(如 Crashlytics、HockeyApp 等)不相上下

是否有任何中间件可以收集 breakpad 报告并将它们发送到 Crashlytics、HockeyApp 或 Firebase 等托管服务?

我什么都不知道。

另一个选项:

下面的项目可以一键部署到heroku。它解析 breakpad 转储并将其传递给 Sentry.io(一个不错的托管服务,有免费计划)。它不是 100% 托管(您托管中间件),但只需 10 分钟即可设置。 Sentry 托管其中的 99%,并在问题分组、报告等方面表现出色。

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

又一个新选项:https://blog.sentry.io/2018/03/13/introudcing-sentry-electron

Sentry 现在将通过其新的官方电子支持来跟踪本机崩溃。这是一个不错的选择,因为它还可以为同一个应用程序处理 JS 错误。