











BuglyBuilder#appVersionType 初始化参数设置应用版本类型。BuglyConfig#setBuildConfig 接口设置应用版本类型。
BuglyBuilder#appVersion 初始化参数设置 APP 版本。BuglyConfig#setAppVersion 接口设置应用版本。

Build.VERSION.RELEASE 字段,格式如"12","13","9","8.0.0"之类。[[UIDevice currentDevice] systemVersion]字段,格式如"14.1","16.1"之类。
BuglyBuilder#deviceModel 初始化参数设置机型,如果应用没有设置,初始化时会自动读取 Build.MODEL。

BuglyBuilder#userId 初始化参数设置用户 ID,如果应用没有设置,则用户 ID 为空。BuglyInitParam#setUserId 接口设置用户 ID。如果应用没有设置,则用户 ID 为空。
BuglyBuilder#uniqueId 初始化参数设置设备 ID。如果应用没有设置,SDK 会优先从 SP 缓存中读取。如果缓存为空,则随机生成一个并且更新到缓存中。一旦用户设置设备 ID,SDK 会用应用设置的设备 ID 覆盖 SP 缓存。BuglyInitParam#setDeviceId 接口设置设备 ID。如果应用没有设置,则设备 ID 为空。该字段用来统计设备崩溃率、设备 FOOM 率等设备异常率,请务必设置。


监控项 | 配置项 | 配置参数 | 取值说明 |
崩溃监控 | "crash" | "cus_file_sample_ratio" | 自定义文件的上报采样率,取值[0,1]。 1表示全部上报 0表示不上报 其他表示抽样上报,默认全部上报 |
错误上报 | "error_report" | "sample_ratio" | 错误的上报采样率,取值[0,1]。 1表示全部上报 0表示不上报 其他表示用户抽样上报,默认全部上报 |
监控项 | 配置项 | 配置参数 | 取值说明 |
启动指标 | "launch_metric" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
监控项 | 配置项 | 配置参数 | 取值说明 |
卡顿指标 | "looper_metric" | "sample_ratio" | 设备采样率,取值[0,1] 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
卡顿监控 | "looper_stack" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "event_sample_ratio" | 消息采样率,取值[0,1]。 1表示监控所有的 UI 线程消息 0表示不监控任何 UI 线程消息 其他表示指定概率,抽样监控 UI 线程的消息 |
| | "stack_interval_ms" | 卡顿抓栈间隔,单位是ms |
| | "threshold" | 判定卡顿的阈值,单位是ms |
| | "detect_strategy" | 卡顿监控粒度,当前支持 msg 和 vsync,默认值为 msg |
监控项 | 配置项 | 配置参数 | 取值说明 |
内存峰值 | "memory_quantile" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
Java 内存泄露监控 | "activity_leak" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 Activity 的泄露监控 |
| | "event_sample_ratio" | 事件采样率,取值[0,1]。 1表示 Activity 在 onDestroy 时,或者调用 startInspectLeakObj 时,全量开启 Java 对象泄露检查; 0表示不开启 Java 对象泄露检查; 其他表示按指定的概率抽样开启Java对象泄露检查。 举例说明,取值0.5表示 Activity 在 onDestroy 时,或者调用 startInspectLeakObj 时,有50%的概率会开启 Java 对象泄露检查 |
Java 内存触顶监控 | "java_memory_ceiling_hprof" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 Java 内存触顶监控 |
| | "threshold" | 内存触顶阈值百分比,取值[0,100],表示达到 Java 最大可用内存的阈值百分比时,判定为内存触顶事件 |
| | "event_sample_ratio" | 事件采样率,取值[0,1],用于控制当发生 Java 内存触顶时,事件上报的概率 |
大图分析 | "big_bitmap" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "threshold" | 图片超标阈值,取值(100, Int 最大值),图片超标率 = Decode 图片的长 x Decode 图片的宽 / 显示区域的长 x 显示区域的宽 x 100。 大图检测就是检查 Decode 图片大小超过其显示区域大小的情况。例如取值150表示当图片超标率 > 150时,认为属于异常情况,需要上报 |
Native 内存触顶监控 | "native_memory" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "event_sample_ratio" | 事件采样率,取值[0,1],用于控制当发生内存触顶时(VSS 或者 PSS 触顶),dump 内存进行数据上报的采样率 |
FD 触顶监控 | "fd_leak" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "event_sample_ratio" | 事件采样率,取值[0,1],用于控制当发生 FD 触顶时,事件上报的概率 |
| | "threshold" | 判定 FD 触顶的阈值,代表达到触顶的 FD 数量 |
监控项 | 配置项 | 配置参数 | 取值说明 |
进程退出分析 | "application_exit" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "event_sample_ratio" | 附件采样率,取值[0,1],表示当存在 tombs 附件或 trace 附件时,按指定概率抽样上报 |
监控项 | 配置项 | 配置参数 | 取值说明 |
流量异常分析 | "traffic_detail" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "total_limit_in_megabyte" | 10分钟消耗的流量超过配置的流量异常阈值,单位是MB |
| | "mobile_limit_in_megabyte" | 10分钟消耗的移动流量超过配置的移动异常流量阈值,单位是MB |
| | "backend_limit_in_megabyte" | 后台场景,10分钟消耗的流量超过配置的后台异常流量阈值,单位是MB |
| | "custom_limit_in_megabyte" | 业务定义的自定义场景,10分钟消耗的流量超过配置的阈值,单位是MB |
| | "filter_local_address" | 异常流量监控是否过滤本地地址,取布尔值 |
| | "metric_event_sample_ratio" | 10分钟流量指标事件采样率,取值[0,1] |
| | "error_event_sample_ratio" | 10分钟流量异常事件采样率,取值[0,1] |
流量指标 | "traffic" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
监控项 | 配置项 | 配置参数 | 取值说明 |
前台电量指标 | "battery_metric" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "daily_report_limit" | 监控项每天最大上报次数 |
电量耗电因素指标 | "battery_ele_metric" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "daily_report_limit" | 监控项每天最大上报次数 |
电量耗电因素异常个例 | "battery_element" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "daily_report_limit" | 监控项每天最大上报次数 |
| | "single_location_duration_in_ms" | 单次使用 GPS 最大时长,单位ms |
| | "total_location_duration_in_ms" | 10分钟内总的更新 GPS 时长,单位ms |
| | "max_location_open_num" | 10分钟内打开 GPS 的最大次数 |
| | "single_wakelock_duration_in_ms" | 单次使用 WakeLock 的最大时长,单位ms |
| | "total_wakelock_duration_in_ms" | 10分钟内总的使用 WakeLock 最大时长,单位ms |
| | "max_wakelock_open_num" | 10分钟内打开 WakeLock 的最大次数 |
| | "max_alarm_open_num" | 10分钟内打开 alarm 的最大次数 |
| | "max_wakeup_alarm_open_num" | 10分钟内打开 wakeup 类型的 alarm 的最大次数 |
监控项 | 配置项 | 配置参数 | 取值说明 |
网络质量监控 | "net_quality" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "daily_report_limit" | 监控项每天最大上报次数 |
| | "max_batch_count" | 一条上报最多包含请求明细条目 |
| | "min_batch_count" | 一条上报最少包含请求明细条目 |
监控项 | 配置项 | 配置参数 | 取值说明 |
ASan 内存错误检测 | "asan" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "slot_size" | 可分配内存 Slot Page 大小,单位KB,越大所需内存开销越大,建议使用默认值 |
| | "slot_count" | 可分配内存 Slot Page 数量,数量越多会有更多的内存用于内存错误检测,内存开销越大,建议使用默认值 |
| | "max_sample_gap_count" | 循环采样随机数的最大值,值越大内存分配时采样命中的概率越低 |
| | "left_side_align_percentage" | 在 ASan Memory Pool 中内存分配时左对齐的概率,取值[0,100],值越小越易于检测 Overflow 问题,反之越容易检测 Underflow 问题 |
| | "right_side_perfect_align" | 在 ASan Memory Pool 中内存分配右对齐时是否不按页对齐,若不按页对齐更容易检测出 Overflow 问题,但也可能带来未知的 crash 风险 |
| | "ignore_overlapped_reading" | 是否忽略重读类型的 ASan 错误 |
| | "target_so_patterns" | 需要检测的 SO 文件,若为空默认检测全部 SO,支持正则表达式设置。当内存问题能定位具体 SO 时,建议设置该值,可以减少稳定性问题 |
| | "ignore_so_patterns" | 需要忽略的 SO 文件,若不为空默认不忽略任何 SO,支持正则表达式设置 |
监控项 | 配置项 | 配置参数 | 取值说明 |
页面打开耗时 | "page_launch" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
suspend_threshold_ms | int | 挂起率阈值 | 200 | 200 | - |
scroll_fluency_enable | bool | 滑动 fps 上报 | false | true | - |
scroll_fluency_beacon_report_sample | float | 滑动 fps 灯塔上报抽样,0-1之间,精度 0.0001 | 0 | 0.1 | - |
fluency_beacon_report_sample | float | fps&挂起率灯塔上报抽样,0-1之间,精度 0.0001 | 0 | 0.1 | - |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
stuck_threshold_ms | int | 卡顿阈值,大于0 | 200 | 200 | - |
optimization_backtrace_ratio | float | 抓栈开关比例,取值范围 [0, 1],精度万分之一,仅开启卡顿抓栈时生效。 | 0 | 0.5 | (2.7.45, 2.7.47] |
skip_first_frame | bool | 是否开启首帧抓栈优化,开启后会跳过前两帧,从第三帧开始抓栈。取值:0或者1 | 0 | 0 | (2.7.45, 2.7.47] |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
threads | array | 子线程配置组 | 见下方字段含义说明 | - | 2.7.29及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
stuck_threshold_ms | int | 卡顿阈值,大于0 | 200 | 200 | 2.7.29及以上版本 |
sample_ratio | float | 开启抽样率,取值0 - 1 | 1 | 1 | 2.7.29及以上版本 |
enabled | bool | 是否开启子线程 | true | true | 2.7.29及以上版本 |
thread_name | string | 线程名 | - | - | 2.7.29及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
deadlock_threshold_ms | int | 卡死阈值,大于0 | 5000 | 5000 | - |
backtrace_mode | int | 卡顿抓栈模式: 0:CThreadStack 1:初步优化的抓栈逻辑 2:二次优化的抓栈逻辑 | 0 | 1 | 2.7.47及以上版本 |
backtrace_mode_ratio | float | 抓栈开关比例,取值范围 [0, 1],精度万分之一,仅开启卡顿抓栈且配置了 backtrace_mode 时生效。本地采样 | 0 | 0.4 | 2.7.47及以上版本 |
skip_first_frame | bool | 是否开启首帧抓栈优化,开启后会跳过前两帧,从第三帧开始抓栈。bool 值,0或者1 | 0 | 1 | 2.7.47及以上版本 |
backtrace_frequency | int | 抓栈频率,每x帧抓取一次堆栈。高端机 1,低端机 3。 | 3 | 3 | 2.7.49及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
sample_ratio | float | 启动异常监控抽样率 | 0 | 0.4 | 2.7.49及以上版本 |
launch_deadlock_threshold_ms | int | 慢启动阈值,大于0 | 5000 | 5000 | 2.7.49及以上版本 |
launch_backtrace_threshold_ms | int | 开始抓栈的阈值,大于0 | 3000 | 3000 | 2.7.49及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
vmmap | bool | vmmap 信息采集开关 | true | false | [2.7.5 - 2.7.21],2.7.21 以后废弃,改为频率控制 |
vmmap_update_interval | int | vmmap 信息采集间隔,单位为秒,0表示关闭 | 3 | 3 | 2.7.21及以上版本 |
strict_foom_judgment | bool | foom 判定严格模式开关 | true | true | 2.7.49-beta.4及以上版本 |
app_life_cycle_swizzle | bool | 是否 hook app delegate 开关 | true | true | 2.7.50-beta 及以上版本 |
vmmap_with_malloc_zone | bool | vmmap 信息采集是否采集 malloc zone 信息 | false | false | 2.7.51及以上版本 |
memory_check_interval | int | 内存信息更新频率间隔 | 1000 | 1000 | 2.7.53及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
malloc_stack_enable_sample_ratio | float | foom 采样比例,0-1,SDK 随机采样,精度 0.0001 | 0 | 0.1 | - |
backtrace_recording_enable | bool | 开启异步调用堆栈记录,开启有一定性能损失,默认关闭 | false | false | 2.7.45及以上版本 |
malloc_stack_storage_threshold | int | 本地内存堆栈记录存入缓存的最小阈值,单个堆栈分配累积分配到达次值,会记录 | 524288 | 524288 | - |
malloc_size_record_thresholds | array | 本地内存堆栈记录的 size 阈值区间数组,用户命中其中一组 size 区间,内存分配在此区间时才抓栈记录 | 见下方字段含义说明 | - | 2.7.17及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
min | long | 单次内存分配需要记录的最小值,阈值区间的下限,包含min本身 | 8192 | 8192 | 2.7.17及以上版本 |
max | long | 单次内存分配需要记录的最大值,阈值区间的上限,不包含max本身 | LONG_MAX | 112589 | 2.7.17及以上版本 |
stack_cache_max_count | long | 堆栈记录的最大数量 | 300000 | 300000 | 2.7.17及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
filter_list | array | 白名单列表,列表中 vc 不受监控 | [] | ["BuglyViewController"] | 2.7.51及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
chuck_threshold | int | 判定为大内存分配的阈值 | ULONG_MAX | 10485760 | - |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
dump_threshold | int | 内存图 dump阈值,当物理内存使用量到达次值时,触发内存图 dump 操作 | ULONG_MAX | 4294967296 | - |
dump_threshold_rate | float | 内存图 dump 阈值比,当设置此值时,会使用设备物理内存值与此值的乘积作为内存图触发 dump的阈值 | 0 | 0.4 | 2.7.39.2及以上版本 |
dump_type | string | 内存图 dump 类型,可选值有 DumpFull、DumpLight、DumpTiny,非以上值均认为 DumpNone | DumpFull | DumpTiny | 2.7.39.2及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
use_jce_report | bool | 是否使用 json 上报 | 0 | 0 | 2.7.50及以上版本 |
disable_unhandled_crash | bool | 是否支持上报自定义 crash 堆栈 | 1 | 0 | 2.7.51及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
use_jce_report | bool | 是否使用 json 上报 | 0 | 0 | 2.7.50及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
minidump_file_size | int | minidump mmap 文件的大小 | 256 * 1024 | 256 * 1024 | 2.7.55及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
enabled | bool | 后台返回的开关,不用配置 | 0 | 0 | (-, 2.7.49) |
application_resume_beacon_report_sample | float | 后台进前台耗时灯塔上报抽样配置 | 0 | 0.1 | (-, 2.7.49) |
cold_launch_beacon_report_sample | float | 冷启动灯塔上报抽样开关 | 0 | 0.1 | (-, 2.7.49) |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
enabled | bool | 后台返回的开关,不用配置 | 1 | 0 | 2.7.49及以上版本 |
cold_launch_beacon_report_sample | float | 冷启动灯塔上报抽样开关 | 0 | 0.1 | 2.7.49及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
enabled | bool | 后台返回的开关,不用配置 | 1 | 0 | 2.7.49及以上版本 |
application_resume_beacon_report_sample | float | 后台进前台耗时灯塔上报抽样配置 | 0 | 0.1 | 2.7.49及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
available_report_types | array | 配置允许上报 metrickit 上报的类型,默认为空,空或未配置则不进行任何过滤 | null | - | 2.7.55-beta.6及以上版本 |
{"name": "common.dau","sample_ratio": 1,"daily_report_limit": 10000}
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
max_operation_seq_count | uint | 最大记录的条数,最大50 | 20 | 50 | 2.7.3及以上版本 |
字段 | 类型 | 说明 | 默认值 | 示例 | 支持版本 |
total_limit_in_megabyte | uint | 总流量异常阈值,单位 MB | 500 | 500 | 2.7.51及以上版本 |
mobile_limit_in_megabyte | uint | 蜂窝网络异常阈值,单位 MB | 200 | 200 | 2.7.51及以上版本 |
background_limit_in_megabyte | uint | 后台网络异常阈值,单位 MB | 50 | 50 | 2.7.51及以上版本 |
监控项 | 配置项 | 配置参数 | 取值说明 |
错误上报 | "error_report" | "sample_ratio" | 错误的上报采样率,取值[0,1]。 1表示全部上报 0表示不上报 其他表示用户抽样上报 |
监控项 | 配置项 | 配置参数 | 取值说明 |
卡顿指标 | "looper_metric" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
| | "daily_report_limit" | 设备每日上报卡顿指标的最大次数,默认值300,单位次数 |
| | "loop_time_out_threshold" | 设置卡顿指标统计时,超时消息的判定阈值,默认值150,单位ms |
卡顿个例 | "looper_stack" | "sample_ratio" | 设备采样率,取值[0,1]。 1表示全部打开 0表示全部关闭 其他表示按指定概率抽样打开 |
文档反馈