回捞支持日志回捞和自定义回捞,通过打印自定义日志和业务自定义文件,帮助单点追查和定位问题。
日志文件在本地加密、压缩保存时,利用系统mmap机制保证日志写入的效率,且支持根据日志等级写入文件。
使用场景
- 初始化时打开日志回捞功能,业务通过指定类打印自定义日志,日志会保存在本地磁盘。
- 日志查询通过采样上报性能和交互数据,且采样率一般较低,出现问题进行排查时无法查到对应的日志。为了解决这个问题,SDK内置了APMPlus日志,通过自定义日志全量采集核心数据保存在本地。您可以通过回捞的形式获取日志,辅助分析无用户数据的性能问题和特殊的退出问题。
使用限制
APMPlus日志支持的模块如列表所示:
- Android端
- 交互:启动日志、页面加载、用户使用时长、网络分析、事件。
- 稳定性:应用退出、自定义异常、崩溃、Dart异常。
- 性能:CPU、内存。
- iOS端
- 启动耗时、页面加载耗时、网络耗时、事件埋点、自定义异常、CPU指标、内存指标、FPS、丢帧。
任务的触发条件
以下条件满足一个即可触发回捞任务:
- 网络良好,重新启动App
- 网络良好,前后台切换
- 网络良好,APP保持运行状态,会定时触发(5分钟内)
日志回捞
前提条件
新建日志回捞任务
登录应用性能监控全链路版控制台。
单击目标应用下的App端监控。
在控制台左上角选择全部功能 > 回捞。
在回捞页面,单击新建任务。
在新建任务页面,完成以下配置,然后单击保存。
配置项说明:
配置区域 | 参数 | 说明 |
---|
基本信息 | 任务名称 | 自定义名称,用于标识该任务。 |
系统 | 选择操作系统。 |
任务说明 | 填写任务说明,例如该任务的使用场景。 |
任务配置 | 回捞类型 | 选择回捞类型:日志回捞。
日志回捞是回捞端上打印的自定义日志。 |
日志类型 | - APMPlus日志:APMPlus SDK内置打点的异常、性能、网络、事件等日志数据
- 自定义日志:业务自己打点的日志数据
|
拉取时间范围 | 配置需要拉取日志文件所在的时间范围。 |
设备选择 | 配置需要拉取哪个设备的日志文件。支持选择DID和UID。 说明 DID和UID的取值应和初始化的SDK配置保持一致。 |
通知配置 | 飞书webhook | 如果想在任务完成时,有飞书消息通知,请输入飞书webhook。
仅支持添加一个地址。 |
企业微信webhook | 如果想在任务完成时,有企业微信消息通知,请输入企业微信webhook。
仅支持添加一个地址。 |
钉钉webhook | 如果想在任务完成时,有钉钉消息通知,请输入钉钉webhook。
仅支持添加一个地址。 |
邮件通知人 | 如果想在任务完成时,有邮件通知,请输入邮箱地址。
支持添加多个地址。 |
查看自定义日志
- 登录应用性能监控全链路版控制台。
- 单击目标应用下的App端监控。
- 在控制台左上角选择全部功能 > 回捞。
- 在回捞页面,在任务列表中找到目标任务名称,然后单击任务详情。
- 设备:如果是一次拉取多个用户,可以通过设备筛选不同的用户。
- 任务信息:展示了任务概要和自定义日志,可以在线查看,也可以下载日志到本地分析。
- 日志列表:
- 支持根据时间、日志内容、日志级别筛选日志。
- 支持下载日志文件。
自定义回捞
前提条件
新建自定义回捞任务
登录应用性能监控全链路版控制台。
单击目标应用下的App端监控。
在控制台左上角选择全部功能 > 回捞。
在回捞页面,单击新建任务。
在新建任务页面,完成以下配置,然后单击保存。
配置项说明:
配置区域 | 参数 | 说明 |
---|
基本信息 | 任务名称 | 自定义名称,用于标识该任务。 |
系统 | 选择操作系统。 |
任务说明 | 填写任务说明,例如该任务的使用场景。 |
任务配置 | 回捞类型 | 选择回捞类型:自定义回捞。
自定义回捞下发业务配置的命令,业务接收命令后返回自定义的文件,平台可以下载自定义的文件排查问题。 |
回捞参数 | 配置回捞参数。详情请参见iOS自定义回捞配置和安卓自定义回捞配置。
Android端输入只支持JSON格式,SDK接入方自主设置代码解析。 |
设备选择 | 配置需要拉取哪个设备的日志文件。支持选择DID和UID。 说明 DID和UID的取值应和初始化的SDK配置保持一致。 |
通知配置 | 飞书webhook | 如果想在任务完成时,有飞书消息通知,请输入飞书webhook。
仅支持添加一个地址。 |
企业微信webhook | 如果想在任务完成时,有企业微信消息通知,请输入企业微信webhook。
仅支持添加一个地址。 |
钉钉webhook | 如果想在任务完成时,有钉钉消息通知,请输入钉钉webhook。
仅支持添加一个地址。 |
邮件通知人 | 如果想在任务完成时,有邮件通知,请输入邮箱地址。
支持添加多个地址。 |
查看自定义文件
- 登录应用性能监控全链路版控制台。
- 单击目标应用下的App端监控。
- 在控制台左上角选择全部功能 > 回捞。
- 在回捞页面,在任务列表中找到目标任务名称,然后单击任务详情。
- 设备:如果是一次拉取多个用户,可以通过设备筛选不同的用户。
- 任务信息:展示了任务概要和自定义日志,可以在线查看,也可以下载日志到本地分析。
- 回捞内容:
- 回捞文件
common_params.txt
:端上的基础参数文件 - 回捞文件
files-cloudMsg.zip
:端上业务自己返回的文件 - 字符串:端上业务自己返回的回捞内容
任务列表
列表说明
新建任务后,可以在列表中查看到当前正在执行的任务。
任务列表中展示任务名称、日志类型、创建人、创建时间、任务进度。
- 任务进度:表明了当前任务所处的状态。
- 完成:单击任务详情查看详细的日志信息分析问题。
- 失败:获取日志失败,详情页面有具体失败原因。
- 未下发:处于App尚未拉取到命令的状态。
- 任务详情:单击进入任务详情页,查看任务信息和日志列表。
- 创建副本:单击进入新建任务页,在原任务的配置上进行编辑,然后生成新的任务。
- 编辑:单击进入编辑任务页,在原任务的配置上进行编辑,修改原来的任务。
- 删除:删除该日志回捞任务。
异常排查
如果任务一直处于未下发状态,可能是SDK上报参数和日志回捞设置不匹配导致。请执行以下步骤排查:
- 检查控制台和SDK设置的UID/DID是否一致。
在日志回捞页面,单击任务详情,检查设备是否带标识。
- DID:不带标识,显示为设备名称。
- UID:带标识,显示为设备名称(uid)。
比较控制台设置的UID/DID和SDK是否一致: - 一致:请执行步骤2。
- 不一致:请修改一致后再执行步骤2。
修改SDK配置,请参见如何在SDK中配置DID和UID?。
- 通过抓包确认控制台上设备的取值和SDK配置是否一致。
抓包路径:https://apmplus.volces.com/monitor/collect/c/cloudcontrol/get。
比较抓包信息中请求携带的UID/DID和控制台是否一致: