本文主要帮助您快速完成终端性能监控 Pro SDK 的接入、数据上报及验证工作。
创建应用
1. 登录 终端性能监控 Pro,进入应用列表页面。
2. 在应用列表页单击新建应用,按要求完成业务系统选择。若您当前没有业务系统,单击新建业务系统可前往 业务系统列表 页面完成创建,填写相关信息。

3. 成功创建应用后,可以看到平台分配的 AppID 及 AppKey,作为该产品在平台的凭证。

购买资源包
在终端性能监控 Pro 中,成功创建应用后,还需要为其购买并绑定资源包,资源包详情见 计费概述,才能使用新创建的应用上报数据。如果应用没有绑定生效中的资源包,或者绑定的资源包已经用完,则该应用无法上报数据。

2. 购买完成后,单击操作列的绑定,绑定应用。

接入SDK
检查上报
应用按指引接入终端性能监控 Pro SDK 后,模拟/触发相关的事件,检查上报流程。终端性能监控 Pro 当前支持 崩溃监控、ANR 监控、OOM 监控、错误监控、性能监控(启动监控、卡顿监控、内存监控) 等功能。
不同的监控功能,数据上报逻辑有些差异。对于异常退出类的监控,默认全开启,SDK 捕获异常后,将立即上报,或者应用下次启动再上报。对于性能类的监控,默认采样开启,应用可以根据自身情况,创建配置任务,选择恰当的采样率。
崩溃监控
Android 平台示例代码:
public void testNPECrash() {String value = null;System.out.println("Length of str is: " + value.length());}
iOS 平台示例代码:
- (void)testNPECrash {NSString *str = nil;NSInteger length = [str length];NSLog(@"Length of str is: %ld", length);}
ANR 监控
Android 的 ANR 监控,默认全开启,暂不支持采样;iOS 的 ANR 监控,默认全开启,支持采样。
Android 平台示例代码:
public void testANR() {try {Thread.sleep(20000); // 模拟耗时操作} catch (InterruptedException e) {e.printStackTrace();}}
iOS 平台示例代码:
- (void)startLongRunningTask {dispatch_async(dispatch_get_main_queue(), ^{// 模拟长时间运行的任务[NSThread sleepForTimeInterval:20.0];});}
OOM 监控
Android 的 OOM 监控,默认全开启,暂不支持采样;iOS 的 OOM 监控,默认全开启,支持采样。
Android 平台示例代码:
public void simulateOOM() {List<byte[]> list = new ArrayList<>();while (true) {byte[] bytes = new byte[1024 * 1024]; // 分配1MB的内存list.add(bytes);}}
iOS 平台示例代码:
- (void)simulateFOOM {NSMutableArray *array = [NSMutableArray array];while (true) {@autoreleasepool {NSString *string = [NSString stringWithFormat:@"%d", arc4random_uniform(1000000)];[array addObject:string];}}}
错误监控
错误监控默认全开启,暂不支持采样。终端性能监控 Pro SDK 提供了一组接口,支持应用上报自己定义的异常及捕获的异常,这些异常被称为错误。
性能监控
1. 在测试阶段,为了方便测试,建议创建专门的白名单测试任务,所有监控功能设置为全采样,即"sample_ratio"以及"event_sample_ratio"设置为1。
2. 配置调整后,一般需要等待10分钟才能生效。为了确保配置生效,建议在修改配置10分钟后,开启应用,等待几分钟后再重启应用。
3. 允许开启应用启动监控后,在应用启动时,启动监控会自动开启,并在 SDK 初始化完成后,进行启动数据上报。
4. 卡顿和内存指标,开启监控后,收集应用本次运行的数据,下次启动时再上报数据。
5. 卡顿和内存的问题监控,开启监控后,当监控到相关异常个例时,wifi 条件下立即上报,非wifi条件下,会先本地缓存数据,在应用下次启动后再上报数据。
查看数据
1. 左边的是菜单栏,包含了各监控功能的入口。
2. 每类监控功能都包含概览、指标分析、问题列表,以及问题详情。

异常概览
异常概览中包含崩溃、错误、ANR 以及 OOM 等质量监控的指标分析数据。当前支持实时数据分析,异常趋势分析,以及异常的统计分布。

指标分析
指标分析包含卡顿,内存以及启动的指标分析数据。当前支持指标趋势分析、对比分析和多维分析。

问题列表
无论是崩溃、错误、ANR 以及 OOM 等质量监控,还是卡顿、内存、启动等的性能监控,都包含问题列表。监控到异常后,SDK 会采集现场信息并上报给服务器。服务器收到数据后,处理链路会提取上报个例的特征,将相同特征的个例聚合在一起,形成 Issue(即问题)。问题列表展示这些 Issue,并提供丰富的搜索能力,方便用户分析以及查询。
问题列表的常用使用步骤:
1. 根据分析需要,编辑搜索条件,用户还可以选择只显示常用的搜索条件,将不常用的条件隐藏。
2. 编辑完搜索条件后,单击查询,提交查询任务。
3. 完成搜索后,页面自动刷新,更新搜索结果。
4. 单击查看某个问题的详情。

问题详情
问题详情展示一个具体 Issue 的详细情况。一般而言,我们查看问题详情是为了了解导致异常的根本原因。
1. 首先我们会分析出错堆栈。在个例详情,选择某个个例,分析其出错堆栈。
2. 如果出错堆栈还不足以帮忙我们定义问题,我们还有可能要借助日志、FD 信息、进程信息或者甚至附件中的信息。

3. 如果对于这个问题的出现还心存疑惑,我们可以通过下钻分析功能,分析其上报的趋势,以及分布特性。
