You need to enable JavaScript to run this app.
导航

SDK上报配置

最近更新时间2024.01.11 20:09:48

首次发布时间2022.07.13 11:33:21

应用接入SDK后,SDK采样的数据将按照平台配置的默认值进行上报。SDK上报配置功能支持按照您自己的业务需要来配置SDK上报数据的采样和阈值,本文介绍如何进行各模块的SDK上报配置。

注意事项

  • 崩溃数据比较重要,默认全采样全上报,不支持配置采样率,只支持配置打开或者关闭。
  • 性能相关数据支持配置采样,命中采样的数据才会上报,没有命中不会上报。业务配置采样比例一般根据DAU计算,如果希望采样到有效的性能数据,一般需要保证有几十万的用户基数。
  • 修改SDK上报配置后,不会立即生效。客户端会每几小时定时拉取上报配置并缓存到本地。

创建SDK上报配置

下文以将自定义错误采样率配置为15%为例,介绍如何进行SDK上报配置。

注意

修改其他配置项时,请参见上报配置项说明,找到您要修改的配置项和配置项对应的模块。修改SDK上报配置时,将步骤5替换成目标配置项对应的模块,在步骤8中替换成目标配置项即可完成配置。

  1. 登录应用性能监控全链路版控制台

  2. 单击目标应用下的App端监控

  3. 在控制台左上角选择全部功能 > SDK上报配置

  4. 在筛选区域选择系统。

  5. 各模块采样率配置页签下,单击错误分析

    说明

    修改其他配置项时,请参见上报配置项说明,找到目标配置项后,查看其所在的标题,即为模块名。

  6. 在错误分析配置页面,打开总开关
    相关模块的总开关,打开会根据采样配置上报数据,关闭则整个模块不会上报数据。
    图片

  7. 单击创建配置
    图片

  8. 创建配置页面,完成以下配置,然后单击确定
    图片
    配置项说明:

    配置项

    说明

    配置项目

    选择自定义错误采样率

    说明

    修改其他配置项时,请参见上报配置项说明,将配置项目配置为目标配置项。

    自定义错误采样率

    手动修改为15%。

    配置名称

    自定义配置名称,用于标识该配置。

    筛选条件

    可选项。如果您的业务场景只需要关注某个或者某几个指标,那么可以配置筛选条件。
    例如,配置App版本为1.0.2,那么SDK就只采集App版本为1.0.2的数据,在这些数据中随机选择15%的数据进行上报。

  9. 单击保存修改

上报配置项说明

崩溃分析

配置项目

说明

Android默认值

iOS默认值

是否上传自定义日志

崩溃时候是否上传自定义日志,自定义日志会在崩溃详情页面展示。

APMPlus日志崩溃上报采样率

崩溃时是否采集APMPlus日志。默认不采集,如果需要采集,请配置采样率。

0

0

采集前N秒内自定义日志

采集崩溃前N秒的自定义日志,范围[0~300],单位s。

30

30

是否上报extension崩溃日志

是否上报extension崩溃日志。

不支持

zombie对象采样率

zombie对象监控采样率,有性能损耗,建议线上少量开启。

不支持

0%

zombie对象分析白名单

当白名单中的类dealloc时,会保存堆栈,用于分析zombie问题。书写格式参考:["MyClass","MyClass2"]。

不支持

[]

zombie对象采集白名单

只监控白名单中的类发生的zombie问题。书写格式参考:["MyClass","MyClass2"]。

不支持

[]

dealloc堆栈最大数量

最大保存多少个对象dealloc的堆栈,参考“zombie对象分析白名单”。堆栈数量越多,占用内存越大。

不支持

100

是否开启寄存器分析

开启寄存器分析后,崩溃时会记录寄存器相关信息并上报。开启后会增加崩溃日志大小,可能降低上报成功率。

不支持

是否开启异步调用栈分析

开启异步调用栈分析后,会记录异步调用信息,存在一定性能损耗。

不支持

是否开启栈内存分析

开启栈内存分析后,崩溃时会记录栈内存相关信息并上报。开启后会增加崩溃日志大小,可能降低上报成功率。

不支持

栈内存分析最大数量

栈内存最大数量,数量越大,崩溃日志越大,可能降低上报成功率。

不支持

256

GWPASan采样率

GWPASan采样率。

不支持

0%

GWPASan最大同时分配的个数

GWPASan记录内存块的创建和销毁过程的最大个数。

不支持

1024

GWPASan内存分配采样率

GWPASan记录内存块的采样率。
计算公式:1/SampleRate。举例:开辟内存单元[m1, m2, m3, .. , m1000],如采样率100%,会记录所有的内存使用情况,如采样率为10%,会记录[m1, m10, m20, m30, ... , m1000]的值。

不支持

1/20

coredump采样率

coredump采样率。

0%

0%

自定义文件采样率

自定义文件采样率。

0%

不支持

是否忽略应用退出时发生的崩溃

是否忽略应用退出时发生的崩溃。如果配置为是,须同步配置应用名称。

不支持

MetricKit

配置项目

说明

Android默认值

iOS默认值

MetricKit稳定性采样率

MetricKit稳定性采样率。

不支持

20%

MetricKit性能采样率

MetricKit性能采样率。

不支持

0%

崩溃防护

配置项目

说明

Android默认值

iOS默认值

崩溃防护采样率

控制崩溃防护模块是否开启的采样率。

不支持

100%

崩溃防护子模块开关

控制崩溃防护子模块是否开启,详情请参见崩溃防护

不支持

63

数组创建防护逻辑规则

控制崩溃防护对数组的防护规则。详情请参见崩溃防护

  • 严格模式:优先保证数组索引的正确性。
  • 兼容模式:优先保证数组创建成功。

不支持

严格模式

崩溃防护数

配置进程单次运行可防护的崩溃个数。防护次数超过这个数值后将不再进行防护。

5

不支持

错误分析

配置项目

说明

Android默认值

iOS默认值

自定义错误采样率

自定义错误上报的采样率。

100%

10%

Native自定义异常采样率

Native自定义异常采样率。

0%

不支持

GWPASan采样率

GWPASan采样率。

0%

不支持

卡顿分析

配置项目

说明

Android默认值

iOS默认值

卡顿采样率

卡顿数据上报的采样率。

20%

5%

卡顿阈值

卡顿定义的阈值,耗时超过阈值,被认为是卡顿,会采集堆栈。单位为秒。

2.5

2.5

严重卡顿阈值

严重卡顿定义的阈值,耗时超过阈值,被认为是严重卡顿,会采集堆栈。单位为秒。

4

不支持

用户体验

配置项目

说明

Android默认值

iOS默认值

启动采样率

启动监控数据上报的采样率。

20%

10%

APP更新是否计入首次启动

定义首次启动是否包括App更新。

prewarm判定阈值

通过此阈值判断需要忽略启动分析的异常阶段。详情请参见用户体验-启动分析

不支持

1500

页面采样率

页面体验数据的采样率:包括页面响应耗时,流畅性和丢帧。

20%

10%

页面分析

配置项目

说明

Android默认值

iOS默认值

web_view采样率

页面监控(WebView监控)中的各功能,统一按DeviceID进行采样,即一个DeviceID被命中后,页面监控中的所有功能数据都会采集。

20%

20%

新H5监控

配置项目

说明

Android默认值

iOS默认值

新H5监控采样率

新H5监控采样率。

20%

20%

内存优化

配置项目

说明

Android默认值

iOS默认值

OOM分析采样率

上报内存文件的采样率,影响泄露、大对象、单设备查询的数据量。

100%

5%

内存指标采样率

OOM趋势里扩展指标的采样率。

10%

10%

启动日志收集的内存占用比例

内存占比大于"启动阈值",才会上报内存异常时的内存文件。

100%

不支持

内存泄漏检测采样率

控制内存泄漏兜底方案是否开启泄露检测。

100%

不支持

内存泄漏兜底采样率

控制内存泄漏兜底方案是否进行泄露兜底。

0%

不支持

C++本地符号化是否开启

开启后,会在本地解析出C++对象的符号,对性能会有一定影响。

不支持

内存采集启动阈值

内存超过"启动阈值",才会上报内存异常时的日志文件。单位为MB。
有些场景,内存占用没有达到阈值就被系统中断,这时可以修改此值。

不支持

1024

本模块允许占用的最大内存

MemoryGraph对自身占用的内存大小进行了限制。采集MemoryGraph时,允许APM SDK占用的最大内存。超出后会触发降级。此时,SDK仅采集节点信息不采集引用信息。单设备查询表现为只有聚类列表,没有引用树、支配树等信息。单位为MB。

不支持

200

日志文件占用的最大磁盘空间

SDK对生成的内存快照文件占用的磁盘空间进行了限制。MemoryGraph单个文件允许占用的最大磁盘空间,超出后仅采集节点信息不采集引用信息,仅可查看聚类列表,没有引用树、支配树的信息。单位为MB。

注意

不要把阈值设置过大,否则下次启动上传时内存文件加载可能会再次触发OOM。更多信息,请参见日志文件占用的最大磁盘空间阈值如何调整?

不支持

250

单用户单日触发次数上限

对于单台设备,每天可以触发MemoryGraph采集的最大次数,如果数值过大,会影响用户的使用体验。单位为次/天/人。

不支持

10

单设备两次采集的间隔

对于单台设备,一次使用期间两次内存分析之间最小的时间间隔。单位为分钟。

不支持

20

单设备两次采集的内存增额

对于单台设备,一次使用期间物理内存增加的占用大于该数值,才触发下一次采集。单位为MB。

不支持

200

网络分析

配置项目

说明

Android默认值

iOS默认值

网络采样率

网络监控数据上报的采样率。

5%

5%

断网时是否上报

当断网时产生的数据,是否在网络恢复后上报。

网络错误是否全量上报

网络错误是否全量上报,如果是,那么网络错误“无视”采样率,一定会上报,可以在单点里面查到网络错误。

电量分析

配置项目

说明

Android默认值

iOS默认值

数据采集间隔

电量指标采集周期。单位为分钟。

5

不支持

后台是否采集

App在后台时是否采集电量指标。

不支持

电量监控整体采样率

电量数据整体的采样率。

10%

不支持

电量异常归因上报采样率

电量异常数据上报的采样率。

50%

不支持

定位单次使用最长时长

定位单次使用多久当作异常上报。单位为秒。

120

不支持

定位10分钟内获取次数

定位10分钟内使用几次当作异常上报。

4

不支持

定位10分钟内查询时长

定位10分钟内使用多久当作异常上报单位为秒。

240

不支持

wake lock单次持有时长

wake lock 单次持有多久当作异常上报。单位为秒。

5

不支持

wake lock10分钟内获取次数

wake lock 10分钟内获取几次当作异常上报。

240

不支持

wake lock10分钟内持有时长

wake lock 10分钟内持有多久当作异常上报。单位为秒。

120

不支持

Alarm(wake_up类型)10分钟内唤醒次数

Alarm(wake_up类型) 10分钟内唤醒几次当作异常上报。

5

不支持

Alarm10分钟内唤醒次数

Alarm 10分钟内唤醒几次当作异常上报。

10

不支持

Flutter监控

配置项目

说明

Android默认值

iOS默认值

Dart异常采样率

Dart异常采样率。

50%

50%

FPS采样率

FPS采样率。

20%

20%

页面加载采样率

页面加载采样率。

20%

20%

FMP采样率

FMP采样率。

20%

20%

Channel采样率

Channel监控采样率。

20%

20%

慢函数采样率

慢函数采样率。如果DAU过大,建议采样上报。

100%

100%

慢消息采样率

慢消息采样率。如果DAU过大,建议采样上报。

100%

100%

网络采样率

网络监控采样率。

5%

5%

CPU监控

配置项目

说明

Android默认值

iOS默认值

CPU指标上报采样率

CPU指标上报采样率。

5%

不支持

应用在前台的cpu数据采样频率

前台时的CPU指标采集周期。单位为秒。

120

不支持

应用在后台的cpu数据采样频率

后台时的CPU指标采集周期。单位为秒。

600

不支持

应用的数据聚合(将采集的数据进行加工)/上报频率

应用聚合数据的上报周期。单位为秒。

120

不支持

CPU异常数据上报采样率

CPU异常数据上报采样率。

5%

不支持

应用在后台的进程CPU使用速率异常阈值

后台时,CPU使用速率高于该值时为异常。

2

不支持

应用在前台的进程CPU使用速率异常阈值

前台时,CPU使用速率高于该值时为异常。

3

不支持

线程CPU使用率异常阈值

线程CPU使用率高于该值时为异常。

0.05

不支持

控制是否收集所有进程的cpu异常

是否收集所有进程的CPU异常,如果选择否,则进行随机采样。

不支持

如果主线程超过异常阈值时收集主进程堆栈采样率

主线程CPU异常时,收集主线程的堆栈信息的采样率。

5%

不支持

CPU异常采样率

CPU异常采样率。

不支持

20%

CPU异常阈值

60s内平均CPU采样率超过该阈值,则认为发生了CPU异常。

不支持

0.8

线程堆栈抓取CPU阈值

当某个线程占用的CPU超过该阈值时,对此线程进行抓栈

不支持

0.05

线程堆栈抓取时是否需要挂起线程

抓取线程堆栈时,是否需要挂起线程,挂起时抓栈更加准确,但性能损耗会增加。

不支持

CPU指标采样率

CPU指标采样率。

不支持

10

CPU指标采集时间间隔

CPU指标采集的周期。单位为秒。

不支持

30

磁盘监控

配置项目

说明

Android默认值

iOS默认值

磁盘指标采样率

磁盘指标的采样率。

10%

10%

磁盘异常采样率

磁盘异常的采样率。

10%

10%

磁盘采集时间间隔

两次磁盘采集之间的时间差值,单位为小时。

不支持

24

磁盘文件占用分析阈值

触发磁盘文件占用分析的阈值。单位为MB。
超过阈值时,才会上报过期文件、异常文件和top占用文件。

不支持

100

异常文件最大上报个数

上报文件数k。无论是过期文件(夹),异常文件(夹),都只上报前k个最大的。

  • 过期文件(夹)排序的依据是过期时间大小
  • 异常文件(夹)排序的依据是文件的大小

20

20

文件过期时间阈值

文件过期时间阈值。单位为天。
超过了这个阈值的文件才会作为过期文件被上报。

20

30

异常文件夹磁盘阈值

异常文件夹阈值大小。单位为MB。
只有超过了这个阈值才会触发异常文件夹的上报。

20

20

异常文件夹数量阈值

异常文件夹子文件数量阈值。
当子文件数量超过了这个阈值会当做异常文件夹上报。

不支持

20

异常磁盘占用阈值

异常磁盘数据上报阈值。
只有App数据总大小超过这个阈值,才会采集文件详细数据。单位为MB。

100

不支持

流量监控

配置项目

说明

Android默认值

iOS默认值

流量指标监控采样率

流量指标监控采样率。

5%

不支持

流量异常监控采样率

流量异常监控采样率。

5%

不支持

后台10分钟流量异常阈值

后台10分钟流量异常阈值。单位MB。

50

不支持

10分钟异常流量阈值

10分钟异常流量阈值。单位MB。

500

不支持

流量异常的URL大小最小值

流量异常的URL大小的最小值。单位KB。

0

不支持

自定义文件

配置项目

说明

Android默认值

iOS默认值

主动上报自定义日志采样率

控制主动上报Vlog/Alog日志的采样情况,防止后端文件堆积。

100%

100%

APMPlus日志采样率

自定义APMPlus日志的采样率,APMPlus日志包括APMPlus SDK内置打点的异常、性能、网络、事件等日志数据。

100%

100%

用户指标

配置项目

说明

Android默认值

iOS默认值

用户使用时长采样率

用户使用时长采样率。

2%

不支持

后台时长采样率

后台时长采样率。

1%

不支持

应用退出原因

配置项目

说明

Android默认值

iOS默认值

应用退出采样率

应用退出采样率。

1%

不支持

通用设置

配置项目

说明

Android默认值

iOS默认值

配置过期时间

采样配置在端上的过期时间。平台更新SDK采样配置后,端上在上次配置过期后,才会重新拉取配置。单位为秒。

3600

3600

数据上报间隔

端上SDK会根据上报间隔周期轮询上报数据,影响性能指标、事件、网络等模块。单位为秒。

60

60

创建白名单

如果您需要重点关注某个设备或者某个用户的上报数据,可以通过创建白名单。创建白名单后,该设备或用户的所有功能模块的数据全采样全上报。

  1. 登录应用性能监控全链路版控制台

  2. 单击目标应用下的App端监控

  3. 在控制台左上角选择全部功能 > SDK上报配置

  4. 在筛选区域选择系统。

  5. 设备白名单配置页签下,单击创建白名单
    图片

  6. 创建白名单页面,完成以下配置,然后单击确定
    图片
    配置项说明:

    配置项

    说明

    DeviceID

    输入DeviceID。

    说明

    • 配置DeviceID后,当前DeviceID的所有功能模块的数据全采样全上报。
    • 同时配置DeviceID和UserID,只要满足其中一个,所有功能模块的数据全采样全上报。

    UserID

    输入UserID。

    说明

    • 配置UserID后,当前UserID的所有功能模块的数据全采样全上报。
    • 同时配置DeviceID和UserID,只要满足其中一个,所有功能模块的数据全采样全上报。

    到期时间

    配置过期时间。支持永不过期选定日期

    说明

    如果同一个DeviceID或UserID出现在多条配置中,以最长期限为准。