Skip to main content

SDK 功能配置项说明

配置组成

Bugly SDK 配置按照功能模块组织,每一个功能模块对应一个配置项,每个配置项是一个字典结构,以 K-V 的方式表示每一个配置字段。

为方便配置扩展,每个配置项包含以下固有字段:

  • name: 配置项名称,其值为 string,不可或缺,后台和 SDK 均会根据此字段对应对应的配置项进行解析和应用;
  • sample_ratio: 功能采样率,其值为 float,不可或缺,后台会按照采样率进行计算,将是否命中采样的结果返回给 SDK,以决定是否开启对应的功能;
  • daily_report_limit: 每日最大上报量,其值为 int,可或缺,SDK 根据此值限制对应配置项下的数据上报最大值,避免因某些错误导致 SDK 大量上报数据;

每个配置项会包含其特有配置字段,下面就详细字段进进行介绍和解释。

配置项目及其字段

重要提醒

下列配置项中,并非所有的配置都是业务可直接修改,部分选项需要 Bugly 同行通过系统配置调整,可以联系 Bugly 小助手提供支持。

不推荐业务修改指标的配置,后续也会统一收归平台统一管理。业务可以查看自己的产品的指标配置,如果要修改,应该直接咨询Bugly小助手,由小助手创建工单,分配专人来修改。

监控名称配置名称
卡顿指标监控looper.fluency
卡顿监控looper.hitches
子线程卡顿监控looper.other.hitches
ANR监控looper.deadlock
启动抓栈looper.launch
内存指标监控memory.metric
FOOM监控memory.foom
VC内存泄漏监控memory.vc_leak
大块内存分配监控memory.big_chuck
内存图监控memory.vmgraph
启动监控launch.launch
冷启动监控launch.cold_launch
后台进前台监控launch.resume
Crash zombie监控crash.zombie
Crash 自定义文件上传crash.customfile
Crash 获取C++异常调用栈crash.cppCallStack
MetricKit监控metric_kit
VC操作路径common.app_event
流量指标traffic
流量异常分析traffic_detail
Crash minidump信息crash.minidump
Crash公共附件上传能力crash.common_file
页面打开耗时launch.page_launch

looper.fluency

FPS&挂起率功能开关

字段类型说明默认值示例支持版本
suspend_threshold_msint挂起率阈值200200-
scroll_fluency_enablebool滑动 fps 上报falsetrue-
scroll_fluency_beacon_report_samplefloat滑动 fps 灯塔上报抽样,0-1之间,精度 0.000100.1-
fluency_beacon_report_samplefloatfps&挂起率灯塔上报抽样,0-1之间,精度 0.000100.1-

looper.hitches

卡顿问题监控配置项

字段类型说明默认值示例支持版本
stuck_threshold_msint卡顿阈值,大于0200200-
optimization_backtrace_ratiofloat抓栈开关比例,取值范围 [0, 1],精度万分之一,仅开启卡顿抓栈时生效。00.5(2.7.45, 2.7.47]
skip_first_framebool是否开启首帧抓栈优化,开启后会跳过前两帧,从第三帧开始抓栈。bool 值,0或者100(2.7.45, 2.7.47]

looper.other.hitches

子线程卡顿问题监控配置项

字段类型说明默认值示例支持版本
threadsarray子线程配置组如下json示例-(2.7.29, -)

threads中每个子配置的字段含义

字段类型说明默认值示例支持版本
stuck_threshold_msint卡顿阈值,大于0200200(2.7.29, -)
sample_ratiofloat开启抽样率,0-111(2.7.29, -)
enabledbool是否开启子线程truetrue(2.7.29, -)
thread_namestring线程名-(2.7.29, -)

looper.deadlock

ANR 判断阈值,发生超过该阈值且没有恢复的卡顿问题时会被认为 ANR。

字段类型说明默认值示例支持版本
deadlock_threshold_msint卡死阈值,大于050005000-
backtrace_modeint卡顿抓栈模式,0: CThreadStack、1: 初步优化的抓栈逻辑、2: 二次优化的抓栈逻辑。01(2.7.47, -)
backtrace_mode_ratiofloat抓栈开关比例,取值范围 [0, 1],精度万分之一,仅开启卡顿抓栈且配置了 backtrace_mode 时生效。本地采样。00.4(2.7.47, -)
skip_first_framebool是否开启首帧抓栈优化,开启后会跳过前两帧,从第三帧开始抓栈。bool 值,0或者101(2.7.47, -)
backtrace_frequencyint抓栈频率,每x帧抓取一次堆栈。高端机 1,低端机 3。33(2.7.49, -)

looper.launch

慢启动抓栈,配置开启时,当启动耗时超过 launch_backtrace_threshold_ms 会开启抓栈,耗时超过 launch_deadlock_threshold_ms 时认为启动异常,上报数据到卡顿模块。可以通过自定义字段 "BuglyAppState" 为 "coldLaunch" 进行筛选。

字段类型说明默认值示例支持版本
sample_ratiobool启动异常监控抽样率00.4(2.7.49, -)
launch_deadlock_threshold_msint慢启动阈值,大于050005000(2.7.49, -)
launch_backtrace_threshold_msint开始抓栈的阈值,大于030003000(2.7.49, -)

memory.metric

内存指标上报

字段类型说明默认值示例支持版本
vmmapboolvmmap 信息采集开关truefalse[2.7.5~2.7.21], 2.7.21 以后废弃,改为频率控制
vmmap_update_intervalintvmmap 信息采集间隔,单位为秒,0表示关闭33(2.7.21 - )
strict_foom_judgmentboolfoom 判定严格模式开关truetrue[2.7.49-beta.4 -)
app_life_cycle_swizzlebool是否 hook app delegate 开关truetrue(2.7.50-beta -)
vmmap_with_malloc_zoneboolvmmap 信息采集是否采集 malloc zone 信息falsefalse(2.7.51 - )
memory_check_intervalint内存信息更新频率间隔10001000(2.7.53 - )

memory.foom

内存指标上报

字段类型说明默认值示例支持版本
malloc_stack_enable_sample_ratiofloatfoom 采样比例,0-1,SDK 随机采样,精度 0.000100.1-
backtrace_recording_enablebool开启异步调用堆栈记录,开启有一定性能损失,默认关闭falsefalse(2.7.45 - )
malloc_stack_storage_thresholdint本地内存堆栈记录存入缓存的最小阈值,单个堆栈分配累积分配到达次值,会记录524288524288-
malloc_size_record_thresholdsarray本地内存堆栈记录的size阈值区间数组,用户命中其中一组size区间,内存你分配在此区间时才抓栈记录如下json示例-[2.7.17 -)

malloc_size_record_thresholds中每个子配置的字段含义

字段类型说明默认值示例支持版本
minlong单次内存分配需要记录的最小值,阈值区间的下限,包含min本身81928192[2.7.17 -)
maxlong单次内存分配需要记录的最大值,阈值区间的上限,不包含max本身LONG_MAX112589[2.7.17 -)
stack_cache_max_countlong堆栈记录的最大数量300000300000[2.7.17 -)

memory.vc_leak

VC 内存泄漏相关配置。

字段类型说明默认值示例支持版本
filter_listarray白名单列表,列表中vc不受监控[]["BuglyViewController"](2.7.51, -)

memory.big_chuck

大内存分配个例上报

字段类型说明默认值示例支持版本
chuck_thresholdint判定为大内存分配的阈值ULONG_MAX10485760-

memory.vmgraph

内存图监控

字段类型说明默认值示例支持版本
dump_thresholdint内存图dump阈值,当物理内存使用量到达次值时,触发内存图dump操作ULONG_MAX4294967296-
dump_threshold_ratefloat内存图dump阈值比,当设置此值时,会使用设备物理内存值与此值的乘积作为内存图触发dump的阈值00.4(2.7.39.2, )
dump_typestring内存图dump类型,可选值有DumpFull, DumpLight, DumpTiny,非以上值均认为DumpNoneDumpFullDumpTiny(2.7.39.2, )

DumpFull: 包含引用关系的内存图数据,Dump消耗较大 DumpLigth: 不包含引用关系,仅有类型信息,Dump消耗较小 DumpTiny: 仅包含大小信息,Dump消耗很小

crash.crash

bugly crash 功能开关,无特殊字段,不配置时默认开启。

字段类型说明默认值示例支持版本
--开关默认值1-(2.7.49, -)
use_jce_reportbool是否使用 json 上报00(2.7.50, -)
disable_unhandled_crashbool是否支持上报自定义crash堆栈10(2.7.51, -)

crash.user_exception

bugly 自定义错误上报开关,不配置时默认开启。

字段类型说明默认值示例支持版本
--开关默认值1-(2.7.49, -)
use_jce_reportbool是否使用 json 上报00(2.7.50, -)

crash.zombie

bugly zombie 检测能力开关,SDK 2.7.3 之后版本会 Crash。

字段类型说明默认值示例支持版本
--开关默认值0-(2.7.1, -)

crash.customfile

bugly crash 自定义文件上传,默认关闭。

字段类型说明默认值示例支持版本
--开关默认值0-(2.7.39, -)

crash.protoBufSerial

bugly crash pb 序列化开关,默认关闭。

字段类型说明默认值示例支持版本
--开关默认值0-(2.7.43, -)

crash.coredump

crash coredump 附件信息,开启后会在crash时采集coredump信息并在二次启动上报,默认关闭。

字段类型说明默认值示例支持版本
--开关默认值0-(2.7.51, -)
low_device_enablebool低端机是否开启(iphone XR及以下机型为低端机)01(2.7.51, -)

crash.minidump

crash minidump 附件信息,开启后会在crash时采集minidump信息并在二次启动上报,默认关闭。

字段类型说明默认值示例支持版本
--开关默认值0-(2.7.55, -)
minidump_file_sizeintminidump mmap文件的大小256 * 1024256 * 1024(2.7.55, -)

crash.common_file

crash common_file 公共附件上传能力,客户端可以为每个事件上传不同文件名的附件,默认打开。

字段类型说明默认值示例支持版本
--开关默认值0-(2.7.55, -)

launch.launch

启动指标相关配置,控制后台进前台指标是否上报,默认关闭,冷启动不受控制

字段类型说明默认值示例支持版本
enabledbool后台返回的开关,不用配置00(-, 2.7.49)
application_resume_beacon_report_samplefloat后台进前台耗时灯塔上报抽样配置00.1(-, 2.7.49)
cold_launch_beacon_report_samplefloat冷启动灯塔上报抽样开关00.1(-, 2.7.49)

launch.cold_launch

冷启动指标相关配置,无配置默认开启

字段类型说明默认值示例支持版本
enabledbool后台返回的开关,不用配置10(2.7.49, -)
cold_launch_beacon_report_samplefloat冷启动灯塔上报抽样开关00.1(2.7.49, -)

launch.resume

后台进前台指标相关配置,无配置默认开启

字段类型说明默认值示例支持版本
enabledbool后台返回的开关,不用配置10(2.7.49, -)
application_resume_beacon_report_samplefloat后台进前台耗时灯塔上报抽样配置00.1(2.7.49, -)

示例

metric_kit

metric_kit 功能开关

字段类型说明默认值示例支持版本
available_report_typesarray配置允许上报 metrickit 上报的类型,默认为空,空或未配置则不进行任何过滤null-(2.7.55-beta.6, -)

common.dau

bugly DAU上报开关,默认开启。

字段类型说明默认值示例支持版本
--开关默认值1-(2.7.49, -)

推荐配置

{
"name": "common.dau",
"sample_ratio": 1,
"daily_report_limit": 10000
}

common.app_event

vc 操作路径上报开关,sdk 2.7.3(不包含)之后添加

字段类型说明默认值示例支持版本
max_operation_seq_countuint最大记录的条数,最大502050(2.7.3, -]

traffic

进程流量指标,开启后监控 App 每次生命周期内的流量使用情况

traffic_detail

流量异常监控,开启后,App 流量监控将变为更细粒度,每 10min 汇总上报一次,超过对应阈值,将上报对应网络请求详情

字段类型说明默认值示例支持版本
total_limit_in_megabyteuint总流量异常阈值,单位 MB500500(2.7.51, -]
mobile_limit_in_megabyteuint蜂窝网络异常阈值,单位 MB200200(2.7.51, -]
background_limit_in_megabyteuint后台网络异常阈值,单位 MB5050(2.7.51, -]

crash.cppCallStack

Crash 开启 Cpp 异常堆栈回溯支持,[2.7.55-beta -)

launch.page_launch

页面打开耗时,开启后会上报 App 各个 UIViewController 打开的耗时,默认关闭。(2.8.0-beta, -]