效能日誌用於統計應用的啟動速度、卡頓與卡死等情況。您可以在移動分析控制台的 基礎分析 頁面查看啟動速度指標;在 效能分析 頁面中查看卡頓與卡死報告。
支援基於 mPaaS 架構和原生工程進行日誌埋點。
基於 mPaaS 架構
卡頓監控預設對 10% 的裝置開啟,可通過下面這個介面設定卡頓開啟率。
[MPAnalysisHelper setLagMonitorPercent: 100]; // 100% 監控,需要在 startPerformanceMonitor 調用之前設定
卡頓監控只有在真機上並且非 Xcode 調試狀態下是開啟的。
在啟動時調用
[MPAnalysisHelper startPerformanceMonitor]
,推薦在-(void)application:(UIApplication *)application beforeDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法中調用。
基於原生工程
SDK 封裝了效能監控介面,推薦您在 AppDelegate 的 - (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions
方法中調用 [PerformanceHelper performanceMonitor]
。
#import "PerformanceHelper.h"
#import <MPAnalysis/MPAnalysisHelper.h>
static NSTimeInterval __start_timestamp = 0;
@implementation PerformanceHelper
+ (void)load
{
__start_timestamp = CFAbsoluteTimeGetCurrent();
}
+ (void)performanceMonitor
{
//start performance monitor
[MPAnalysisHelper setLagMonitorPercent: 100]; // 100% 監控,需要在 startPerformanceMonitor 調用之前設定
[MPAnalysisHelper startPerformanceMonitor];
//record the time interval used for the app startup
NSTimeInterval time = CFAbsoluteTimeGetCurrent() - __start_timestamp;
[[MPAnalysisHelper sharedInstance] writeLogForStartupWithTime:time];
}
@end
卡頓監控只有在真機上並且非 Xcode 調試狀態下是開啟的。
自訂設定效能監控閾值
當預設的效能監控閾值無法滿足您的需求時,可以自訂設定相關閾值。
設定卡頓閾值
#引入標頭檔
#import <MPMasAdapter/MPAnalysisHelper.h>
/**
設定主線程卡頓監控的閾值,單位秒,可不設定,預設值為2秒
*/
+ (void)setLagTimeThreshold:(NSUInteger)threshold;
/**
設定卡頓檢測的間隔時間長度, 建議 lagTimeThreshold / lagCheckInterval 等於整數
*/
+ (void)setLagCheckInterval:(NSTimeInterval)interval;
設定卡死閾值
#import <MPMasAdapter/MPMasSettings.h>
#建立 MPMasSettings 分類,重新下面方法做自訂
/**
擷取卡死時間長度閾值,需自訂時在Category中重寫,建議 anrTimeThreshold / anrCheckInterval 等於整數
*/
- (NSUInteger)anrTimeThreshold
{
return 自訂的時間長度;
}
/**
擷取卡死活動訊號間隔時間時間長度,需自訂時在Category中重寫,建議 anrTimeThreshold / anrCheckInterval 等於整數
*/
- (NSTimeInterval)anrCheckInterval
{
return 自訂的活動訊號間隔時間時間長度;
}
設定啟動卡死時間長度閾值
#import <MPMasAdapter/MPMasSettings.h>
#建立 MPMasSettings 分類,重寫下面方法做自訂
/**
擷取啟動卡死時間閾值,需自訂時在Category中重寫
*/
- (NSUInteger)startupAnrTimeThreshold
{
return 自訂的時間長度;
}