Firebase Summit で発表されたすべての情報をご覧ください。Firebase を使用してアプリ開発を加速し、自信を持ってアプリを実行する方法を紹介しています。詳細

属性を使用してデータをフィルタリングする

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

Performance Monitoring では、属性を使用してパフォーマンス データをセグメント化し、実際のさまざまなシナリオでアプリのパフォーマンスに注目することができます。

トレース テーブル (パフォーマンスダッシュボードの下部にあります) でトレース名をクリックすると、関心のあるメトリックにドリルダウンできます。フィルターボタン (画面の左上) を使用して、属性別にデータをフィルター処理します。次に例を示します。

属性でフィルタリングされた Firebase Performance Monitoring データの画像

  • アプリのバージョンでフィルターして、過去のリリースまたは最新のリリースに関するデータを表示します
  • デバイスでフィルタリングして、古いデバイスがアプリをどのように処理するかを確認します
  • でフィルター処理して、データベースの場所が特定の地域に影響していないことを確認します

属性に基づくさらに強力な分析を行うには、パフォーマンス データを BigQuery にエクスポートします

デフォルト属性

Performance Monitoring は、トレースのタイプに応じてさまざまなデフォルト属性を自動的に収集します。

これらのデフォルト属性に加えて、カスタム コード トレースカスタム属性を作成して、アプリ固有のカテゴリ別にデータをセグメント化することもできます。たとえば、ゲームでは、ゲーム レベルごとにデータをセグメント化できます。

Apple および Android アプリのデフォルト属性

Apple および Android アプリのすべてのトレースは、デフォルトで次の属性を収集します。

  • アプリ版
  • OS レベル
  • デバイス
  • 無線
  • キャリア

さらに、ネットワーク リクエスト トレースは次の属性も収集します。

  • MIME タイプ

ユーザーデータの収集

カスタム属性を作成する

インストルメント化されたカスタム コード トレースのいずれかでカスタム属性を作成できます。

Performance Monitoring Trace APIを使用して、カスタム属性をカスタム コード トレースに追加します。

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

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

  • カスタム属性の名前は、次の要件を満たす必要があります。

    • 先頭または末尾の空白、先頭のアンダースコア ( _ ) 文字なし
    • 場所がない
    • 最大長は 32 文字です
    • 名前に使用できる文字は、 AZaz 、および_です。
  • 各カスタム コード トレースは、最大 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
}