You need to enable JavaScript to run this app.
导航
使用线下插件验证数据上报
最近更新时间:2024.07.30 19:18:35首次发布时间:2024.07.09 14:38:51

为了更直观的验证各功能模块的接入情况,您可以使用线下插件。应用接入SDK后,线下插件可以在应用界面展示各功能模块是否开启和数据是否上报。

注意

本插件主要用于线下验证,因此插件本身的性能不做保障,建议您仅在开发验证或者内测阶段开启,用于新模块接入的验证以及功能回归。

步骤一:安装插件

  1. 在 Podfile 中,添加如下示例代码。插件对 RangersAPM SDK 的版本有要求,版本限制请参见SDK更新日志

    source 'https://github.com/volcengine/volcengine-specs.git'
    
    pod 'RangersAPMDoctor', '2.0.0'
    
  2. 执行以下命令,安装插件。

    pod install
    

步骤二:启用插件

请在性能监控组件初始化前调用以下方法,否则无法确保可以顺利校验性能监控组件的各项功能。

#import <RangersAPM+Doctor.h>

[RangersAPM setDoctorEnabled:YES];

步骤三:初始化插件页面

方式一:使用悬浮窗的形式初始化插件页面

通过这种方式初始化插件页面,您可以在应用的任意页面看到一个悬浮窗,单击悬浮窗即可进入验证数据上报的界面。

#import <RangersAPM+Doctor.h>

//使用 AppDelegate 时 windowScene 可以传 nil,在代码任意位置调用初始化方法即可
[RangersAPM setupWindowWithAppID:@"xxxxxx" windowScene:nil];

//使用 SceneDelegate 时需要配置正确的 windowScene
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
    [RangersAPM setupWindowWithAppID:@"xxxxxx" windowScene:scene];
}

图片

方式二:通过内嵌页面初始化插件页面

通过这种方式初始化插件页面,您可以把插件页面嵌入到您的应用任意页面中。

注意

页面需要通过 navigationController pushViewController 的方式展开,否则二级页面无法正常展开。

#import <RangersAPM+Doctor.h>

UIViewController *doctorView = [RangersAPM generateViewControllerWithAppID:appID];
[self.navigationController pushViewController:doctorView animated:YES];

图片

步骤四:使用插件

完成初始化插件后,您可以在插件中查看调试页面。目前将所有验证内容分为三项,单击后分别进入二级页面:

  • 全局状态检测:用于检测可能在全局范围内影响数据上报的配置,例如 deviceID、事件量等。
  • 性能模块检测:用于检测各个功能模块的数据上报,例如崩溃、OOM、磁盘等。
  • 事件埋点检测:用于检测在事件分析中创建的自定义事件的上报情况。

图片

全局状态检测

单击后进入二级页面,展示各项可能全局影响数据上报的配置,左侧展示的是配置项,右侧展示的是检测结果,检测结果按钮根据是否通过会显示不同的颜色,通过时显示为绿色,未通过时显示为红色。
图片
图片

性能模块检测

单击后进入二级页面,展示各个性能监控模块的开关和数据上报情况,左侧展示的是模块名称,右侧展示的是检测结果,包括开关状态和上报情况,检测结果按钮根据是否通过会显示不同的颜色,通过时显示为绿色,未通过时显示为红色。
图片
图片
图片

事件埋点检测

单击后进入二级页面,展示各个埋点的上报情况,页面以列表的形式展示,从左到右依次展示埋点记录的时间、埋点的名称和检测结果。检测结果按钮根据是否通过会显示不同的颜色,通过时显示为绿色,未通过时显示为红色。

注意

如果您没有调用 SDK 的接口记录埋点,则本页面不会展示任何数据,添加埋点的方式可以参考事件分析

图片

步骤五:问题反馈

如果通过插件提供的信息依然无法解决您的接入问题,请您向技术支持提供如下材料寻求帮助:

  • 插件提示信息的截图。
  • Charles 通过 Export Session 导出的网络抓包,域名为 apmplus.volces.com。
  • 当前接入的 SDK 版本,以及接入的 subspecs 列表。
  • SDK 的初始化代码。

FAQ

插件和性能监控组件的初始化顺序有要求吗?

没有要求。

接入插件后对性能的影响?

插件本身的性能不做保证,接入后对性能监控组件有轻微的影响,因此建议您仅在线下测试或者内测阶段接入。

插件的数据更新频率?

插件每 5s 刷新一次页面展示数据,记录日志后可以稍等片刻再查看。

为什么开关已经打开,插件依然提示开关未开启?

可以在 SDK上报配置页面查看是否配置了版本黑名单。

为什么插件提示已经上报了数据,平台上依然看不到?

平台的数据处理需要一定时间,上报的数据一般情况下会在 1min~5min 处理完毕。如果长时间看不到数据,可以提供相关材料给技术支持。详情请参见步骤五:问题反馈