页面分析 API

更新时间:
复制为 MD 格式

本文档介绍移动监控 iOS SDK 提供的页面分析 API,包括页面数据采集开关、自定义页面加载阶段等

1. 设置页面采集开关

开启或关闭页面数据采集,默认开启

接口定义

+ (void)setDataCollectionEnabled:(BOOL)dataCollectionEnabled;
+ (BOOL)dataCollectionEnabled;
class var dataCollectionEnabled: Bool { get set }

代码示例

#import "AlicloudApmPerformance/AlicloudApmPerformance.h"

// 开启页面采集
[EAPMPageConfiguration setDataCollectionEnabled:YES];

// 获取页面采集开关
BOOL enabled = [EAPMPageConfiguration dataCollectionEnabled];
#import "AlicloudApmPerformance/AlicloudApmPerformance.h"

// 开启页面采集
PageConfiguration.dataCollectionEnabled = true

// 获取页面采集开关
let enabled = PageConfiguration.dataCollectionEnabled

2. 开始页面加载阶段

为指定页面开启一个自定义加载阶段,并自动结束上一个阶段。

接口定义

+ (void)startStageNamed:(NSString *)stageName
      forViewController:(UIViewController *)viewController;

+ (void)startStageNamed:(NSString *)stageName
              startTime:(NSDate *)startTime
      forViewController:(UIViewController *)viewController;
class func startStage(name stageName: String, forViewController viewController: UIViewController)

class func startStage(name stageName: String, startTime: Date, forViewController viewController: UIViewController)

参数说明

参数

类型

是否必填

长度范围

说明

stageName

NSString

1~128

阶段名称

viewController

UIViewController

viewController实例

startTime

NSDate

阶段开始时间

代码示例

#import "AlicloudApmPerformance/AlicloudApmPerformance.h"

// 为指定页面开启一个自定义加载阶段
[EAPMPageMonitor startStageNamed:@"request_data" forViewController:self];

// 以业务传入时间为指定页面开启自定义加载阶段
[EAPMPageMonitor startStageNamed:@"render_template" startTime:[NSDate date] forViewController:self];
#import "AlicloudApmPerformance/AlicloudApmPerformance.h"

// 为指定页面开启一个自定义加载阶段
PageMonitor.startStage(name: "request_data", forViewController: self)

// 以业务传入时间为指定页面开启自定义加载阶段
PageMonitor.startStage(name: "render_template", startTime: Date(), forViewController: self)

3. 补录页面加载阶段

补录一个指定页面的完整加载阶段

接口定义

+ (void)addStageNamed:(NSString *)stageName
            startTime:(NSDate *)startTime
              endTime:(NSDate *)endTime
    forViewController:(UIViewController *)viewController;
class func addStage(name stageName: String, startTime: Date, endTime: Date, forViewController viewController: UIViewController)

参数说明

参数

类型

是否必填

长度范围

说明

stageName

NSString

1~128

阶段名称

startTime

NSDate

阶段开始时间

endTime

NSDate

阶段结束时间

viewController

UIViewController

viewController实例

代码示例

#import "AlicloudApmPerformance/AlicloudApmPerformance.h"

NSDate *start = [NSDate dateWithTimeIntervalSinceNow:-0.1];
NSDate *end = [NSDate date];
[EAPMPageMonitor addStageNamed:@"parse_data" startTime:start endTime:end forViewController:self];
#import "AlicloudApmPerformance/AlicloudApmPerformance.h"

let start = Date(timeIntervalSinceNow: -0.1)
let end = Date()
PageMonitor.addStage(name: "parse_data", startTime: start, endTime: end, forViewController: self)