使用控制台
公共模块
全局筛选
QAPM分析页面支持多维度的条件过滤筛选,当选定对应的条件后会直接执行筛选操作。
QAPM支持查询最近60天的数据,您可以通过顶部的时间选择器选择您需要查看的时间范围,同时您可以切换不同的时间粒度去查看数据,可选择的时间粒度与您所选定的时间范围关联,除此之外查询条件也会受所选择的时间范围影响。
指标分析模块
您可以通过该模块查看对应指标的总体变化趋势和指定维度下的TOP value变化趋势(例如TOP7版本的崩溃率变化趋势),部分指标还支持分位分析、分布分析能力。
趋势分析
在趋势分析中,您可以查看选定指标随时间的变化趋势,您还可以通过移动鼠标查看对应时间节点的数据。其中折线图例为对应的指标趋势变化情况,柱状图例为对应指标的样本量情况。可以通过结合指标和样本量获取更多信息。
分组分析
您可以在趋势分析界面通过右侧的下拉选项切换到分组分析模式。
在分组分析模式下您可以通过自助配置将指定观测对象按照排序口径排序,并查看TOP N value的 变化趋势,您也可以按需变更观测指标,以获取更多信息。
分位分析
分位分析功能默认展示指定指标的统计均值、50分位、75分位、95分位、99分位的变化趋势。通过分位分析,您可以立体地了解样本数据不同分层的趋势变化,辅助您对异常波动情况进行定位分析。
分布分析
分布分析功能默认展示指定指标样本数据按照固定步长切割为若干区间后的数据分布情况。通过分布分析,您可以观测整体样本数据在有效值域上的分布情况,辅助您制定性能优化计划,并能够在优化前后进行清晰明确的举证。
关键对象分析
关键对象分析功能旨在将与指定性能域强相关的重点维度进行突出展示,您可以依据关注的指标进行排序,也可以快捷地将关注的重点对象设为筛选条件。
部分含有层级关系的对象还可以通过树状展开查看下一层级的指标数据。
多维分析
多维分析功能会展示指定指标在不同维度上面的统计分布数据,可以帮助您快速的掌控关注维度上的数据分布情况和指标对比关系。
多维分析提供条形图和列表的展示形式,您可以快捷将指定维度的具体对象添加为过滤条件。
条形图
条形图形式下,您可以直观的通过矩形长度掌握样本数据的分布情况或性能指标数据的对比情况,右上角会提供具体样本数据统计值、占比情况、性能指标等信息,信息的展示顺序与您当前所选择的指标选项关联,您可以单击对应的矩形快速将其添加为筛选条件。
列表
在列表形式下,会展示条形图图示所对应的详细信息,您可以点击对应的列进行排序显示,也同样可以快速将关注的维度对象添加为筛选条件。
问题列表
移动监控系统会自动分析提取性能问题的关键特征,并据此将同类问题聚合为一类issue,您可以便捷的以列表的形态对性能issue进行管理,这包括但不限于问题筛选、问题排序、问题影响分析、问题状态管理。
问题列表筛选
除全局筛选外,您还可以在问题列表中针对issue进行专项筛选,目前系统默认提供四种筛选能力:
异常类型筛选:Error性质问题可依据异常类型进行筛选,例如在崩溃分析模块可将OOM类型异常进行专项筛选
问题状态筛选:您可以依据问题当前状态进行筛选,系统默认提供未修复、修复中、已修复、暂时忽略四种状态便于您对文档当前的处理状态进行管理
ID筛选:您可以按照需要依据设备ID、用户ID、问题ID对issue进行筛选。您将可以集中分析指定用户/设备的问题,也可以定向检索指定issue,分析issue的变化趋势和复现情况
关键字筛选:您可以基于函数名称、文件名称等关键字面向问题特征进行筛选,这将可以帮助您了解指定模块/功能从移动监控系统层面是否被初步认定为问题根因,并将他们筛选出来
问题状态流转
问题列表中提供未修复、已修复、修复中、暂时忽略四个问题状态,您可以在问题列表中流转对应的issue的状态,以便管理问题列表中的issue。
问题列表排序
您可以在问题列表中选择关注的度量数据进行排序,以聚焦TOP影响范围问题/TOP严重问题。
问题列表下钻
您可以在问题列表中选定关注的issue,并点击蓝色问题特征信息下钻到问题详情页面,也可以通过问题详情页面左上角的面包屑功能返回问题列表上次的浏览位置,并保存已读状态。
问题详情
问题详情模块会以列表和卡片的形式呈现指定issue的问题样本信息,这包括但不限于样本列表、上下文信息、堆栈信息、日志信息等,您可以在问题详情中针对指定的issue进行分析定位,进而解决问题,其中错误信息在不同的性能域的功能有一定差异,具体差异可参考下文对应性能域的详细功能介绍。除此之外您还可以查看该issue的趋势变化,定位问题出现、激增等相关时间节点和TOP维度的趋势变化。
样本筛选
您可以在问题详情中按照实际业务需要过滤指定issue的上报样本,以便查看您核心关注的相关上报样本。
样本列表
样本列表支持修改排序口径,您可以按照实际需要通过排序和切换功能聚焦特定的问题样本。
上下文信息
上下文信息旨在让您掌握事故现场的环境信息,更好地理解问题发生时的客观外部因素,辅助您对问题进行分析定位。
错误信息
错误信息旨在让您掌握与事故发生相关的第一现场信息,从而帮助您理解问题产生的前因后果,进而达成问题的定位解决。错误信息在不同的性能域提供的能力有所差异。
统计分析
统计分析旨在帮助您通过issue的趋势变化信息分析问题的具体情况,快速定位问题的首次出现时间、首次出现版本、issue激增时间等内容。
FAQ
1、Q:总览看板为什么部分卡片没数据?
A:没数据的情况可能是多种原因导致的,常见原因如下:
(1) 所选择的筛选条件下没有数据上报。该情况常见于选择的时间范围太小或者是筛选的版本太少,此时可以选择扩大筛选范围。
(2) 对应功能没有开启上报。该情况可以下钻到对应的分析页面查看指标卡片和问题列表是否有数据,若切换不同的时间筛选条件发现均无数据,可根据无数据指引和SDK接入文档自检是否已开启上报。
2、Q:为什么页面上会出现unknown、NoPermission等数据value?
A:受客户端的网络、运行环境、权限授权等因素影响,可能会出现部分字段无法采集到的情况,该部分数据一般占比较小,属于正常现象,具体字段意义如下
NoPermission:应用或应用用户未授权获取该字段
NoNetwork:问题触发时,用户设备处于无网络状态,因此未获取到该字段,当前该现象仅会出现在网络类型字段上
UknownNetwork:未知网络类型,除2G、3G、4G、5G、WI-FI以外的网络类型均会归类于此
user_not_set:SDK使用方未设置该字段,仅针对需要手动设置的字段
user_set_empty:SDK使用方主动将字段设为空值,仅针对需要手动设置的字段
unknown:因设备、环境的未知原因未能获取到指定字段
Unavailable:因设备、环境的未知原因未能获取到指定字段
3、Q:功能分析页面无数据应该如何处理?
A:请确保已按照SDK接入文档正确开启对应功能的上报并已触发对应的问题。具体开启及验证步骤可见接入文档中的对应功能模块。若已确认成功开启了对应功能的上报并且触发了对应的问题,您可扩大筛选条件再次搜索对应的数据。
4、Q:为什么卡慢分析页面会出现无指标数据但是问题列表有数据的情况?
A:流畅度指标需要自行打点才会上报,请确保已按照SDK接入文档正确开启流畅度指标的打点和采集,并确认已进入到对应的打点页面触发滑动操作。
5、Q:为什么慢请求问题详情中的请求信息和响应信息与我实际的请求不一致?
A:由于网络请求中的请求信息和响应信息有可能携带用户敏感信息,QAPM会针对该部分敏感信息做裁剪处理,不进行上报,因此请求信息和响应信息与实际不符属于正常现象,具体的裁剪规则请见对应的SDK接入文档。
6、Q:为什么指标分析部分显示问题的发生次数和问题列表中的不对应?
A:由于样本上报有采样率限制,因此问题列表中问题样本数量与指标统计不吻合为正常现象,样本采样率的增加可能涉及资源扩容,如需调整请联系移动监控团队。如您想要确保某一用户或设备的上报,可通过添加白名单的方式实现,添加到白名单的用户或设备会百分百上报。
总览
功能简述
总览看板主要由指标看板、趋势分析两部分构成,旨在快速帮助研发人员了解应用性能全景,应用性能变化趋势,并可针对关键性能瓶颈进行下钻分析,直达病灶。
功能说明
总览页面全部内容均受顶部的全局筛选影响。
趋势分析看板
通过趋势分析看板,您可以快速获取核心指标的趋势变化走向,以便您能快速发现核心指标的异常。同时可以通过全局筛选,仅关注部分版本的趋势变化,以便更好的聚焦问题。
TOP 5分析
在TOP 5分析功能中,您可以通过切换指标,查看趋势分析看板中对应指标的详细趋势变化,除此之外,我们还会根据不同性能域名提供问题影响最严重的TOP 5分布情况和对应的详情,分布情况可以快速帮助您确认是不是极端问题,详情内容可以帮助您进一步判断TOP 5维度问题的影响范围,并可通过详情表格一键下钻到对应的分析页面中。
崩溃分析
功能简述
QAPM崩溃分析支持针对客户端的崩溃问题进行分析。QAPM提供针对崩溃问题的指标分析、多维分析、崩溃详情分析能力。
崩溃分析名词释义
- 崩溃次数
未处理的异常或信号导致的意外退出总次数
- 启动次数
应用的总启动次数,崩溃率计算所使用的启动次数按照QAPM SDK初始化次数计算
- 崩溃率
从应用启动到退出应用,所有用户触发的平均崩溃次数(注意:当筛选条件设置为页面、崩溃类型、应用状态等不会对启动次数生效的条件时,崩溃率代表从应用启动到退出应用,所有用户在筛选条件下触发的平均崩溃次数)
计算公式:崩溃次数/启动次数
- 崩溃用户数
未处理的异常或信号导致的意外退出影响总人数(去重)
- 用户数
应用启动总用户数(去重)
- 崩溃用户率
从应用启动到退出应用,受到崩溃影响的用户比例
计算公式:崩溃用户数/用户数
功能说明
趋势分析
崩溃趋势分析支持针对崩溃率、崩溃次数、崩溃用户率、崩溃用户数共四个指标的分析。您可以通过趋势分析快速定位崩溃问题激增、下降的相关时间节点,帮助您加速定位相关的崩溃问题出现的原因。
组合分析
崩溃组合分析提供针对应用版本、系统版本、设备类型的组合分析能力,可以按选定的观测维度和排序依据查看对应排序对象下的TOP7、TOP10、TOP20的指标变化。
多维分析
崩溃多维分析支持查看崩溃次数和启动次数在不同维度下的具体数据。通过多维分析,您可以获取在不同维度上的崩溃次数和启动次数情况,通过这些信息您可以判断崩溃问题是否集中出现在某一维度上的某一对象上。
问题列表
QAPM会根据上报的个例堆栈信息,提取相关的问题特征,并根据腾讯内部的性能优化经验,将具有相同特征的个例聚合为同一个issue。列表中的每一行都是独立的一个性能问题。崩溃问题列表可以将异常类型、问题状态、设备ID、用户ID、问题ID、特定函数或文件名设为筛选条件,该处的筛选条件仅作用于问题列表。
除此之外问题列表还提供对应issue的崩溃用户、崩溃次数、最近上报时间的排序能力,帮助您根据影响范围梳理现存的问题。
问题详情
通过问题详情页,您可以查看某一个issue的不同样本数据,通过点击样本列表中的不同项即可实现切换样本。问题详情支持针对样本的筛选,可以根据关注的维度筛选出符合期望的样本。
崩溃分析错误信息除提供堆栈信息外,还提供附件下载能力,您可以通过附件下载获取该样本的原始上报信息,以满足您进一步的分析需求。
崩溃分析的统计分析能力支持查看该issue的崩溃次数和崩溃用户数的趋势变化情况,此外还提供组合分析的能力,帮助您获取更多的issue统计信息。
ANR分析
功能简述
QAPM ANR分析支持针对Android客户端的总体ANR情况进行分析。包含指标分析、多维分析、ANR详情分析能力。
ANR分析名词释义
- ANR次数
触发“应用无响应”(Application Not Response, ANR)错误的总次数
- 启动次数
应用的总启动次数,崩溃率计算所使用的启动次数按照QAPM SDK初始化次数计算
- ANR率
从应用启动到退出应用,所有用户触发的平均ANR次数(注意:当筛选条件设置为页面、应用状态等不会对启动次数生效的条件时,ANR率代表从应用启动到退出应用,所有用户在筛选条件下触发的平均ANR次数)
计算公式:ANR次数/启动次数
- ANR用户数
“应用无响应”(Application Not Response, ANR)错误影响总人数(去重)
- 用户数
应用启动总用户数(去重)
- ANR用户数
从应用启动到退出应用,受到ANR影响的用户比例
计算公式:ANR用户数/用户数
功能说明
趋势分析
ANR趋势分析支持针对ANR率、ANR次数、ANR用户率、ANR用户数共四个指标的分析。您可以通过趋势分析快速定位ANR问题激增、下降的相关时间节点,帮助您加速定位相关的ANR问题出现的原因。
组合分析
ANR组合分析提供针对应用版本、系统版本、设备类型的组合分析能力,可以按选定的观测维度和排序依据查看对应排序对象下的TOP7、TOP10、TOP20的指标变化。
多维分析
ANR多维分析支持查看ANR次数和启动次数在不同维度下的具体数据。通过多维分析,您可以获取在不同维度上的ANR次数和启动次数情况,通过这些信息您可以判断ANR问题是否集中出现在某一维度上的某一对象上。
问题列表
QAPM会根据上报的个例堆栈信息,提取相关的问题特征,并根据腾讯内部的性能优化经验,将具有相同特征的个例聚合为同一个issue。列表中的每一行都是独立的一个性能问题。ANR问题列表可以将问题状态、设备ID、用户ID、问题ID、特定函数或文件名设为筛选条件,该处的筛选条件仅作用于问题列表。
除此之外问题列表还提供对应issue的ANR用户、ANR次数、最近上报时间的排序能力。
问题详情
通过问题详情页,您可以查看某一个issue的不同样本数据,通过点击样本列表中的不同项即可实现切换样本。问题详情支持针对样本的筛选,可以根据关注的维度筛选出符合期望的样本。
ANR分析错误信息除提供堆栈信息外,还提供附件下载能力,您可以通过附件下载获取该样本的原始上报信息,以满足您进一步的分析需求。
ANR分析的统计分析能力支持查看该issue的ANR次数和ANR用户数的趋势变化情况,此外还提供组合分析的能力,帮助您获取更多的issue统计信息。
卡慢分析
功能简述
卡慢分析通过监控用户滑动时的屏幕绘制信息,根据监控到的屏幕绘制信息衡量App界面绘制是否及时,若App页面绘制不及时即可认为用户感受到了卡慢问题。
您可以自行定义用户滑动场景并根据实际需要对滑动场景打点。QAPM仅采集在SDK接入过程中自定义打点的场景流畅度数据。
卡慢分析除支持采集自定义打点的场景流畅度数据采集外,还会采集对应的卡慢问题。当主线程阻塞超过200ms时,SDK会判断该问题为一个卡慢问题,并采集相关的堆栈信息进行上报。
卡慢分析名词释义
- 流畅度
描述自定义场景的平均流畅程度
样本采集:每触发一次自定义场景,将针对场景触发的时间窗进行监控并记录所有的帧渲染情况(各丢帧区间帧数),形成一个样本
计算公式:(正常渲染帧数 1 + 丢1帧帧数 1 / 1 + 丢2-4帧帧数 1 / 2 + 丢4-8帧帧数 1 / 4 + 丢8-16帧帧数 1 / 8 + 丢16帧以上帧数 1 / 16) * (1000 / 60) / 总场景触发时长
- 场景触发次数
触发自定义场景的总次数
功能说明
趋势分析
趋势分析支持查看流畅度指标的趋势变化。您可结合全局筛选功能,定向查看某一场景的流畅度趋势变化,并定向优化该场景的流畅度。
组合分析
卡慢组合分析提供针对应用版本、系统版本、设备类型、场景的组合分析能力,可以按选定的排序对象和排序依据查看对应排序对象下的TOP7、TOP10、TOP20的指标变化。
分位分析
在分位分析中,您可以查看在选定筛选条件下的流畅度指标的不同分位值和平均值,分位值可以辅助您立体地了解样本数据不同分层的趋势变化,辅助您对异常波动情况进行定位分析。
分布分析
分布分析功能默认按照1%为固定步长,将流畅度数据切割为100个区间。通过分布分析,您可以观测整体的流畅度数据在有效值域上的分布情况,辅助您制定性能优化计划,并能够在优化前后进行清晰明确的举证。
场景详情
在场景详情中,您可以查看每个自定义场景的场景触发次数、流畅度,支持按照对应指标降序和升序查看,快速定位问题最严重的场景。点击右侧可以快速将其对应的场景设置为筛选项。
多维分析
卡慢多维分析支持查看场景触发次数和流畅度在不同维度下的具体数据。通过多维分析,您可以获取在不同维度上的场景触发次数和流畅度情况,通过这些信息您可以判断某一维度上的流畅度情况。
问题列表
当主线程阻塞超过200ms时,QAPM会将其识别为一个卡慢问题,并采集相关的数据进行上报,并根据腾讯内部的性能优化经验,将具有相同特征的个例聚合为同一个issue。卡慢问题列表可以将问题状态、设备ID、用户ID、问题ID、特定函数或文件名设为筛选条件,该处的筛选条件仅作用于问题列表。
除此之外问题列表还提供对应issue的卡慢用户、卡慢次数、卡慢耗时、最近上报时间的排序能力。您可以筛选出卡慢耗时或者堆栈耗时最严重的问题,并优先查看对应的问题。
问题详情
通过问题详情页,您可以查看某一个issue的不同样本数据,通过点击样本列表中的不同项即可实现切换样本。问题详情支持针对样本的筛选,可以根据关注的维度筛选出符合期望的样本。
卡慢问题详情中会统计每个堆栈的函数耗时信息,您可以在耗时函数分析中查看该部分内容。
错误信息中提供耗时函数分析和堆栈信息,其中耗时函数分析中的关键耗时函数为系统推荐优先关注的卡慢函数,可以作为解决问题的着手点,TOP耗时函数为系统分析得出的头部卡慢函数,可以作为卡慢问题定位解决的辅助信息。
卡慢问题详情的统计分析能力支持查看该issue的卡慢次数和卡慢用户数的趋势变化情况,此外还提供组合分析的能力,帮助您获取更多的issue统计信息。
启动体验分析
功能简述
启动体验分析通过监控用户启动耗时信息,帮助您快速了解APP首次启动、冷启动、热启动的体验情况,针对慢启动问题,QAPM还会采集相关的堆栈信息,帮助您优化APP启动性能。
名词释义
- 启动耗时
a. 冷启动
应用自设备启动后或系统终止应用后的首次启动,Android计算方式:mainActivityOnResume_end - attachBaseContext_start,iOS计算方式:第一个页面首帧UI上屏时间 - 应用进程创建时间
b. 首次启动
应用安装后第一次启动,是特殊的冷启动,Android计算方式:mainActivityOnResume_end - attachBaseContext_start,iOS计算方式:第一个页面首帧UI上屏时间 - 应用进程创建时间
c. 热启动
在进程及Activity实例还存在(iOS是在应用在后台且存活)的前提下,应用切后台三分钟后,再次切回前台,定义为热启动,Android计算方式:activityOnResume_end - activityOnRestart_start ,iOS计算方式:ApplicationDidBecomeActive - ApplicationWillEnterForeground
计算公式
总启动耗时/总启动次数
- 启动次数
应用的总启动次数,按照不同的启动类型(首次启动、冷启动、热启动)统计,与用于计算崩溃率的启动次数统计口径不同
功能说明
在启动体验分析中,默认选择冷启动作为筛选条件,您可以自行修改需要分析的启动场景。
趋势分析
趋势分析支持查看启动耗时指标的趋势变化情况,您可通过趋势分析发现启动耗时明显变慢的相关时间节点。
组合分析
启动耗时组合分析提供针对应用版本、系统版本、设备类型的组合分析能力,可以按选定的观测对象和排序依据查看对应排序对象下的TOP7、TOP10、TOP20的指标变化。
分位分析
在分位分析中,您可以查看在选定筛选条件下的启动耗时指标的不同分位值和平均值,分位值可以辅助您立体地了解样本数据不同分层的趋势变化,辅助您对异常波动情况进行定位分析。
分布分析
分布分析功能按照100ms为固定步长,按照启动耗时情况切割为多个区间后的数据分布情况。通过分布分析,您可以观测整体的启动耗时数据在有效值域上的分布情况,辅助您制定性能优化计划,并能够在优化前后进行清晰明确的举证。
多维分析
启动多维分析支持查看启动次数和启动耗时在不同维度下的具体数据。通过多维分析,您可以获取在不同维度上的启动次数和启动耗时情况,通过这些信息您可以判断某一维度上的启动体验情况。
当选择启动耗时时,多维分析的柱状图显示的是启动耗时的对比情况。
问题列表
对于每一个应用冷启动/首次启动样本,Android系统若启动耗时大于2500ms为慢启动,iOS系统若启动耗时大于4000ms为慢启动,对于每一个应用热启动样本,Android系统若启动耗时大于1000ms为慢启动,iOS系统若启动耗时大于2000ms为慢启动。当启动耗时满足上述条件时,QAPM 会将其识别为一个慢启动问题并采集相关的数据进行上报,并根据腾讯内部的性能优化经验,将具有相同特征的个例聚合为同一个issue。
慢启动问题列表可以将问题状态、设备ID、用户ID、问题ID、特定函数或文件名设为筛选条件,该处的筛选条件仅作用于问题列表。
除此之外问题列表还提供对应issue的慢启动用户数、慢启动次数、启动耗时、关键堆栈耗时、最近上报时间的排序能力。
问题详情
通过问题详情页,您可以查看某一个issue的不同样本数据,通过点击样本列表中的不同项即可实现切换样本。问题详情支持针对样本的筛选,可以根据关注的维度筛选出符合期望的样本。
错误信息中提供耗时函数分析和堆栈信息,其中耗时函数分析中的关键耗时函数为系统推荐优先关注的卡慢函数,可以作为解决问题的着手点,TOP耗时函数为系统分析得出的头部卡慢函数,可以作为慢启动问题定位解决的辅助信息。
网络分析
功能简述
网络分析支持慢请求以及异常请求的分析,可通过顶部切换分析不同的问题。
网络分析名词释义
(1)慢请求名词释义
- 请求耗时
客户端发起的成功请求的平均耗时
计算方式:ResponseEnd - DomainLookUpStart,计算公式:总请求耗时/成功请求次数
- 慢请求次数
客户端发起的慢请求总次数,传输数据大于50KB时,传输速度小于10KB/s为慢请求;若传输数据小于等于50KB,响应时间大于2s为慢请求
- 慢请求比例
客户端发起的成功请求中,慢请求所占的比例
计算公式:总慢请求次数/总成功请求次数
- 请求次数
客户端发起的Http请求总次数
- 慢请求用户数
受慢请求影响的总用户数(去重)
- 慢请求用户比例
发起请求的用户中,受慢请求影响的用户比例
计算公式:总慢请求用户数/总成功请求用户数
- 用户数
发起客户端请求的总用户数
(2)异常请求名词释义
- 错误请求次数
客户端发起的所有请求中,状态码≥400的总请求次数
- 请求错误率
客户端发起的所有请求中,错误请求所占的比例
计算公式:总错误请求次数/总请求次数
- 请求次数
客户端发起的总请求次数
- 错误用户数
受错误请求影响的总用户数(去重)
- 错误用户比例
发起请求的用户中,受错误请求影响的用户比例
计算公式:总错误用户数/总用户数
- 用户数
发起客户端请求的总用户数(去重)
功能说明
慢请求功能说明
在慢请求分析中,QAPM默认只显示请求结果为成功的请求,您可在全局筛选中取消掉该限制。
趋势分析
趋势分析支持请求耗时、慢请求比例、慢请求次数、慢请求用户比例、慢请求用户数、发送字节数、接收字节数指标的趋势变化分析。您可以通过趋势分析了解各个时间节点的网络请求情况。
组合分析
慢请求组合分析提供针对应用版本、系统版本、设备类型、域名、网络类型的组合分析能力,可以按选定的排序对象和排序依据查看对应排序对象下的TOP7、TOP10、TOP20的指标变化。
分位分析
在分位分析中,您可以查看在选定筛选条件下的请求耗时、发送字节数、接收字节数的不同分位值和平均值,分位值可以辅助您立体地了解样本数据不同分层的趋势变化,辅助您对异常波动情况进行定位分析。
分布分析
当查看请求耗时时,分布分析功能默认按照100ms为固定步长,切割为多个区间,当查看请求字节数和接收字节数时,分布分析功能分别默认按照10Byte和10K为固定步长,切割为多个区间。通过分布分析您可以观测整体的网络请求数据在有效值域上的分布情况,辅助您制定性能优化计划,并能够在优化前后进行清晰明确的举证。
请求详情
在请求详情中,您可以查看每个域名的请求耗时、请求次数、慢请求次数、慢请求比例、请求用户数、慢请求用户数、慢请求用户比例、发送字节数、接收字节数指标,支持按照对应指标降序和升序查看。点击右侧可以快速将其对应的场景设置为筛选项。还可点击查看对应域名下URL的指标数据。
多维分析
慢请求多维分析支持查看请求耗时、成功请求次数、慢请求次数、成功请求用户数、慢请求用户数、发送字节数、接收字节数在不同维度下的具体数据。
问题列表
对于每一个Http请求样本,传输数据大于50KB时,传输速度小于10KB/s为慢请求;若传输数据小于等于50KB,响应时间大于2s为慢请求。当Http请求满足上述条件时,QAPM 会将其识别为一个慢请求问题并采集相关的数据进行上报,并根据腾讯内部的性能优化经验,将具有相同特征的个例聚合为同一个issue。
慢请求问题列表可以将问题状态、设备ID、用户ID、问题ID、设为筛选条件,该处的筛选条件仅作用于问题列表。
除此之外问题列表还提供对应issue的慢请求用户、慢请求次数、请求耗时、最近上报时间的排序能力。
问题详情
通过问题详情页,您可以查看某一个慢请求的不同样本数据,通过点击样本列表中的不同项即可实现切换样本。问题详情支持针对样本的筛选,可以根据关注的维度筛选出符合期望的样本。
慢请求问题详情中会统计提供每一个请求的请求信息和响应信息。
由于请求信息和响应信息可能携带用户信息,QAPM 默认支持以下header的上报(不区分大小写):"Age", "Allow", "Accept-CH","Accept-CH-Lifetime", "Cache-Control","Connection", "", "Content-Encoding",
"Content-Language", "Content-Length","Content-Location", "Content-Range","Content-Security-Policy-Report-Only","Content-Security-Policy","Content-Type", "Date", "Device-Memory","Digest", "DNT", "DPR", "ECT", "ETag","Expect-CT", "Expect", "Expires","Feature-Policy", "Forwarded", "Host","If-Match", "If-Modified-Since",
"If-None-Match", "If-Range","If-Unmodified-Since", "Keep-Alive",
"Large-Allocation", "Last-Modified","Link", "Location", "NEL", "Origin","Proxy-Authenticate", "Permissions-Policy","Range", "Referer","Referrer-Policy", "Retry-After","Save-Data", "Server-Timing", "Server","Service-Worker-Navigation-Preload","Strict-Transport-Security", "TE","Timing-Allow-Origin", "TK", "Trailer",
"Transfer-Encoding", "Upgrade-Insecure-Requests","Upgrade", "User-Agent", "Vary", "Via","Want-Digest", "X-Content-Type-Options","X-DNS-Prefetch-Control", "X-Forwarded-For","X-Forwarded-Host", "X-Forwarded-Proto","X-Frame-Options", "X-XSS-Protection"
异常请求功能说明
趋势分析
趋势分析支持请求错误率、错误请求数、错误请求用户比例、错误用户数指标的分析。您可以通过趋势分析快速定位异常请求问题激增、下降的相关时间节点,帮助您加速定位相关的异常请求问题出现的原因。
组合分析
异常请求组合分析提供针对应用版本、系统版本、设备类型、域名、网络类型的组合分析能力,可以按选定的排序对象和排序依据查看对应排序对象下的TOP7、TOP10、TOP20的指标变化。
请求详情
在请求详情中,您可以查看每个域名的请求次数、错误请求数、请求错误率、用户数、错误用户数、错误请求用户比例,支持按照对应指标降序和升序查看。点击右侧可以快速将其对应的场景设置为筛选项。还可点击查看对应域名下URL的指标数据。
多维分析
异常请求多维分析当在趋势分析选择查看错误率、错误请求数的时候可选择错误请求次数、请求次数在不同维度下的具体数据,通过这些信息您可以判断某一维度上的异常请求情况。
当在趋势分析选择查看错误用户比例、错误用户数的时候可选择错误用户数、用户次数在不同维度下的具体数据。
问题列表
对于每一个Http请求样本,当请求状态码≥400时,QAPM 会将其识别为一个异常请求问题并采集相关的数据进行上报,并根据腾讯内部的性能优化经验,将具有相同特征的个例聚合为同一个issue。
异常请求问题列表可以将问题状态、设备ID、用户ID、问题ID、设为筛选条件,该处的筛选条件仅作用于问题列表。
除此之外问题列表还提供对应issue的错误用户数、错误请求次数、最近上报时间的排序能力。
问题详情
通过问题详情页,您可以查看某一个异常请求的不同样本数据,通过点击样本列表中的不同项即可实现切换样本。问题详情支持针对样本的筛选,可以根据关注的维度筛选出符合期望的样本。
异常请求问题详情中会统计提供每一个请求的请求信息和响应信息,异常请求问题详情中的请求信息和响应信息同样仅上报特定header的请求信息和响应信息,相关的规则和慢请求一致。
Webview体验分析
功能简述
Webview体验分析支持慢加载以及JS错误的分析,可通过顶部切换分析不同的问题。
名词释义
(1)慢加载名词释义
- 完全加载时间
完全加载时间:从输入URL发起请求到整个页面及所有依赖资源如样式表和图片都已完全加载的平均耗时,计算方式:LoadEventEnd - NavigationStart
计算公式:总完全加载耗时/总页面加载次数
- 页面加载次数
页面访问总次数
(2)JS错误名词释义
- JS错误次数
用户在访问Web页面的过程中发生JavaScript运行时错误的总次数
- JS错误率
用户在访问一个Web页面的过程中,发生JavaScript运行时错误的平均次数
计算公式:JS错误次数/页面加载次数
- 页面加载次数
用户发起Web页面访问的总次数
- JS错误用户数
受JS错误影响的总用户数(去重)
- JS错误用户比例
发起Web页面访问的用户中,受JS错误影响的用户比例
计算公式:JS错误用户数/用户数
- 用户数
发起Web页面访问的总用户数(去重)
功能说明
慢加载功能
慢加载分析主要致力于帮助您解决Webview加载较慢的问题,您可通过该页面获取Webview页面加载的相关耗时信息,辅助您优化Webview页面加载速度。
趋势分析
趋势分析支持Webview页面完全加载耗时的趋势变化分析。您可以通过趋势分析了解各个时间节点的Webview页面加载耗时情况。
组合分析
慢加载组合分析提供针对应用版本、系统版本、设备类型、页面、网络类型的组合分析能力,可以按选定的排序对象和排序依据查看对应排序对象下的TOP7、TOP10、TOP20的指标变化。
分位分析
在分位分析中,您可以查看在选定筛选条件下的Webview页面加载耗时的不同分位值和平均值,分位值可以辅助您立体地了解样本数据不同分层的趋势变化,辅助您对异常波动情况进行定位分析。
分布分析
分布分析功能默认按照100ms为固定步长,切割为多个区间。通过分布分析您可以观测整体的Webview页面加载耗时数据在有效值域上的分布情况,辅助您制定性能优化计划,并能够在优化前后进行清晰明确的举证。
多维分析
慢加载多维分析支持查看页面加载次数、完全加载耗时不同维度下的具体数据。
问题列表
对于每一个页面加载样本,页面完全加载时间大于3500ms时,QAPM 会将其识别为一个慢加载问题并采集相关的数据进行上报,并将相同页面的个例聚合为同一个issue。
慢请求问题列表可以将问题状态、设备ID、用户ID、问题ID、设为筛选条件,该处的筛选条件仅作用于问题列表。
除此之外问题列表还提供对应issue的慢加载用户、慢加载次数、完全加载耗时、最近上报时间的排序能力。
问题详情
通过问题详情页,您可以查看某一个慢页面的不同样本数据,通过点击样本列表中的不同项即可实现切换样本。问题详情支持针对样本的筛选,可以根据关注的维度筛选出符合期望的样本。
慢加载问题详情提供对应个例的时序分析能力,分别为页面加载瀑布图和资源加载瀑布图,您可通过该部分信息定向优化某一部分的内容。
JS错误功能说明
JS错误分析功能旨在帮助您解决Webview页面中的JS错误问题。
趋势分析
趋势分析支持JS错误率、JS错误数、JS错误用户比例、JS错误用户数指标的分析。可以点击切换不同的指标您可以通过趋势分析快速定位JS错误问题激增、下降的相关时间节点,帮助您加速定位相关的JS错误问题出现的原因。
组合分析
JS错误组合分析提供针对应用版本、系统版本、设备类型、页面、网络类型、浏览器、浏览器版本的组合分析能力,可以按选定的排序对象和排序依据查看对应排序对象下的TOP7、TOP10、TOP20的指标变化。
页面详情
在页面详情中,您可以查看每个页面的页面加载次数、JS错误次数、JS错误率、用户数、JS错误用户数、JS错误用户比例,支持按照对应指标降序和升序查看。
多维分析
JS错误多维分析当在趋势分析选择查看JS错误率、JS错误数的时候可选择JS错误次数、页面加载次数在不同维度下的具体数据。
当在趋势分析选择查看JS错误用户比例、JS错误用户数的时候可选择JS错误用户数、用户数在不同维度下的具体数据。
问题列表
QAPM会根据上报的个例堆栈信息,提取相关的问题特征,并根据腾讯内部的性能优化经验,将具有相同特征的个例聚合为同一个issue。列表中的每一行都是独立的一个性能问题。
JS错误问题列表可以将错误类型、问题状态、设备ID、用户ID、问题ID、设为筛选条件,该处的筛选条件仅作用于问题列表。
除此之外问题列表还提供对应issue的JS错误用户数、JS错误次数、最近上报时间的排序能力。
问题详情
通过问题详情页,您可以查看某一个JS错误的不同样本数据,通过点击样本列表中的不同项即可实现切换样本。问题详情支持针对样本的筛选,可以根据关注的维度筛选出符合期望的样本。
手动翻译
QAPM提供了自动上传符号表以及自动翻译堆栈的能力,您可参考对应的SDK接入文档实现自动上传符号表功能。除此之外QAPM还提供了手动上传符号表和手动翻译的能力,若您需要使用手动上传符号表和手动翻译能力,请确保在接入SDK时已经正确设置了构建ID,否则有可能翻译失败。
前置准备
Android
如果您需要翻译java堆栈,请将后缀为 .txt 的mapping文件打包成 zip 文件,如果您还需要翻译Native堆栈请将翻译Native堆栈所必须的so文件一并打包到zip包中,若有多个so文件则需要打包在一起统一上传。请注意,zip包中除mapping文件和so文件外不可以含有其他的文件,否则有可能上传失败。
iOS
请将后缀为 .dSYM 的符号表文件直接压缩成 zip 文件进行上传,如有多个需要打包在一起统一上传,从系统上获取的dSYM文件的默认名称为XXX.app.dSYM,需要确保不要修改默认的文件名称,否则有可能翻译失败。请注意,zip包中除dSYM文件外不可以含有其他的文件,否则有可能上传失败。
Webview
如果您需要翻译Webview中的JS堆栈,请将后缀为 .map 的Sourcemap文件打包成 zip 文件进行上传,如有多个需要打包在一起统一上传。请注意,zip包中除Sourcemap文件外不可以含有其他的文件,否则有可能上传失败。
上传符号表文件
您可以在对应的问题详情页面上传对应的符号表文件,下面将以Android端的崩溃问题举例。
在Android的崩溃问题详情页中可以通过点击上传mapping/so文件或者更新mapping/so文件弹出对应的上传框。
点击选择文件并选择相应符号表文件后即触发自动上传任务,同一时间仅可执行一个上传任务。
成功上传后您可以通过该弹窗下载和更新符号表。
触发手动翻译
当成功上传对应的符号表文件后即可点击堆栈信息上方的翻译按钮对堆栈进行翻译。已翻译的堆栈可以重新翻译,重新翻译将会以最新上传的文件为基础重新执行翻译功能。
若未上传对应的符号表文件,则无法点击翻译按钮。
产品配置
基础配置
基础配置用于展示产品名称、Appkey、产品平台等产品基础信息。
版本配置入口在左侧菜单的【产品配置】如下,可以快速获取Appkey用于SDK集成。
上报配置
上报配置用于进行上报开关的配置。
点击“编辑”进入上报配置编辑状态,可进行产品数据上报的开关配置。
白名单配置
白名单中的用户将进行全量上报,并且开启全部监控功能,建议对于测试/关注的账号或者机器加入白名单。
用户白名单列表:配置白名单用户的id,为产品登入的唯一id(android中通过setProperty设置的QAPM.PropertyKeyUserId属性值,例如QQ号),一次只能输入一个id,暂不支持批量添加。
设备白名单列表:由apm提供的设备唯一标识,请单条配置。
账号id和设备id,android可以通过logcat日志查看获取,日志过滤关键字为QAPM_Config。例如,
QAPM_Config:{"pid":"339","version":"4.8.0","device":"MI+5X","uin":"55623158","deviceid":"1a8880a3dceeee1523e80e13b92c7df8","...."}
新增白名单
新增白名单账号校验要求:该字段的内容不能为空或包括敏感字符,且两头不能有空格,同时仅支持中文、英文、数字、下划线, 长度最大60。
修改白名单
通过编辑修改白名单信息。