全部产品
云市场
云游戏

性能日志

更新时间:2020-08-04 17:11:47

性能日志用于统计应用的启动速度、卡顿与卡死等情况。您可以在 控制台 > 基础分析 中查看启动速度指标,在 性能分析 中查看卡顿与卡死报告。

埋点

基于 mPaaS 框架

  1. 卡顿监控默认对 10% 的设备开启,可通过下面这个接口设置卡顿开启率。
    1. [MPAnalysisHelper setLagMonitorPercent: 100]; // 100% 监控,需要在 startPerformanceMonitor 调用之前设置
    说明:卡顿监控只有在真机上并且非 Xcode 调试状态下是打开的。
  2. 在启动时调用 [MPAnalysisHelper startPerformanceMonitor], 推荐在 -(void)application:(UIApplication *)application beforeDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中调用。

    启动性能监控

  3. 为了记录启动时间,您只需在 APP 启动完成(比如在首页出现时)后记录启动时间,并发出启动完成的通知即可。
    1. // globalMonitorStartUpTime 是已定义的变量,导入 <mPaas/MPaaS+MonitorStartUpTime.h> 头文件后即可使用
    2. double time = CFAbsoluteTimeGetCurrent() - globalMonitorStartUpTime;
    3. [ [NSNotificationCenter defaultCenter] postNotificationName:@"APMonitor_Startup_Cost_Time" object:nil userInfo:@{@"CostTimeOnUserFeel": [NSString stringWithFormat:@"%f", time]}];

基于原生工程

SDK 封装了性能监控接口,推荐您在 AppDelegate 的 - (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions 方法中调用 [PerformanceHelper performanceMonitor]

  1. #import "PerformanceHelper.h"
  2. #import <MPAnalysis/MPAnalysisHelper.h>
  3. static NSTimeInterval __start_timestamp = 0;
  4. @implementation PerformanceHelper
  5. + (void)load
  6. {
  7. __start_timestamp = CFAbsoluteTimeGetCurrent();
  8. }
  9. + (void)performanceMonitor
  10. {
  11. //start performance monitor
  12. [MPAnalysisHelper setLagMonitorPercent: 100]; // 100% 监控,需要在 startPerformanceMonitor 调用之前设置
  13. [MPAnalysisHelper startPerformanceMonitor];
  14. //record the time interval used for the app startup
  15. NSTimeInterval time = CFAbsoluteTimeGetCurrent() - __start_timestamp;
  16. [[MPAnalysisHelper sharedInstance] writeLogForStartupWithTime:time];
  17. }
  18. @end
说明:卡顿监控只有在真机上并且非 Xcode 调试状态下是打开的。