更新时间:2023.05.17 16:30:46
SDK上报的数据支持在平台配置采样和阈值。本文介绍各模块的配置项目和含义说明。
界面说明:
崩溃数据比较重要,默认全采样,不支持配置采样率,只支持配置打开或者关闭。
配置项目 | 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记录内存块的采样率。 |
coredump采样率 | 0% | coredump采样率 | 0% | coredump采样率 |
自定义文件采样率 | 0% | 自定义文件采样率 | null | -- |
是否忽略应用退出时发生的崩溃 | null | -- | 否 | 是否忽略应用退出时发生的崩溃。如果配置为是,须同步配置应用名称。 |
配置项目 | 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 | -- |
配置项目 | 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% | 网络监控采样率 |
配置项目 | 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。 |
异常文件最大上报个数 | 20 | 上报文件数k。无论是过期文件(夹),异常文件(夹),都只上报前k个最大的。
| 20 | 上报文件数k。无论是过期文件(夹),异常文件(夹),都只上报前k个最大的。
|
文件过期阈值 | 20 | 文件过期时间阈值。单位为天。 | 30 | 文件过期时间阈值。单位为天。 |
异常文件夹磁盘阈值 | 20 | 异常文件夹阈值大小。单位为MB。 | 20 | 异常文件夹阈值大小。 |
异常文件夹数量阈值 | null | -- | 20 | 异常文件夹子文件数量阈值。 |
异常磁盘占用阈值 | 100 | 异常磁盘数据上报阈值。 | 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会根据上报间隔周期隔轮询上报数据,影响性能指标、事件、网络等模块。单位为秒。 |