自定义分析
为满足深度定制需求,Bugly 推出「自定义看板」功能。您可自由组合分析 Bugly 自动采集及应用自定义上报的数据,打造专属视图,灵活挖掘数据价值。下面详细介绍其使用过程。
上报自定义事件
Bugly 不仅支持业务上报自定义事件,还可根据需求对事件进行采样上报。下面详细介绍自定义事件的上报流程。
1. 控制管理台新增事件
在 「设置/产品配置/自定义事件」 页面,添加自定义事件。自定义事件主要包含事件名,事件描述,指标,维度和上报采样率。
- 事件名:应使用英文字母、数字及下划线组合,用于唯一标识一个具体事件。
- 事件描述:建议使用用户熟悉的语言(如中文),为此事件补充详细的业务说明。
- 指标:double类型,用来描述一个自定义指标。一个自定义事件可以支持多个指标,例如图片下载的事件,包含下载耗时,下载数据量两个指标。
- 维度:string类型,用来描述一个自定义维度。一个自定义事件可以支持多个维度,例如图片下载的事件,包含下载结果是否成功,下载时设备所在的网络等维度。
- 上报采样率:指事件上报的设备采样率,例如应用共有1万台活跃设备,设置事件采样率为1%,则只有100台设备会上报该事件,其他的设备不会上报。
- 独立配置:每个事件可以设置独立的采样率。
- 命中判断:对于某个事件,系统会根据设备ID和采样率判断是否命中。
- 持续上报:一旦命中,在采样率不变的情况下,该设备对此事件的所有上报实例均会被记录。

2. 应用主动上报事件
- 事件上报前,请务必先在 Bugly 控制台的 「设置/产品配置/自定义事件」页面完成事件添加。未经添加的事件将被 SDK 丢弃,不予上报。添加事件时,根据需要添加事件的指标和维度。指标会当作double类型存储,维度会当作string类型存储。未在控制管理台添加的指标和维度,无法成功上报。
- 添加事件后,需要等待生效,一般需要等待15分钟左右。
- 在测试阶段,为了加速验证,推荐添加事件后,重启应用,以触发重新拉取事件配置。
Android
Bugly Android 监控SDK自 4.4.7.3 版本开始支持业务上报自定义事件,调用示例如下:
val metrics = HashMap<String, Double>()
metrics["duration"] = 5000.0
val dimensions = HashMap<String, String>()
dimensions["current_scene"] = "login"
dimensions["last_scene"] = "splash"
Bugly.monitorEvent("onBack", metrics, dimensions)
若需验证事件是否被成功记录,您在测试阶段初始化 Bugly 监控 SDK 时,可以将日志级别设置为 Debug,如下所示:
...
builder.logLevel = BuglyLogLevel.LEVEL_DEBUG; // 设置日志打印级别,级别可从BuglyLogLevel中获取
...
Bugly.init(context, builder);
...
然后关注日志Tag为「RMonitor_CustomEvent」的日志,如果看到类似 "event_name{xxx} is discarded." 表示该事件还未被记录,需要重启应用,以触发重新拉取事件配置。
2025-10-10 20:35:31.894 12886-13032 RMonitor_CustomEvent com.tencent.bugly.demo D event_name{onBack} is discarded.
如果看到类似的日志,说明事件已经被成功记录,SDK会聚合一定量的事件后再上报。
2025-10-11 17:08:57.573 11403-11650 RMonitor_CustomEvent com.tencent.bugly.demo D event_name{userClick} is appended/cached.
2025-10-11 17:08:57.573 11403-11639 RMonitor_CustomEvent com.tencent.bugly.demo D event_name{onBack} is appended/cached.
看到以下日志,说明SDK已经聚合了一批数据准备上报了。
2025-10-11 17:08:57.575 11403-11671 RMonitor_CustomEvent com.tencent.bugly.demo D reportEvent, reason: meet_batch_count, event_count: 30
- 批量上报: 当缓存的事件数量达到阈值(默认为30个)后触发。
- 退入后台上报: 当应用程序退至后台运行,且本地存在待上报数据时触发。
- 代码中上报的指标与维度,若未在管理台预先配置,将被服务器视为无效数据而丢弃,且不会产生错误提示。
- SDK 会对单事件的指标与维度数量进行校验,若超出限额,该事件将被 SDK 直接拦截并丢弃。
- 请务必在管理台准确配置所需的指标与维度;对于不再需要的配置项,建议及时清理,以确保事件上报的可靠性。
iOS
Bugly iOS 监控 SDK 自 2.8.2.1 开始支持自定义事件上报,调用示例代码如下所示:
[BuglyEvent captureEvent:@"heap_dump"
metrics:@{@"cost_ms": @(dur_millis)}
dimension:@{@"platform": @"dev"}];
//或
BuglyEvent *event = [[BuglyEvent alloc] initWithEventName:eventName
metrics:metrics
dimension:dimension];
event.metrics = @{};
[BuglyEvent captureEvent:event];
captureEvent 接口内部会检查 metrics 与 dimension 类型,对于不符合类型的时间,会返回 NO, 并不予以记录。
3. 添加自定义事件图表
成功上报的事件,可通过「数据总览/我的看板」或者「数据总览/公共看板」添加数据图表。
编辑自定义看板
所有数据,无论是业务自定义上报的事件,还是由 Bugly 监控 SDK 自动采集的信息,均能用于创建自定义图表。Bugly 期望通过「我的看板」和「公共看板」,为您提供灵活组合、自由分析数据的能力。
看板类型
自定义看板分为「我的看板」和「公共看板」,其区别如下:
- 我的看板:仅自己可见,所有成员允许添加、删除和编辑「我的看板」的图表。
- 公共看板:该产品所有成员可见,仅管理员允许添加、删除和编辑「公共看板」的图表。
无论是「我的看板」还是「公共看板」,只要有权限的用户都可以添加图表、删除图表、编辑图表和调整图表展示顺序和展示尺寸。
- 点击“添加图表”,即可进入图表编辑页面。
- 点击图表右上角的“更多”菜单,选择“删除图表”,即可将其从看板中移除。此操作不会删除底层数据,您之后可随时重新添加该图表。
- 对于已创建的图表,可点击“编辑”图标以重新进入编辑模式,调整图表配置。
- 可按住图表左上角的拖拽点(三个竖点),通过拖放来自由调整图表在看板中的排列顺序。
- 通过“更多”菜单中的“尺寸”选项,可调整图表大小。当前支持小、中、大三种尺寸。
- 如需导出数据,可点击“下载”图标,将图表对应的数据文件下载至本地

创建图表
如下图所示,您可以按以下顺序来创建自己的图表:
- 选择要查看的事件。
- 选择要统计的指标,每个事件都会列出预置指标(发生次数,设备数,用户数)和跟随事件上报指标和维度。
- 自定义事件主动上报的指标和维度都可以作为分析指标。
- 根据需要,选择要下钻的维度,即分组项。
- 根据需要,设置全局过滤条件,选择满足要求的数据集。
- 确定指标,设置完全局过滤条件和分组项后(可选),即可点击预览,查看预览效果。
- 可以调整统计同期,提供的统计同期都是相对时间,比如今天,昨天,最近7天,最近90天。这样图表添加后,会根据当前查看时间,实时刷新数据。
- 选择聚合粒度,当前支持:按5分钟,按小时,按天,按周,按月及合计多种聚合方式。
- 选择展示图表样式,当前支持:折线图,面积图,柱状图和饼图。
- 预览底部展示的是查询结果的数据,以表格方式呈现,帮助用户更好理解图表。
- 确定图表样式符合预期后,点击保存即可保存当前图表。
- 请给图表选择一个合适的名称,然后点击返回,即可在看析中看到刚才添加的图表了。

除上述基础能力外,图表编辑还支持一些高级特性,如下图所示:
- 指标分为普通指标和组合指标,用户可以添加多个普通指标,也可以添加多个组合指标。
- 组合指标由普通指标经过四则运算得到。
- 除了全局筛选条件外,还支持指标的筛选条件。全局筛选条件对所有指标生效,指标的筛选条件仅对指定指标生效。

查看看板
图表创建后并保存后,即可在看板查看,图表会自动刷新数据。
