Cloud Logging にエクスポートされたデータのログスキーマ

このページでは、Cloud Logging でエクスポートされた Crashlytics データと Firebase セッション データのログスキーマについて説明します。



Crashlytics 個のスキーマ

Event

単一の Crashlytics イベントを説明するメッセージ。

JSON 表現

{
  "name": string,
  "platform": string,
  "bundleOrPackage": string,
  "eventId": string,
  "sessionId": string,
  "eventTime": string,
  "receivedTime": string,
  "issue": {
    object (Issue)
  },
  "issueVariant": {
    object (IssueVariant)
  },
  "device": {
    object (Device)
  },
  "memory": {
    object (Memory)
  },
  "storage": {
    object (Storage)
  },
  "operatingSystem": {
    object (OperatingSystem)
  },
  "browser": {
    object (Browser)
  },
  "version": {
    object (Version)
  },
  "user": {
    object (User)
  },
  "customKeys": {
    string: string,
    ...
  },
  "installationUuid": string,
  "crashlyticsSdkVersion": string,
  "appOrientation": string,
  "deviceOrientation": string,
  "logs": [
    {
      object (Log)
    }
  ],
  "breadcrumbs": [
    {
      object (Breadcrumb)
    }
  ],
  "blameFrame": {
    object (Frame)
  },
  "exceptions": [
    {
      object (Exception)
    }
  ],
  "errors": [
    {
      object (Error)
    }
  ],
  "threads": [
    {
      object (Thread)
    }
  ],
  "processState": string,
  "issueTitle": string,
  "issueSubtitle": string,
  "buildStamp": string
}
フィールド 説明
name string

必須。出力のみ。変更不可。識別子。イベント リソースの名前。形式: projects/{project}/apps/{app_id}/events/{event}

platform string

モバイル プラットフォーム(Android または iOS)。

bundleOrPackage string

iOS アプリのバンドル名または Android アプリのパッケージ名。形式: com.mycompany.myapp

eventId string

出力のみ。変更不可。一意のイベント識別子は処理中に割り当てられます。

sessionId string

Firebase セッションの一意の識別子。

eventTime string (Timestamp format)

イベントが記録されたデバイスのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: 2014-10-02T15:01:23Z、2014-10-02T15:01:23.045123456Z、2014-10-02T15:01:23+05:30。

receivedTime string (Timestamp format)

イベントが Crashlytics で受信されたサーバーのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: 2014-10-02T15:01:23Z、2014-10-02T15:01:23.045123456Z、2014-10-02T15:01:23+05:30。

issue object (Issue)

この [イベント] に割り当てられた [問題] の詳細。

issueVariant object (IssueVariant)

この [Event] に割り当てられた [IssueVariant] の詳細。

device object (Device)

モバイル デバイスのメタデータ。

memory object (Memory)

モバイル デバイスのメモリ使用量。

storage object (Storage)

モバイル デバイスのディスク/フラッシュの使用量。

operatingSystem object (OperatingSystem)

オペレーティング システムとバージョンです。

browser object (Browser)

ブラウザとバージョンです。

version object (Version)

モバイル アプリケーションのバージョン。

user object (User)

デバイス所有者のエンドユーザー識別子。

customKeys map (key: string, value: string)

セッション中にデベロッパーが設定したカスタムキー。

"key": value ペアのリストが含まれるオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }。

installationUuid string

デバイスアプリのインストールの固有識別子。このフィールドは、影響を受けたユニーク ユーザー数を計算するために使用されます。

crashlyticsSdkVersion string

Crashlytics SDK のバージョン。

appOrientation string

クラッシュ時のアプリの向き(縦向きまたは横向き)。

deviceOrientation string

クラッシュ発生時のデバイスの向き(縦向きまたは横向き)。

logs[] object (Log)

セッション中にデベロッパーによって記録されたログ メッセージ。

breadcrumbs[] object (Breadcrumb)

セッション中にアナリティクス SDK によって記録されたアナリティクス イベント。

blameFrame object (Frame)

Crashlytics 処理によって原因とされたスタック トレース フレーム。将来のアナライザでは存在しない可能性があります。

exceptions[] object (Exception)

Android のみ。このイベントで発生した例外。ネストされている例外は発生順と逆に表示されます。つまり、最後のレコードが最初にスローされた例外です。

errors[] object (Error)

Apple のみ。iOS SDK によってキャプチャされた非致命的なエラーとそのスタック トレース。

threads[] object (Thread)

イベントが記録されたときに存在していたアプリのスレッド。 それぞれにスタック トレースが含まれています。エラーの原因は 1 つのスレッドになります。

processState string

イベント発生時のアプリ プロセスの状態。

issueTitle string

イベントがグループ化された問題のタイトル。通常は、ソースファイルまたはメソッド名です。

issueSubtitle string

イベントがグループ化された号のサブタイトル。通常は、シンボルまたは例外メッセージです。

buildStamp string

バージョン管理リポジトリ情報など、アプリのビルドシステムによって提供されるメタデータ。

Memory

モバイル デバイスのメモリ使用量。

JSON 表現

{
  "used": string,
  "free": string
}
フィールド 説明
used string (int64 format)

使用中のバイト数。

free string (int64 format)

空きバイト数。

Storage

モバイル デバイスのディスク/フラッシュの使用量。すべてのデバイスで報告されるわけではありません。

JSON 表現

{
  "used": string,
  "free": string
}
フィールド 説明
used string (int64 format)

使用済みバイト数。

free string (int64 format)

空きバイト数。

User

デベロッパーが提供するエンドユーザー識別子。

JSON 表現

{
  "id": string
}
フィールド 説明
id string

アプリ デベロッパーから提供された場合はユーザー ID。

Frame

スタック トレース内のフレーム。

JSON 表現

{
  "line": string,
  "file": string,
  "symbol": string,
  "offset": string,
  "address": string,
  "library": string,
  "owner": string,
  "blamed": boolean
}
フィールド 説明
line string (int64 format)

フレームのファイル内の行番号。

file string

フレームが見つかったソースファイルの名前。

symbol string

難読化解除またはシンボリケーション後のフレーム シンボル。ハイドレードできなかった場合は、デバイスからの未加工のシンボル。

offset string (int64 format)

コードを含むバイナリ イメージへのバイト オフセット。ネイティブ フレームの Present。

address string (int64 format)

コードを含むバイナリ イメージ内のアドレス。ネイティブ フレームのプレゼンテーション。

library string

フレームを含むライブラリの表示名。

owner string

DEVELOPER、VENDOR、RUNTIME、PLATFORM、SYSTEM のいずれか。

blamed boolean

Crashlytics の分析で、このフレームがエラーの原因である可能性が高いと判断された場合は true。

Exception

Java 例外とそのスタック トレース(Android アプリのみ)。

JSON 表現

{
  "type": string,
  "exceptionMessage": string,
  "nested": boolean,
  "title": string,
  "subtitle": string,
  "blamed": boolean,
  "frames": [
    {
      object (Frame)
    }
  ]
}
フィールド 説明
type string

例外タイプ(例: java.lang.IllegalStateException)。

exceptionMessage string

例外に関連付けられたメッセージ。

nested boolean

最後にスローされた例外を除くすべて(すなわち、最初のレコード)の場合は true。

title string

例外のタイトル。

subtitle string

例外のサブタイトル。

blamed boolean

Crashlytics の分析で、このスレッドが障害の発生場所と判断された場合は true。

frames[] object (Frame)

例外のスタック トレース内のフレーム。

Error

Apple アプリのみの非致命的エラーとそのスタック トレース。

JSON 表現

{
  "queue": string,
  "code": string,
  "title": string,
  "subtitle": string,
  "blamed": boolean,
  "frames": [
    {
      object (Frame)
    }
  ]
}
フィールド 説明
queue string

スレッドが実行されていたキュー。

code string (int64 format)

アプリのカスタムログに記録された NSError に関連するエラーコード。

title string

エラーのタイトル。

subtitle string

エラーのサブタイトル。

blamed boolean

このエラーのスタック トレースで障害が発生したと Crashlytics の分析で判断された場合は true。

frames[] object (Frame)

エラーのスタック トレースのフレーム。

Thread

アプリケーション スレッド。

JSON representation</code></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code>{
  "crashed": boolean,
  "name": string,
  "queue": string,
  "signal": string,
  "signalCode": string,
  "crashAddress": string,
  "title": string,
  "subtitle": string,
  "blamed": boolean,
  "frames": [
    {
      object (Frame)
    }
  ],
  "threadId": string,
  "sysThreadId": string,
  "threadState": enum (State)
}
フィールド 説明
crashed boolean

スレッドがクラッシュした場合は true。

name string

スレッドの名前。

queue string

スレッドが実行されていたキュー。

signal string

アプリをクラッシュさせたシグナルの名前。クラッシュしたネイティブ スレッドにのみ存在します。

signalCode string

アプリをクラッシュさせたシグナルのコード。クラッシュしたネイティブ スレッドにのみ存在します。

crashAddress string (int64 format)

アプリケーションをクラッシュさせたシグナルのアドレス。クラッシュしたネイティブ スレッドにのみ存在します。

title string

スレッドのタイトル。

subtitle string

スレッドのサブタイトル。

blamed boolean

Crashlytics の分析で、このスレッドのスタック トレースが障害の発生場所と判断された場合は true。

frames[] object (Frame)

スレッドのスタック トレース内のフレーム。

threadId string (int64 format)

スレッドの ID。ANR スレッドでのみ使用できます。

sysThreadId string (int64 format)

スレッドのシステム ID。ANR スレッドでのみ使用できます。

threadState enum (State)

出力のみ。ANR 発生時のスレッドの状態。

State

ANR 発生時のスレッドの状態。

列挙型 説明
STATE_UNSPECIFIED

スレッドの状態が指定されていません。

THREAD_STATE_TERMINATED

スレッドが終了しました。

THREAD_STATE_RUNNABLE

スレッドは実行可能でした。

THREAD_STATE_TIMED_WAITING

スレッドがタイムアウトで待機していました。

THREAD_STATE_BLOCKED

スレッドがブロックされました。

THREAD_STATE_WAITING

スレッドが待機中でした。

THREAD_STATE_NEW

スレッドが開始されましたが、まだ何も実行されていません。

THREAD_STATE_NATIVE_RUNNABLE

スレッドはネイティブであり、待機中であることをヒューリスティックに判断できなかったため、実行可能と見なします。

THREAD_STATE_NATIVE_WAITING

ヒューリスティックに、スレッドが待機中であると判断しました。



Firebase セッションのスキーマ

FirebaseSessionEvent

Firebase App Quality Sessions SDK によって記録されたセッション。

JSON 表現

{
  "sessionId": string,
  "eventType": enum (SessionEventType),
  "firstSessionId": string,
  "sessionIndex": integer,
  "firebaseInstallationId": string,
  "eventTime": string,
  "version": {
    object (Version)
  },
  "device": {
    object (Device)
  },
  "operatingSystem": {
    object (OperatingSystem)
  }
}
フィールド 説明
sessionId string

Firebase セッションの一意の識別子。

eventType enum (SessionEventType)

セッション イベントのタイプ。現時点では、SDK は SESSION_START イベントのみをサポートしています。

firstSessionId string

前回のコールド スタート以降の最初のセッションの識別子。この ID と sessionId は、アプリの起動では同じになります。

sessionIndex integer

前回のコールド スタート以降のセッション数を示します。

firebaseInstallationId string

Firebase アプリがインストールされているデバイスを一意に識別します。

eventTime string (Timestamp format)

セッション イベントの開始タイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: 2014-10-02T15:01:23Z、2014-10-02T15:01:23.045123456Z、2014-10-02T15:01:23+05:30。

version object (Version)

モバイル アプリケーションのバージョン番号。

device object (Device)

モバイル デバイスのメタデータ。

operatingSystem object (OperatingSystem)

オペレーティング システムとバージョンです。

SessionEventType

記録される SessionEvent のタイプ。

列挙型 説明
SESSION_EVENT_TYPE_UNKNOWN

不明。

SESSION_START

アプリケーション セッションが開始されました。



デバイスログのスキーマ

DeviceLog

deviceLog エントリの構造を表します。

JSON 表現

{
  "eventId": string,
  "sessionId": string,

  // Union field payload can be only one of the following:
  "log": {
    object (Log)
  },
  "breadcrumb": {
    object (Breadcrumb)
  }
  // End of list of possible types for union field payload.
}
フィールド 説明
eventId string

出力のみ。変更不可。これに関連付けられているイベントの識別子。

sessionId string

Firebase セッションの一意の識別子。

共用体フィールド payload。ペイロードは Crashlytics ログまたはパンくずリストのいずれかです。payload は次のいずれかになります。

log object (Log)

Crashlytics ログ。

breadcrumb object (Breadcrumb)

Crashlytics のパンくずリスト。

Log

セッション中に記録されたデベロッパー提供のログ行。

JSON 表現

{
  "logTime": string,
  "message": string
}
フィールド 説明
logTime string (Timestamp format)

行がログに記録されたときのデバイスのタイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: 「2014-10-02T15:01:23Z」、「2014-10-02T15:01:23.045123456Z」、「2014-10-02T15:01:23+05:30」。

message string

ログ メッセージ。

Breadcrumb

セッション中に記録されたアナリティクス イベント。

JSON 表現

{
  "eventTime": string,
  "title": string,
  "params": {
    string: string,
    ...
  }
}
フィールド 説明
eventTime string (Timestamp format)

イベントのデバイス タイムスタンプ。

RFC 3339 を使用します。生成された出力は常に Z 正規化され、小数点以下は 0、3、6、または 9 桁になります。「Z」以外のオフセットも使用できます。例: 「2014-10-02T15:01:23Z」、「2014-10-02T15:01:23.045123456Z」、「2014-10-02T15:01:23+05:30」。

title string

分析イベント名。

params map (key: string, value: string)

イベント パラメータ。

"key": value ペアのリストを含むオブジェクト。例: { "name": "wrench", "mass": "1.3kg", "count": "3" }。