用于错误监控的 MixPanel

Posted

技术标签:

【中文标题】用于错误监控的 MixPanel【英文标题】:MixPanel for error monitoring 【发布时间】:2014-03-16 13:41:44 【问题描述】:

我正在开发一个 android 应用程序,它与 MixPanel 集成用于分析,BugSnag 用于错误监控。

最近我们在应用程序中发现了崩溃,由于我们无法找到崩溃的根本原因,我们添加了代码以在出现错误时重新启动应用程序。除了重新启动,我们还开始跟踪错误发生的次数。我的偏好是使用 Bugsnag,但团队中的几个人问为什么我们不能使用 MixPanel,因为我们可以很容易地过滤掉带有我们发送到 MixPanel 的参数的事件。但我觉得 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));

【讨论】:

以上是关于用于错误监控的 MixPanel的主要内容,如果未能解决你的问题,请参考以下文章

微服务监控的三大类

Skywalking全链路监控集群和动态部署

基于Prometheus和Grafana的监控平台 - 环境搭建

ganglia监控自己定义metric实践

使用 openfire 监控插件检索存档消息

使用 Prometheus 监控 eKuiper 规则运行状态