パフォーマンスログは、アプリの起動時間、ラグ、スタック情報を記録します。起動時間は、モバイル分析サービス基本的な分析パフォーマンス分析 > で表示でき、ラグとスタックのレポートは、 で表示できます。
mPaaS フレームワークとネイティブプロジェクトに基づくログ追跡をサポートしています。
mPaaS フレームワークに基づく
ラグ監視は、デフォルトで 10% のデバイスで有効になっています。次の API を使用して割合を設定できます。
[MPAnalysisHelper setLagMonitorPercent: 100]; // ラグ監視はすべてのデバイスで有効になります。 startPerformanceMonitor API を呼び出す前に、割合を設定する必要があります。ラグ監視は、Xcode デバッグ状態ではない実デバイスでのみ有効になります。
アプリの起動中に
[MPAnalysisHelper startPerformanceMonitor]を呼び出す必要があります。この API は、-(void)application:(UIApplication *)application beforeDidFinishLaunchingWithOptions:(NSDictionary *)launchOptionslaunchOptions メソッドで呼び出すことをお勧めします。
ネイティブ プロジェクトに基づく
パフォーマンス監視 API は SDK にカプセル化されています。AppDelegate の - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions メソッドで [PerformanceHelper performanceMonitor] API を呼び出すことをお勧めします。
#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]; // ラグ監視はすべてのデバイスで有効になります。 startPerformanceMonitor API を呼び出す前に、割合を設定する必要があります。
[MPAnalysisHelper startPerformanceMonitor];
//record the time interval used for the app startup
NSTimeInterval time = CFAbsoluteTimeGetCurrent() - __start_timestamp;
[[MPAnalysisHelper sharedInstance] writeLogForStartupWithTime:time];
}
@endラグ監視は、Xcode デバッグ状態ではない実デバイスでのみ有効になります。
パフォーマンス モニタリングのしきい値をカスタマイズする
デフォルトのパフォーマンス監視しきい値がニーズを満たさない場合は、関連するしきい値をカスタマイズできます。
ラグのしきい値を設定する
#Introduce header files
#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 カスタマイズされた期間;
}
/**
スタック検出間隔を取得します。カスタマイズする必要がある場合は、カテゴリで書き直します。 anrTimeThreshold / anrCheckInterval が整数になるようにすることをお勧めします。
*/
- (NSTimeInterval)anrCheckInterval
{
return カスタマイズされた検出間隔の長さ;
}起動停止時間のしきい値を設定する
#import <MPMasAdapter/MPMasSettings.h>
#MPMasSettings カテゴリを作成し、次のメソッドを書き直してカスタマイズします
/**
起動スタック時間のしきい値を取得します。カスタマイズする必要がある場合は、カテゴリで書き直します。
*/
- (NSUInteger)startupAnrTimeThreshold
{
return カスタマイズされた期間;
}