Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

特定のアプリコードのカスタムモニタリングを追加する

収集のトレースを監視するパフォーマンスはアプリのパフォーマンスを監視するのに役立ちます。トレースは、アプリの2つの時点の間にキャプチャされたパフォーマンスデータのレポートです。

独自のトレースを作成して、アプリ内の特定のコードに関連付けられたパフォーマンスデータを監視できます。カスタムコードのトレースを使用すると、それはたとえば、画像のセットをロードしたり、データベースを照会するため、特定のタスクまたは一連のタスクを完了するためにアプリを要する時間を測定することができます。

カスタムコードのトレースのデフォルトメトリックは、その「継続」(トレースの開始と停止点間の時間)ですが、あなたにも、カスタム指標を追加することができます。

コードでは、Performance Monitoring SDKによって提供されるAPIを使用して、カスタムコードトレースの開始と終了を定義します。Androidアプリのために、あなたはまた、使用して特定のメソッドを監視することができ@AddTrace注釈を。、彼らが作成されてきた後に、カスタムコードトレースはいつでも開始することができ、そして、彼らは、スレッドセーフです。

これらのトレースに対して収集されるデフォルトのメトリックは「期間」であるため、「期間トレース」と呼ばれることもあります。

あなたは(詳細情報パフォーマンスダッシュボードの下部にあるトレーステーブルのカスタムトレースサブタブ、これらのトレースからのデータを表示できるコンソールを使用して、このページ以降)。

デフォルト属性、カスタム属性、およびカスタムメトリック

カスタムコードのトレースの場合、自動的にパフォーマンスの監視は、ログに記録し、デフォルトの属性あなたはFirebaseコンソールにトレース用のデータをフィルタリングすることができるように(などのアプリのバージョン、国、デバイス、などの共通メタデータ)。あなたはまた、追加することができ、モニタのカスタム属性(例えば、ゲームのレベルやユーザーのプロパティとして)。

あなたは、さらにレコードにカスタムコードのトレースを設定することができ、カスタムメトリクストレースの範囲内で発生するパフォーマンス関連のイベントのために。たとえば、キャッシュのヒットとミスの数、またはUIが目立った期間応答しなくなった回数のカスタムメトリックを作成できます。

トレースのデフォルトの属性とデフォルトの指標とともに、カスタム属性とカスタム指標がFirebaseコンソールに表示されます。

カスタムコードトレースを追加する

パフォーマンスの監視に使用トレースAPIを特定のアプリケーションのコードを監視するために、カスタムコードのトレースを追加します。

次の点に注意してください。

  • アプリには、複数のカスタムコードトレースを含めることができます。
  • 複数のカスタムコードトレースを同時に実行できます。
  • カスタムコードのトレースの名前は、次の要件を満たしている必要がありますなし先頭または末尾の空白を、何の有力アンダースコア( _ )文字、および最大長は100文字ではありません。
  • カスタムコードのトレースが追加をサポートし、カスタム指標カスタム属性を

あなたは次のようなコードの行数(この例では、カスタムのトレース名使用してトレースしたいというコードをラップ、起動して、カスタムコードのトレースを停止するにはtest_trace ):

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace

myTrace.stop();

Kotlin + KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace

myTrace.stop()

@AddTraceを使用してモニター(オプション)の具体的な方法

Androidアプリもサポート@AddTrace注釈を機器のカスタムコードのトレースに。この機能を使用すると、トレースは指定されたメソッドの先頭から開始し、メソッドによって呼び出されたものを含め、メソッドが完了すると停止します。

たとえば、カスタムコードのトレースを作成することができますと呼ばれるonCreateTraceしたときに実行されることonCreate()メソッドが呼び出されます。

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@Override
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

Kotlin + KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
}

カスタムコードトレースにカスタムメトリックを追加する

パフォーマンスの監視に使用トレースAPIをカスタムコードのトレースにカスタムメトリックを追加します。

次の点に注意してください。

  • カスタムメトリックの名前は、次の要件を満たす必要があります。何の先頭または最後の空白、無大手アンダースコア( _ )文字、および最大長さは100文字ではありません。
  • 各カスタムコードトレースは、(デフォルトの期間のメトリックを含む)32のメトリクスまで録音することができます。

カスタムメトリックを追加するには、イベントが発生するたびに、次のようなコード行を追加します。 (例イベント名使用して、キャッシュヒットとミスなどのアプリで発生するたとえば、このカスタムメトリックカウントのパフォーマンス関連のイベント、 item_cache_hititem_cache_missとの増分1 )。

Java

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace (and log custom metrics)
Item item = cache.fetch("item");
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1);
} else {
    myTrace.incrementMetric("item_cache_miss", 1);
}

myTrace.stop();

Kotlin + KTX

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace (and log custom metrics)
val item = cache.fetch("item")
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1)
} else {
    myTrace.incrementMetric("item_cache_miss", 1)
}

myTrace.stop()

カスタムコードトレースのカスタム属性を作成する

使用パフォーマンスの監視トレースAPIをカスタムコードのトレースにカスタム属性を追加します。

カスタム属性を使用するには、属性を定義し、それを特定のカスタムコードトレースに関連付けるコードをアプリに追加します。カスタム属性は、トレースの開始時から停止時までの間にいつでも設定できます。

次の点に注意してください。

  • カスタム属性の名前は、次の要件を満たす必要があります。何の先頭または最後の空白、無大手アンダースコア( _ )文字、および最大長は32文字ではありません。

  • 各カスタムコードトレースは、最大5つのカスタム属性を記録できます。

  • Googleに対して個人を個人的に識別する情報を含むカスタム属性を使用しないでください。

    このガイドラインの詳細

Java

Trace trace = FirebasePerformance.getInstance().newTrace("test_trace");

// Update scenario.
trace.putAttribute("experiment", "A");

// Reading scenario.
String experimentValue = trace.getAttribute("experiment");

// Delete scenario.
trace.removeAttribute("experiment");

// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();

Kotlin + KTX

Firebase.performance.newTrace("test_trace").trace {
    // Update scenario.
    putAttribute("experiment", "A")

    // Reading scenario.
    val experimentValue = getAttribute("experiment")

    // Delete scenario.
    removeAttribute("experiment")

    // Read attributes.
    val traceAttributes = this.attributes
}

パフォーマンスデータの追跡、表示、およびフィルタリング

ダッシュボードで特定の指標を追跡する

あなたの主要指標がトレンドされている方法については、パフォーマンスダッシュボードの一番上にあなたのメトリクスボードに追加します。週ごとの変更を確認するか、コードの最近の変更によってパフォーマンスが向上していることを確認することで、リグレッションをすばやく特定できます。

Firebase PerformanceMonitoringダッシュボードの指標ボードの画像

行き、あなたの評価指標ボードにメトリックを追加するには、パフォーマンスダッシュボードFirebaseコンソールで、その後、ダッシュボード]タブをクリックします。空のメトリックカードをクリックしてから、既存のメトリックを選択してボードに追加します。クリック交換またはメトリックを削除するように、より多くのオプションのための人口メトリックカードに。

メトリックボードには、収集されたメトリックデータが、グラフ形式と数値のパーセンテージ変化の両方で表示されます。

詳細情報ダッシュボードを使用しました

トレースとそのデータを表示する

行き、自分の痕跡を表示するには、パフォーマンスダッシュボードトレース台までスクロールダウンし、Firebaseコンソールでは、その後、該当するサブタブをクリックします。この表には、各トレースの上位のメトリックがいくつか表示され、特定のメトリックの変化率でリストを並べ替えることもできます。

トレーステーブルでトレース名をクリックすると、さまざまな画面をクリックしてトレースを探索し、対象のメトリックにドリルダウンできます。ほとんどのページ上では、フィルターを使用することができます 、たとえば、属性によりデータをフィルタリングする(画面の左上)ボタンを:

属性でフィルタリングされているFirebasePerformanceMonitoringデータの画像
  • 過去のリリースや最新のリリースについてのデータを表示するには、アプリのバージョンによる絞り込み
  • 古いデバイスアプリを扱う方法については、デバイスによるフィルタ
  • データベースの場所が特定の地域に影響を与えていないことを確認するためのフィルタは国によって

詳細はこちらあなたのトレースのデータを表示します

次のステップ

  • 詳細レポート表示のユーザーセッションは、同じセッション中に収集された他のトレースのタイムラインコンテキストで特定のトレースを見ることができているが。