この記事では、モバイル分析サービスのパフォーマンスログを追加する方法について説明します。
モバイル分析サービスが Android にアクセスするパフォーマンスログには、次のものがあります。
起動時間ログ
ラグログ
スタックログ
mPaaS コンソールにログインし、[モバイル分析サービス] > [基本分析] を選択して起動時間を表示できます。また、mPaaS コンソールにログインし、[モバイル分析サービス] > [パフォーマンス分析] を選択して、ラグとスタック レポートを表示できます。
起動時間の追跡
アプリケーションの起動時間 = このメソッドが呼び出された時間 - アプリケーションが起動した時間。
ホームページ Activity の onCreate() メソッドで次のメソッドを呼び出して、起動速度を追跡することをお勧めします。
MPLogger.reportLaunchTime(Context context);ラグの追跡
ラグは、Android メインスレッドがメソッドの完了に 2.25 秒以上かかることと定義されています。ラグのしきい値は、APK パッケージの種類によって異なります。
APK パッケージがデバッグパッケージの場合、ラグのしきい値は 0.75 秒です。これにより、デバッグ中に潜在的なラグの問題を見つけることができます。
APK パッケージがリリースパッケージの場合、ラグのしきい値は 2.25 秒です。
ラグ監視を有効にする
方法 1
インターフェイスは、mPaaS によって提供される BaseActivity、BaseFragmentActivity、または BaseAppCompatActivity クラスを継承する必要があります。これらのクラスを継承するすべてのインターフェイスは、ラグを自動的に監視します。
方法 2
この方法は、ベースライン 10.2.3.50 以降のバージョンでのみサポートされています。
Activity のライフサイクルメソッドで関連インターフェイスを手動で呼び出します。次に例を示します。
import android.app.Activity;
import android.app.Application;
import android.os.Bundle;
import com.mpaas.mas.adapter.api.MPLogger;
public class MPLifecycle implements Application.ActivityLifecycleCallbacks {
private int mVisibleActivityCount = 0;
private boolean isBackground = false;
@Override
public void onActivityCreated(Activity activity, Bundle bundle) {
}
@Override
public void onActivityStarted(Activity activity) {
mVisibleActivityCount++;
if (isBackground) {
isBackground = false;
// アプリケーションがフォアグラウンドに戻ったときに呼び出します
MPLogger.monitorAppForeground();
}
}
@Override
public void onActivityResumed(Activity activity) {
// Activity コンテキストを更新します
MPLogger.monitorActivityResumed(activity);
}
@Override
public void onActivityPaused(Activity activity) {
}
@Override
public void onActivityStopped(Activity activity) {
mVisibleActivityCount--;
if (mVisibleActivityCount <= 0) {
isBackground = true;
// アプリケーションがバックグラウンドに戻ったときに呼び出します
MPLogger.monitorAppBackground();
}
}
@Override
public void onActivitySaveInstanceState(Activity activity, Bundle bundle) {
}
@Override
public void onActivityDestroyed(Activity activity) {
}
}APK がデバッグパッケージの場合、ラグ監視は完全統計です。APK がリリースパッケージの場合、ラグ監視はサンプリングレート 10% のサンプリング統計です。
スタックの追跡
スタックは、Android システムの ANR です。これは通常、メインスレッドが 5 秒以上応答しないことを意味します。
スタック監視を有効にするには、詳細について上記の記事「ラグ監視の有効化」をご参照ください。