从友盟 bugly 到 vicrab 看日志处理的演进之路
一 引言
在IT人的日常工作中,日志系统的重要性不言而喻, 经过十几年的发展演变,日志系统的解决方案越来越多,呈现百花齐放的现状 。传统的日志大都是针对 B/S 架构的解决方案,例如 elk,它是针对服务端日志的解决方案,然而,各种日志系统的提供商的解决方案大都是解决”点“的问题,日志数据是孤立的,随着 3G 和 4G 的快速发展,催生了移动端APP的快速发展,然而,大量的C端用户的日志数据并没有很好的解决方案出现,结合了B端和C端的日志产品也非常少见。
二 APP日志解决方案的现状
绝大部分开发者会使用第三方性能监控产品来获取应用的崩溃数据,出现时间比较早的有友盟,它应该是市场占比最大的一个,早期的APP开发者很多在用它。其次不得不提到腾讯的 bugly,这也是数据和服务做的很专业的产品,只是目前还处于孵化阶段,并没有大规模的推广使用。
下图是bugly的主界面:
下图是友盟的数据统计界面:
友盟是出现的比较早的APP分析厂商,主要的功能在于推送和分享服务,崩溃服务只是其中一个没有重点发展的功能,友盟的崩溃分析服务相对过于简单。并且不支持ANR 问题,对于日常的APP错误日志处理功能则显得非常的弱小。
bugly也是专门从事APP崩溃分析的产品,相对友盟,APP的崩溃和错误收集则显得更加的专业,可以捕获到java层和native层的异常,只是目前还是实验室的一个孵化的产品,bugly还不太稳定。
概括来说,友盟更偏重于数据统计,bugly偏重于app的崩溃分析,相比之下,vicrab提供了相对全面的功能。从客户端APP到服务端都提供了比较良好的支持,并且支持多种语言和终端,提供良好的异常日志的分析功能。
三 与VICRAB的比较
先看下bugly的搜索功能,搜索主要有版本,日期和事件几个选项。
VICRAB搜索条件比较丰富,还加入了项目异常状态管理功能。
友盟更偏重于数据统计,bugly偏重于app的崩溃分析,并且他们都侧重点在APP端,而vicrab提供除了APP端的支持外,还提供了服务端多语言多环境的SDK支持,以及日志集中化存储的saas服务,提供良好的分析和筛选界面。
vicrab主页统计图:
vicrab移动端的支持目前支持android,ios,我们来看看vicrab 的捕获范围对比。
从表格我们可以看出,友盟,bugly,VICRAB三款产品中,友盟的异常统计偏向于崩溃处理和统计,对于线程崩溃,native,anr问题不能支持。不过友盟对于多终端的SDK支持做的比较全面,除了android,ios原生库支持,还支持react native 等框架
bugly相比友盟,对于native,anr问题以及native层的问题处理功能上更加全面,但是bugly缺少了针对服务端的异常支持和没有比较好的日志分析功能。
VICRAB不仅支持移动端的日志集成存储和分析,同样也提供了功能强大,全面的服务端日志存储支持和分析功能。
首先,VICRAB提供多语言环境的SDK支持。支持的语言有java,php, js 等服务端开发语言。针对后端的异常日志捕获,除了集中化存储,还提供了异常归类,异常的详细堆栈信息,同时VICRAB 提供了异常的代码标注功能,便于用户分析异常日志,快速定位问题,优化系统和解决bug 。
VICRAB 针对java的支持,目前支持4种类型的日志实现。
VICRAB提供了比较详细的集成文档,集成视频,以及集成案例,方便用户快速集成,集成步骤也非常简单,只需要三步就可以完成。我们注册一个VICRAB的账户,集成一个logback的案例,看看它的界面体验。
通过测试发现,友盟的日志数据上报时间不确定,慢的时候可达10分钟以上,bugly基本控制在1分钟以内,VICRAB的上报速度一般在1分钟以内,可以在控制台查看到详细的错误分类和堆栈信息。我们看一下具体的信息截图。
首先是issue列表,VICRAB对异常进行了分类,分为issue和event两种类型,不同的错误堆栈日志被标注为不同的issue。
以上是issue分类列表,我们点击其中一个NumberFormatException进去看详情。
我们可以看到非常详细的异常堆栈日志信息,包括环境,统计图,错误出现的时间分布图等,还可以通过标签快速查询,另外标签是在SDK可以自定义的。
原始数据和格式化的数据切换,以及详细的错误堆栈信息。包含用户信息,堆栈信息,http响应头信息 环境信息,SDK信息等,非常的全面,相比之下,bugly的搜索和标签方面就没有那么完善了。
下面通过一个表格来对比下友盟,bugly ,VICRAB的主要功能
VICRAB的自定义异常通知,周报,月报,强大的标签筛选功能,自定义事件和灵活的收集配置算法,都要优与其他产品。
四总结
通过对比友盟,bugly,VICRAB三个产品的比较,我们可以看到日志系统的演进之路,三个产品各自都有自己的特点和长处,大家在实际工作中根据自己的业务场景来进行选择。VICRAB是一个从APP端,服务端,都支持的产品,同时也提供了集中化存储,日志分析和个性化通知等丰富的功能。关于 VICRAB 这个产品,后续会有更深入的研究报告呈现给大家。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。