Catch up on everything we announced at this year's Firebase Summit. Learn more

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

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

あなたが(下部のトレーステーブルにトレース名をクリックした後、パフォーマンスダッシュボード)、あなたはトレースを探求し、興味のあるメトリックにドリルダウンするために、様々な画面をクリックすることができます。ほとんどのページ上では、フィルターを使用することができます 、たとえば、属性によりデータをフィルタリングする(画面の左上)ボタンを:

属性でフィルタリングされているFirebasePerformanceMonitoringデータの画像

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

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

デフォルトの属性

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

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

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

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

  • アプリ版
  • OSレベル
  • 端末
  • 無線
  • キャリア

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

  • MIMEタイプ

ユーザーデータの収集

カスタム属性を作成する

あなたはインストルメントのいずれかでカスタム属性を作成することができますカスタムコードのトレース

トレースAPI(パフォーマンスの監視に使用スウィフト| OBJの-Cをカスタムコードのトレースにカスタム属性を追加します)。

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

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

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

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

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

    このガイドラインの詳細

迅速

注:このFirebase製品はMacOSの、マック触媒、watchOSターゲットでは使用できません。
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.setValue("A", forAttribute: "experiment")

// Update scenario.
trace.setValue("B", forAttribute: "experiment")

// Reading scenario.
let experimentValue:String? = trace.valueForAttribute("experiment")

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

// Read attributes.
let attributes:[String, String] = trace.attributes;

Objective-C

注:このFirebase製品はMacOSの、マック触媒、watchOSターゲットでは使用できません。
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace setValue:@"A" forAttribute:@"experiment"];

// Update scenario.
[trace setValue:@"B" forAttribute:@"experiment"];

// Reading scenario.
NSString *experimentValue = [trace valueForAttribute:@"experiment"];

// Delete scenario.
[trace removeAttribute:@"experiment"];

// Read attributes.
NSDictionary <NSString *, NSString *> *attributes = [trace attributes];