摘要
随着应用的用户体量的扩张,应用的崩溃量也随之出现大规模的增长。为了实现对崩溃的高效分析,需要具备一套能对崩溃进行准确聚类的系统。针对现有的Android崩溃聚类系统聚合不够准确的问题,提出了一种基于崩溃特征的二级聚类方法。首先,从收集的崩溃上报堆栈中,分析出异常类型、异常描述、业务代码行和系统代码行。然后,对异常描述中的干扰信息进行标准化处理得到标准化异常描述,对业务代码分析出根因行,从业务代码行和系统代码行中获取完整的崩溃代码路径。最后,结合异常类型、标准化异常描述、业务代码根因计算出的哈希值作为崩溃的一级特征聚合值,形成崩溃的一级聚合列表。使用异常类型、标准化异常描述和异常路径计算出的哈希值作为崩溃的二级特征聚合值,形成二级聚合列表。该系统已经在某大型互联网公司内部系统部署,经过抖音、今日头条等应用的大规模验证,满足了对崩溃进行准确聚类的需求。
With the expansion of active users of applications,the amount of crashes has also experienced large-scale growth.In order to achieve efficient analysis of crashes,a system that can accurately cluster crashes is required.We present a two-level crash clustering method aiming at Android App Crash based on crash features.Firstly,from the collected crash reporting stacks,the types of Java crashes,exception descriptions,business code lines,and system code lines are analyzed.Then,the interference information in the exception description is standardized to obtain the standardized exception description,business code lines are decomposed to obtain root case code line and the full exception code path is resolved from business code lines and system code lines.Finally,the crash type,standardized exception description and business code root cause are used to calculate the first hash value,which is used to cluster the crashes into the first level list.The crash type,standardized exception description and full code path are used to calculate the second hash value,which is used to cluster the crashes into the second level list.The system has been deployed in the internal APM system of one big internet company,and has been validated through large-scale testing in applications such as Douyin and Toutiao,meeting the demand for accurate clustering of crashes.
作者
王凯
刘歆宁
WANG Kai;LIU Xin-ning(School of Computer and Software,Dalian Neusoft University of Information,Dalian 116023,China)
出处
《计算机技术与发展》
2024年第6期53-58,共6页
Computer Technology and Development
基金
辽宁省高等学校基本科研项目(LJKMZ20222007)
大连市青年科技之星项目(2021RQ068)
大连东软信息学院科技创新基金项目(TIFP202307)。