全部產品
Search
文件中心

Mobile Platform as a Service:添加效能日誌

更新時間:Jul 13, 2024

效能日誌用於統計應用的啟動速度、卡頓與卡死等情況。您可以在移動分析控制台的 基礎分析 頁面查看啟動速度指標;在 效能分析 頁面中查看卡頓與卡死報告。

支援基於 mPaaS 架構和原生工程進行日誌埋點。

基於 mPaaS 架構

  1. 卡頓監控預設對 10% 的裝置開啟,可通過下面這個介面設定卡頓開啟率。

    [MPAnalysisHelper setLagMonitorPercent: 100]; // 100% 監控,需要在 startPerformanceMonitor 調用之前設定

    卡頓監控只有在真機上並且非 Xcode 調試狀態下是開啟的。

  2. 在啟動時調用 [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 自訂的時間長度;
}