Log performa mengumpulkan statistik mengenai kecepatan startup aplikasi, tersendat (stuttering), dan pembekuan (freeze). Anda dapat melihat metrik kecepatan startup pada halaman Basic Analysis di konsol Mobile Analysis Service serta laporan tersendat dan pembekuan pada halaman Performance Analytics.
Instrumentasi log didukung baik untuk framework mPaaS maupun proyek native.
Berdasarkan framework mPaaS
Secara default, pemantauan tersendat diaktifkan untuk 10% perangkat. Anda dapat menggunakan antarmuka berikut untuk mengatur laju pemantauan tersendat.
[MPAnalysisHelper setLagMonitorPercent: 100]; // Mengatur pemantauan menjadi 100%. Ini harus diatur sebelum memanggil startPerformanceMonitor.Pemantauan tersendat hanya diaktifkan pada perangkat fisik dan tidak berfungsi dalam mode debug Xcode.
Saat startup, panggil metode
[MPAnalysisHelper startPerformanceMonitor]. Tempatkan pemanggilan ini di dalam metode-(void)application:(UIApplication *)application beforeDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions.
Untuk proyek native
SDK menyediakan antarmuka pemantauan performa. Untuk menggunakannya, panggil [PerformanceHelper performanceMonitor] di dalam metode - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions pada AppDelegate Anda.
#import "PerformanceHelper.h"
#import <MPAnalysis/MPAnalysisHelper.h>
static NSTimeInterval __start_timestamp = 0;
@implementation PerformanceHelper
+ (void)load
{
__start_timestamp = CFAbsoluteTimeGetCurrent();
}
+ (void)performanceMonitor
{
// Mulai pemantauan performa.
[MPAnalysisHelper setLagMonitorPercent: 100]; // Mengatur pemantauan menjadi 100%. Ini harus diatur sebelum memanggil startPerformanceMonitor.
[MPAnalysisHelper startPerformanceMonitor];
// Catat interval waktu yang digunakan untuk startup aplikasi.
NSTimeInterval time = CFAbsoluteTimeGetCurrent() - __start_timestamp;
[[MPAnalysisHelper sharedInstance] writeLogForStartupWithTime:time];
}
@endPemantauan tersendat hanya diaktifkan pada perangkat fisik dan tidak berfungsi dalam mode debug Xcode.
Kustomisasi ambang batas pemantauan performa
Anda dapat menyesuaikan ambang batas pemantauan performa jika nilai default tidak memenuhi kebutuhan Anda.
Atur ambang batas tersendat
// Impor file header.
#import <MPMasAdapter/MPAnalysisHelper.h>
/**
Menetapkan ambang batas untuk pemantauan tersendat pada thread utama. Satuan dalam detik. Opsional. Nilai default adalah 2 detik.
*/
+ (void)setLagTimeThreshold:(NSUInteger)threshold;
/**
Menetapkan interval untuk deteksi tersendat. Nilai lagTimeThreshold / lagCheckInterval harus berupa bilangan bulat.
*/
+ (void)setLagCheckInterval:(NSTimeInterval)interval;
Atur ambang batas pembekuan
#import <MPMasAdapter/MPMasSettings.h>
// Buat kategori MPMasSettings dan override metode berikut untuk menyesuaikan.
/**
Mendapatkan ambang batas durasi pembekuan. Untuk menyesuaikan, override ini di Kategori. Nilai anrTimeThreshold / anrCheckInterval harus berupa bilangan bulat.
*/
- (NSUInteger)anrTimeThreshold
{
return custom_duration;
}
/**
Mendapatkan interval deteksi pembekuan. Untuk menyesuaikan, override ini di Kategori. Nilai anrTimeThreshold / anrCheckInterval harus berupa bilangan bulat.
*/
- (NSTimeInterval)anrCheckInterval
{
return custom_detection_interval;
}Atur ambang batas durasi pembekuan saat startup
#import <MPMasAdapter/MPMasSettings.h>
// Buat kategori MPMasSettings dan override metode berikut untuk menyesuaikan.
/**
Mendapatkan ambang batas waktu pembekuan saat startup. Untuk menyesuaikan, override ini di Kategori.
*/
- (NSUInteger)startupAnrTimeThreshold
{
return custom_duration;
}