【问题标题】:MixPanel for error monitoring用于错误监控的 MixPanel
【发布时间】:2014-03-16 13:41:44
【问题描述】:
我正在开发一个 Android 应用程序,它与 MixPanel 集成用于分析,BugSnag 用于错误监控。
最近我们在应用程序中发现了崩溃,由于我们无法找到崩溃的根本原因,我们添加了代码以在出现错误时重新启动应用程序。除了重新启动,我们还开始跟踪错误发生的次数。我的偏好是使用 Bugsnag,但团队中的几个人问为什么我们不能使用 MixPanel,因为我们可以很容易地过滤掉带有我们发送到 MixPanel 的参数的事件。但我觉得 MixPanel 不应该专门用于跟踪用户事件。崩溃和重启都不是因为用户事件而发生的,它只是随机发生的。
我想听听社区对此的建议/想法。
【问题讨论】:
标签:
android
monitoring
analytics
mixpanel
【解决方案1】:
您可以在您的Application.onCreate 中使用Thread.setDefaultUncaughtExceptionHandler(...) 来设置您的自定义Thread.UncaughtExceptionHandler,该Thread.UncaughtExceptionHandler 跟踪所有未捕获异常(崩溃)并设置属性,例如:
public class MyExceptionHandler implements UncaughtExceptionHandler
{
private UncaughtExceptionHandler defaultExceptionHandler;
public MyExceptionHandler (UncaughtExceptionHandler defaultExceptionHandler)
{
this.defaultExceptionHandler = defaultExceptionHandler;
}
public void uncaughtException(Thread thread, Throwable exception)
{
mMixPanelInstance.trackEvent("APP_CRASH", null);
if (defaultExceptionHandler != null)
{
defaultExceptionHandler.uncaughtException(thread, exception);
}
}
}
MyApplication.onCreate(...)
{
UncaughtExceptionHandler currentHandler = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(new MyExceptionHandler(currentHandler));
}