You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
合作与生态
支持与服务
开发者
了解我们
导航

SDK上报配置

更新时间:2023.05.17 16:30:46

SDK上报的数据支持在平台配置采样和阈值。本文介绍各模块的配置项目和含义说明。

采样配置说明

  • 性能相关数据支持配置采样,命中采样的用户数据才会上报,没有命中不会上报。业务配置采样的百分比一般根据DAU计算采样比例,性能数据一般保证有几十万的用户可以命中采样上报即可。
  • 客户端会定时(几小时)拉取配置并缓存到本地,如果当前DID采样命中,会采集相关模块数据上报。

上报配置说明

图片
界面说明:

  • 各模块采样率配置:配置不同功能模块的采样和相关采集数据阈值。
    • 总开关:相关模块的总开关,打开会根据采样配置上报数据,关闭则整个模块不会上报数据。
    • 创建配置:可以创建当前模块下一个新的配置。
    • 配置项目:切换不同的配置项。
  • 设置白名单配置
    图片
    • 如果同一个DeviceID出现在多条配置中,以最长期限为准。
    • 配置DeviceID后,当前DeviceID设备的所有功能模块采样,都会命中上报。
    • 配置UserID后,当前UserID的所有功能模块,都会命中上报。
    • 同时配置DeviceID和UserID,只要满足DeviceID或UserID,所有功能模块采样都会命中上报。
  • 保存修改:修改配置后,单击保存修改配置才会生效。

崩溃分析

崩溃数据比较重要,默认全采样,不支持配置采样率,只支持配置打开或者关闭。

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

是否上传自定义日志

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

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

采集前N秒内自定义日志

30

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

30

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

是否上报extension崩溃日志

null

--

是否上报extension崩溃日志

zombie对象采样率

null

--

0%

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

zombie对象分析白名单

null

--

[]

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

zombie对象采集白名单

null

--

[]

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

dealloc堆栈最大数量

null

--

100

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

是否开启寄存器分析

null

--

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

是否开启异步调用栈分析

null

--

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

是否开启栈内存分析

null

--

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

栈内存分析最大数量

null

--

256

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

GWPASan采样率

null

--

0%

GWPASan采样率

GWPASan最大同时分配的个数

null

--

1024

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

GWPASan内存分配采样率

null

--

1/20

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

coredump采样率

0%

coredump采样率

0%

coredump采样率

自定义文件采样率

0%

自定义文件采样率

null

--

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

null

--

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

MetricKit

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

MetricKit采样率

null

--

100%

MetricKit采样率,控制是否开启系统MetricKit日志上报。

崩溃防护

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

崩溃防护采样率

null

--

100%

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

崩溃防护子模块开关

null

--

63

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

数组创建防护逻辑规则

null

--

严格模式

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

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

错误分析

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

自定义错误采样率

100%

自定义错误上报的采样率

10%

自定义错误上报的采样率

Native自定义异常采样率

0%

Native自定义异常采样率

null

--

GWPASan采样率

0%

GWPASan采样率

null

--

卡顿分析

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

卡顿采样率

20%

卡顿数据上报的采样率

10%

卡顿数据上报的采样率

卡顿阈值

2.5

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

2.5

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

严重卡顿阈值

4

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

null

--

用户体验

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

启动采样率

100%

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

10%

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

页面采样率

100%

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

10%

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

APP更新是否计入首次启动

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

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

prewarm判定阈值

null

--

1500

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

页面分析

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

web_view采样率

20%

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

20%

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

内存优化

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

OOM分析采样率

100%

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

10%

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

内存指标采样率

20%

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

10%

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

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

100%

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

null

--

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

null

--

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

内存采集启动阈值

null

--

1024

内存大于"启动阈值",才会上报内存异常时的日志文件。单位为MB。

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

null

--

200

采集MemoryGraph时,允许APM SDK占用的最大内存,超出后仅采集节点信息不采集引用信息,仅可查看聚类列表,没有引用树、支配树的信息。单位为MB。

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

null

--

250

MemoryGraph单个文件允许占用的最大磁盘空间,超出后仅采集节点信息不采集引用信息,仅可查看聚类列表,没有引用树、支配树的信息。单位为MB。

单用户单日触发次数上限

null

--

10

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

单设备两次采集的间隔

null

--

20

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

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

null

--

200

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

网络分析

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

网络采样率

5%

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

5%

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

断网时是否上报

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

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

网络错误是否全量上报

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

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

电量分析

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

电量整体采样率

10%

电量数据整体的采样率

null

--

电量异常归因上报采样率

50%

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

null

--

数据采集间隔

5

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

null

--

后台是否采集

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

null

--

定位单次使用最长时长

120

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

null

--

定位10分钟内获取次数

4

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

null

--

定位10分钟内查询时长

240

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

null

--

wake lock单次持有时长

5

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

null

--

wake lock10分钟内获取次数

240

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

null

--

wake lock10分钟内持有时长

120

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

null

--

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

5

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

null

--

Alarm10分钟内唤醒次数

10

Alarm10分钟内唤醒几次当作异常上报

null

--

Flutter监控

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

Dart异常采样率

50%

Dart异常采样率

50%

Dart异常采样率

FPS采样率

20%

FPS采样率

20%

FPS采样率

页面加载采样率

20%

FPS采样率

20%

页面加载采样率

FMP采样率

20%

FMP采样率

20%

FMP采样率

channel采样率

20%

channel监控采样率

20%

channel监控采样率

慢函数采样率

100%

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

100%

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

慢消息采样率

100%

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

100%

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

网络采样率

5%

网络监控采样率

5%

网络监控采样率

CPU监控

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

CPU指标上报采样率

5%

CPU指标上报采样率。

null

--

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

120

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

null

--

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

600

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

null

--

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

120

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

null

--

CPU异常数据上报采样率

5%

CPU异常数据上报采样率

null

--

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

2

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

null

--

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

3

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

null

--

线程CPU使用率异常阈值

0.05

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

null

--

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

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

null

--

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

5%

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

null

--

CPU异常采样率

null

--

20%

CPU异常采样率

CPU异常阈值

null

--

0.8

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

线程堆栈抓取CPU阈值

null

--

0.05

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

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

null

--

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

CPU指标采样率

null

--

10

CPU指标采样率

CPU指标采集时间间隔

null

--

30

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

磁盘监控

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

磁盘指标采样率

10%

磁盘指标的采样率

10%

磁盘指标的采样率

磁盘异常采样率

10%

磁盘异常的采样率

10%

磁盘异常的采样率

磁盘采集时间间隔

null

--

24

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

磁盘文件占用分析阈值

null

--

100

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

异常文件最大上报个数

20

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

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

20

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

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

文件过期阈值

20

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

30

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

异常文件夹磁盘阈值

20

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

20

异常文件夹阈值大小。
当超过了这个阈值会当做异常文件夹上报。

异常文件夹数量阈值

null

--

20

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

异常磁盘占用阈值

100

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

null

--

流量监控

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

流量指标监控采样率

5%

流量指标监控采样率。

null

--

流量异常监控采样率

5%

流量异常监控采样率。

null

--

后台10分钟流量异常阈值

50

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

null

--

10分钟异常流量阈值

500

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

null

--

流量异常的URL大小最小值

0

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

null

--

自定义文件

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

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

100%

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

100%

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

通用设置

配置项目

Android默认值

Android含义

iOS默认值

iOS含义

配置过期时间

3600

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

3600

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

数据上报间隔

60

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

60

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