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を使用して、カスタムコードトレースの開始と終了を定義します。、彼らが作成されてきた後に、カスタムコードトレースはいつでも開始することができ、そして、彼らは、スレッドセーフです。

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

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

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

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

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

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

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

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

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

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

カスタムコードトレースを開始および停止するには、トレースするコードを次のようなコード行でラップします。

Webバージョン9

import { trace } from "firebase/performance";

const t = trace(perf, "CUSTOM_TRACE_NAME");
t.start();

// Code that you want to trace 
// ...

t.stop();

Webバージョン8

const trace = perf.trace("CUSTOM_TRACE_NAME");
trace.start();

// Code that you want to trace 
// ...

trace.stop();

User TimingAPIを使用してカスタムコードトレースを追加する

トレースAPIの監視、パフォーマンスに加えて、あなたは、ブラウザのネイティブ使用してカスタムコードのトレースを追加することができ、ユーザーのタイミングAPIを。このAPIを使用して測定されたトレースの期間は、Performance MonitoringSDKによって自動的に取得されます。 User Timing APIの使用は、Performance MonitoringSDKを非同期でロードする場合に特に役立ちます。 SDKが初期化されると、SDKはロード前に発生した測定値を記録します。

この機能を使用するには、トレースするコードをユーザータイミングマークでラップします。

Webバージョン9

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

Webバージョン8

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

ことを注意performance上の例では、ブラウザのを指しwindow.performanceオブジェクト。

User Timing APIを使用する場合、カスタムメトリックと属性をカスタムコードトレースに追加することはできません。使用トレースAPIを監視するパフォーマンスのカスタムコードのトレースにこれらのカスタム要素を追加したい場合。

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

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

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

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

カスタムメトリックを追加するには、イベントが発生するたびに、次のようなコード行を追加します。たとえば、このカスタムメトリックは、アプリで発生するパフォーマンス関連のイベントをカウントします。

Webバージョン9

import { trace } from "firebase/performance";

async function getInventory(inventoryIds) {
  const t = trace(perf, "inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  t.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  t.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  t.stop();

  return inventoryData;
}

Webバージョン8

async function getInventory(inventoryIds) {
  const trace = perf.trace("inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  trace.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  trace.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  trace.stop();

  return inventoryData;
}

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

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

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

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

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

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

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

    このガイドラインの詳細

Webバージョン9

import { trace } from "firebase/performance";

const t = trace(perf, "test_trace");
t.putAttribute("experiment", "A");

// Update scenario
t.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = t.getAttribute("experiment");

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

// Read attributes
const traceAttributes = t.getAttributes();

Webバージョン8

const trace = perf.trace("test_trace");
trace.putAttribute("experiment", "A");

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

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

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

// Read attributes
const traceAttributes = trace.getAttributes();

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

リアルタイムのパフォーマンスデータを表示するには、アプリがリアルタイムのデータ処理と互換性のあるPerformance MonitoringSDKバージョンを使用していることを確認してください。詳細情報

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

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

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

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

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

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

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

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

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

属性でフィルタリングされているFirebasePerformanceMonitoringデータの画像
  • あなたのサイトの特定のページのデータを表示するページのURLによるフィルタ
  • どのように3G接続への影響のアプリ学ぶための効果的な接続形式による絞り込み
  • データベースの場所が特定の地域に影響を与えていないことを確認するためのフィルタは国によって

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

次のステップ