パフォーマンスログは、アプリケーションの起動速度、カクツキ、フリーズに関する統計情報を収集します。Mobile Analysis Service コンソールの [基本分析] ページで起動速度のメトリックを、[パフォーマンス分析] ページでカクツキとフリーズのレポートを表示できます。
ログイベントトラッキングは、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
{
// パフォーマンスモニターを開始します。
[MPAnalysisHelper setLagMonitorPercent: 100]; // モニタリングを 100% に設定します。startPerformanceMonitor を呼び出す前に設定する必要があります。
[MPAnalysisHelper startPerformanceMonitor];
// アプリの起動に使用された時間間隔を記録します。
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 カテゴリを作成し、次のメソッドをオーバーライドしてカスタマイズします。
/**
フリーズ継続時間のしきい値を取得します。カスタマイズするには、カテゴリでこれをオーバーライドします。anrTimeThreshold / anrCheckInterval の値は整数である必要があります。
*/
- (NSUInteger)anrTimeThreshold
{
return custom_duration;
}
/**
フリーズ検出の間隔を取得します。カスタマイズするには、カテゴリでこれをオーバーライドします。anrTimeThreshold / anrCheckInterval の値は整数である必要があります。
*/
- (NSTimeInterval)anrCheckInterval
{
return custom_detection_interval;
}起動時のフリーズ継続時間のしきい値の設定
#import <MPMasAdapter/MPMasSettings.h>
#MPMasSettings カテゴリを作成し、次のメソッドをオーバーライドしてカスタマイズします。
/**
起動時のフリーズ時間のしきい値を取得します。カスタマイズするには、カテゴリでこれをオーバーライドします。
*/
- (NSUInteger)startupAnrTimeThreshold
{
return custom_duration;
}