指标 | 说明 |
崩溃次数 | 筛选条件下崩溃发生的次数 |
崩溃率 | 筛选条件下的崩溃次数/筛选条件下的总launch数(PV) |
崩溃人数 | 筛选条件下发生崩溃的用户数 |
崩溃用户比率 | 筛选条件下发生崩溃错误的去重 UV 数/筛选条件下的去重总 UV 数 |
用户数 | 筛选条件下的 UV |
归因名称 | 说明 | 判断方法 |
app_deadlock_or_block | 应用主线程等锁超时 | 主线程调用栈处于等锁并且当前消息wall>1s |
app_too_many_msg | 应用发送消息太频繁导致消息阻塞 | 调度时序图中相同的超时消息超过100个,并且该消息的平均发送间隔小于5ms |
app_with_barrier | 应用主线程长时间被屏障消息阻塞 | 第一个pending消息是barrier,并且当前消息的wall>3s,并且当前消息的cpu/wall < 0.3,并且当前消息的msg是“no message running” |
app_not_call_startforeground | 应用未在规定的时间内调用startForeground() | anr_reason显示为“not call Service.startForeground” ,并且调度时序图中无超时消息(说明主线程不忙) ,并且系统状态良好 |
app_dex2oat | dex2oat的cpu使用率过高 | ANR_INFO中dex2oat的cpu使用率>50% |
app_current_long_msg_exec(>=1s) | 当前消息cpu运行时间(不含等待时间)过长 | 当前消息的cpu时间≥1s |
app_sleeping_long | 应用主线程sleep时间过长 | 主线程sleep>3秒 |
app_io_operation | 应用主线程IO操作耗时 | 主线程IO操作耗时>3秒 |
app_sync_with_sub_thread | 应用主线程等子线程完成任务出现超时 | 主线程等子线程>3秒 |
app_binder_call | 应用主线程binder调用超时 | binder调用>3秒 |
app_wait_gc | 应用主线程卡在WaitForGcToCompleteLocked等GC完成 | 主线程wait gc>3秒 |
app_current_long_msg_wait(>=3) | 当前消息wall时间(含等待时间)过长 | 当前消息的wall时间≥3s,并且系统状态良好 |
app_memleak | 应用内存泄露 | 自定义维度(java_heap_leak)Java堆的使用率>95% 和Java堆内存占用过高一样。 |
| 应用内存泄露 | 现场数据-内存数据-totalPss 总进程已使用物理内存(共享占用比例分配) 应用的PSS>500M |
app_history_long_msg_exec(>=1s) | 历史消息cpu执行耗时长 | 历史消息cpu时长≥1s |
app_history_long_msg_wait(>=5s) | 历史消息wall等待时间长 | type8类型的历史消息wall时长≥5s,并且系统状态良好 |
app_cpu_usage_high_sub_thread(>=150%) | 应用的cpu使用率高 | ANR_INFO 应用的cpu使用率高≥150%,并且子线程占比最高 |
app_cpu_usage_high_main_thread(>=150%) | 应用的cpu使用率高 | ANR_INFO 应用的cpu使用率高≥150%,并且主线程占比最高 |
sys_kswapd_high(>15%) | 系统内存压力大 | ANR_INFO 应用状态无明显异常,但系统kswapd的cpu占比>15% |
sys_iowait_high(>15%) | 系统IO压力大 | ANR_INFO 应用状态无明显异常,但系统iowait的占比>15% |
sys_mmcqd_high(>15%) | 系统IO压力大 | ANR_INFO 应用状态无明显异常,但系统mmcqd的占比>15% |
sys_load_high(>20) | 系统负载过大 | ANR_INFO 应用状态无明显异常,但系统的cpu loading>20 |
sys_cpu_usage_high(>=80%) | 系统cpu使用率过高 | ANR_INFO 应用状态无明显异常,但系统的cpu使用率>80% |
invalid_log | 抓取的log不完整 | SDK归因信息不完整 |
reason_uncertain | 基于目前的判断逻辑无法确认归因 | 以上归因逻辑都不满足 |
崩溃字段 | 说明 | 控制台图示 |
崩溃摘要 | | |
崩溃趋势 | 该issue的崩溃数和影响用户数的变化趋势。 | |
自动分析 | 聚合崩溃分布的信息,让信息更聚焦。 | |
崩溃分布 | 通过多维分析来了解issue在各维度上的分布情况。 | |
Logcat词云 | 崩溃问题分析维度较多,Logcat日志文件保存了崩溃进程内程序运行的日志信息。排查崩溃问题时,有时需要对大量Logcat日志逐行排查比较耗时。 词云可以通过对issue下日志进行自动化分析,挖掘出高频出现的日志片段,辅助分析崩溃问题。 说明 iOS暂不支持此功能。 | |
页面历史聚合树 | 对应用页面历史路径的聚合,展示当前issue的历史路径的聚合情况。崩溃的路径历史详细数据可以在现场数据下页面追踪中查看。 | |
详细信息 | 查询单次crash的各字段属性。 | |
原始堆栈&Retrace |
| |
符号表 | 手动上传与下载符号表。 | |
现场数据 | 现场数据包括了崩溃时的存储数据信息、上报的自定义字段属性、最近打开的页面。 | |
Native信息 | Native信息包含每次crash发生时,Native的Maps详情列表、Maps智能归类、FD归类、进程状态、线程状态和线程分类。 说明 iOS暂不支持此功能。 | |
ANR_INFO | ANR_INFO上报并展示ANR发生时processName、tag、shortMsg、longMsg、Reason、Load、Android time、CPU usage等信息。 说明 iOS暂不支持此功能。 | |
调度时序图 | 调度时序图以时序图的形式展示消息调度耗时与错误的情况,包括了Wall Time、CPU Time等信息,并通过不同颜色标识错误节点、长耗时节点。 说明 iOS暂不支持此功能。 | |
跟踪日志 | 跟踪日志里展示了crash发生前后的日志流,包括进程:线程信息、日志级别、日志详情内容,并支持检索筛选。 说明 iOS暂不支持此功能。 | |
崩溃信息 | 不同的崩溃类型展示的崩溃信息有所不同。 说明 Android暂不支持此功能。 | |
自定义日志 | 自定义日志支持回捞、上报自定义的日志内容,包括进程:线程信息、日志级别、日志详情内容,并支持检索筛选。 | |
文件下载 | 文件下载支持下载文件,包括原始崩溃信息、自定义文件等。 | |
概念 | 含义 |
频率 | 该行日志脱敏处理后在全部Logcat日志文件中出现的次数占比 |
权重 | 结合内部经验积累,根据特定词进行动态加权计算,突出日志中出现的特定词 |
日志 | Logcat日志中对单行日志进行脱敏等操作后生成的字符串 |
问题类型 | 关键词举例 |
磁盘空间不足 | SQLiteFullException、disk I/O error、ailed to open database等 |
通信相关 | socket timeout、Broken pipe |
fd相关 | Too many open files、EMFILE、Bad file descriptor等 |
内存相关 | GL error、mmap failed、ashmem_create_region等 |
崩溃信息 | 说明 | 图示 |
Maps详情 | 展示了起始地址、结束地址、页面大小、访问权限、文件偏移、内存段名、分类Tag。 | |
Maps智能归因 | 展示了根据Maps详情进行崩溃智能归因。 | |
FD归因 | 展示根据句柄进行FD归因。 | |
进程状态 | 展示崩溃时进程状态的详情列表。 | |
线程状态 | 展示崩溃时线程状态的详情列表。 | |
线程分类 | 展示根据线程将崩溃信息进行分类。 其中,Utm、Stm、运行时长表示的是组内的线程的值相加的和。 例如,运行时长为8小时,表示这个分组下线程运行时长的和。 | |
崩溃类型 | 展示模块 | 说明 |
崩溃 | 详细信息 | 展示崩溃的一些具体信息:崩溃类型、崩溃原因等。 |
| 寄存器 | 崩溃发生时的寄存器信息,默认不会采集。可以在SDK上报配置页面崩溃分析 > 是否开启寄存器分析配置开启采集上报(语言类异常不会上报)。 |
| 栈内存 | 崩溃发生时的栈内存信息,默认不会采集。可以在SDK上报配置页面崩溃分析 > 是否开启栈内存分析配置开启采集上报(语言类异常不会上报)。 |
| Dealloc堆栈 | 记录Zombie对象释放时的堆栈,在开启线上Zombie监控功能之后,当发生Zombie问题时,会上报该信息。 |
卡死 | - | 展示应用退出前的卡死时长。 |
OOM崩溃 | - | 展示应用退出前的内存变化趋势。 |
指标 | 说明 |
上报次数 | 筛选条件下应用退出的上报次数 |
上报率 | 筛选条件下应用退出的上报次数/筛选条件下的总PV数 |
上报用户数 | 筛选条件下应用退出的用户数 |
上报用户比例 | 筛选条件下应用退出的用户数/筛选条件下的总UV数 |