This page provides the log schema for exported Crashlytics data and Firebase sessions data in Cloud Logging.
Firebase sessions schema (if sessions data is enabled for export)
Crashlytics schema
Event
The message describing a single Crashlytics event.
JSON representation
{
"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
}
| Fields | Description |
|---|---|
name |
string
Required. Output only.
Immutable. Identifier. The name of
the event resource. Format:
|
platform |
string
Mobile platform (Android or iOS). |
bundleOrPackage |
string
The bundle name for iOS apps or the package name of Android apps.
Format: |
eventId |
string
Output only. Immutable. The unique event identifier is assigned during processing. |
sessionId |
string
Unique identifier for the Firebase session. |
eventTime |
string (Timestamp format)
Device timestamp at which the event was recorded. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30". |
receivedTime |
string (Timestamp format)
Server timestamp at which the event was received by Crashlytics. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30". |
issue |
object (Issue)
Details for the [Issue] assigned to this [Event]. |
issueVariant |
object (IssueVariant)
Details for the [IssueVariant] assigned to this [Event]. |
device |
object (Device)
Mobile device metadata. |
memory |
object (Memory)
Mobile device memory usage. |
storage |
object (Storage)
Mobile device disk/flash usage. |
operatingSystem |
object (OperatingSystem)
Operating system and version. |
browser |
object (Browser)
Browser and version. |
version |
object (Version)
Mobile application version. |
user |
object (User)
End user identifiers for the device owner. |
customKeys |
map (key: string, value: string)
Custom keys set by the developer during the session. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
installationUuid |
string
Unique identifier for the device-app installation. This field is used to compute the unique number of impacted users. |
crashlyticsSdkVersion |
string
Crashlytics SDK version. |
appOrientation |
string
App orientation at the time of the crash (portrait or landscape). |
deviceOrientation |
string
Device orientation at the time of the crash (portrait or landscape). |
logs[] |
object (Log)
Log messages recorded by the developer during the session. |
breadcrumbs[] |
object (Breadcrumb)
Analytics events recorded by the analytics SDK during the session. |
blameFrame |
object (Frame)
The stack trace frame blamed by Crashlytics processing. May not be present in future analyzer. |
exceptions[] |
object (Exception)
Android only. Exceptions that occurred during this event. Nested exceptions are presented in reverse chronological order, so that the last record is the first exception thrown. |
errors[] |
object (Error)
Apple only. A non-fatal error captured by the iOS SDK and its stacktrace. |
threads[] |
object (Thread)
Application threads present at the time the event was recorded. Each contains a stacktrace. One thread will be blamed for the error. |
processState |
string
The state of the app process at the time of the event. |
issueTitle |
string
The title of the issue in which the event was grouped. This is usually a source file or method name. |
issueSubtitle |
string
The subtitle of the issue in which the event was grouped. This is usually a symbol or an exception message. |
buildStamp |
string
Metadata provided by the app's build system, including version control repository info. |
Memory
Mobile device memory usage.
JSON representation
{
"used": string,
"free": string
}
| Fields | Description |
|---|---|
used |
string (int64 format)
Bytes in use. |
free |
string (int64 format)
Bytes free. |
Storage
Mobile device disk/flash usage. Not reported for all devices.
JSON representation
{
"used": string,
"free": string
}
| Fields | Description |
|---|---|
used |
string (int64 format)
Bytes used. |
free |
string (int64 format)
Bytes free. |
User
Developer-provided end user identifiers.
JSON representation
{
"id": string
}
| Fields | Description |
|---|---|
id |
string
User id if provided by the app developer. |
Frame
A frame in a stacktrace.
JSON representation
{
"line": string,
"file": string,
"symbol": string,
"offset": string,
"address": string,
"library": string,
"owner": string,
"blamed": boolean
}
| Fields | Description |
|---|---|
line |
string (int64 format)
The line number in the file of the frame. |
file |
string
The name of the source file in which the frame is found. |
symbol |
string
The frame symbol after it has been deobfuscated or symbolicated. The raw symbol from the device if it could not be hydrated. |
offset |
string (int64 format)
The byte offset into the binary image that contains the code. Present for native frames. |
address |
string (int64 format)
The address in the binary image which contains the code. Present for native frames. |
library |
string
The display name of the library that includes the frame. |
owner |
string
One of DEVELOPER, VENDOR, RUNTIME, PLATFORM, or SYSTEM. |
blamed |
boolean
True when the Crashlytics analysis has determined that this frame is likely to be the cause of the error. |
Exception
A Java exception and its stacktrace, only from Android apps.
JSON representation
{
"type": string,
"exceptionMessage": string,
"nested": boolean,
"title": string,
"subtitle": string,
"blamed": boolean,
"frames": [
{
object (Frame)
}
]
}
| Fields | Description |
|---|---|
type |
string
The exception type e.g. java.lang.IllegalStateException. |
exceptionMessage |
string
A message associated with the exception. |
nested |
boolean
True for all but the last-thrown exception (i.e. the first record). |
title |
string
The title of the exception. |
subtitle |
string
The subtitle of the exception. |
blamed |
boolean
True when the Crashlytics analysis has determined that this thread is where the fault occurred. |
frames[] |
object (Frame)
The frames in the exception's stacktrace. |
Error
A non-fatal error and its stacktrace, only from Apple apps.
JSON representation
{
"queue": string,
"code": string,
"title": string,
"subtitle": string,
"blamed": boolean,
"frames": [
{
object (Frame)
}
]
}
| Fields | Description |
|---|---|
queue |
string
The queue on which the thread was running. |
code |
string (int64 format)
Error code associated with the app's custom logged NSError. |
title |
string
The title of the error. |
subtitle |
string
The subtitle of the error. |
blamed |
boolean
True when the Crashlytics analysis has determined that the stacktrace in this error is where the fault occurred. |
frames[] |
object (Frame)
The frames in the error's stacktrace. |
Thread
An application 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)
}
| Fields | Description |
|---|---|
crashed |
boolean
True when the thread has crashed. |
name |
string
The name of the thread. |
queue |
string
The queue on which the thread was running. |
signal |
string
The name of the signal that caused the app to crash. Only present on crashed native threads. |
signalCode |
string
The code of the signal that caused the app to crash. Only present on crashed native threads. |
crashAddress |
string (int64 format)
The address of the signal that caused the application to crash. Only present on crashed native threads. |
title |
string
The title of the thread. |
subtitle |
string
The subtitle of the thread. |
blamed |
boolean
True when the Crashlytics analysis has determined that the stacktrace in this thread is where the fault occurred. |
frames[] |
object (Frame)
The frames in the thread's stacktrace. |
threadId |
string (int64 format)
The id of the thread, only available for ANR threads. |
sysThreadId |
string (int64 format)
The system id of the thread, only available for ANR threads. |
threadState |
enum (State)
Output only. The state of the thread at the time the ANR occurred. |
State
The state of a thread when the ANR occurred.
| Enums | Description |
|---|---|
STATE_UNSPECIFIED |
Thread state unspecified. |
THREAD_STATE_TERMINATED |
Thread was terminated. |
THREAD_STATE_RUNNABLE |
Thread was runnable. |
THREAD_STATE_TIMED_WAITING |
Thread was waiting with a timeout. |
THREAD_STATE_BLOCKED |
Thread was blocked. |
THREAD_STATE_WAITING |
Thread was waiting. |
THREAD_STATE_NEW |
Thread was started, yet to run anything. |
THREAD_STATE_NATIVE_RUNNABLE |
The thread was native and we could not heuristically determine that it was was waiting, so assume it's runnable. |
THREAD_STATE_NATIVE_WAITING |
We heuristically determined that the thread is waiting. |
Firebase sessions schema
FirebaseSessionEvent
Sessions recorded by the Firebase App Quality Sessions SDK.
JSON representation
{
"sessionId": string,
"eventType": enum (SessionEventType),
"firstSessionId": string,
"sessionIndex": integer,
"firebaseInstallationId": string,
"eventTime": string,
"version": {
object (Version)
},
"device": {
object (Device)
},
"operatingSystem": {
object (OperatingSystem)
}
}
| Fields | Description |
|---|---|
sessionId |
string
Unique identifier for the Firebase session. |
eventType |
enum (SessionEventType)
Session event type. The SDK only supports SESSION_START events at this time. |
firstSessionId |
string
The identifier of the first session since the last cold start. This id and the sessionId will be the same for app launches. |
sessionIndex |
integer
Indicates the number of sessions since the last cold start. |
firebaseInstallationId |
string
Uniquely identifies a device with Firebase apps installed. |
eventTime |
string (Timestamp format)
The start timestamp for the session event. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30". |
version |
object (Version)
Mobile application version numbers. |
device |
object (Device)
Mobile device metadata. |
operatingSystem |
object (OperatingSystem)
Operating system and version. |
SessionEventType
Types of SessionEvent that are recorded.
| Enums | Description |
|---|---|
SESSION_EVENT_TYPE_UNKNOWN |
Unknown. |
SESSION_START |
Application session started. |
Device Log schema
DeviceLog
Represents the structure of the deviceLog entries.
JSON representation
{
"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.
}
| Fields | Description |
|---|---|
eventId |
string
Output only. Immutable. The identifier of the event to which this is associated. |
sessionId |
string
Unique identifier for the Firebase session. |
Union field |
|
log |
object (Log)
Crashlytics log. |
breadcrumb |
object (Breadcrumb)
Crashlytics breadcrumb. |
Log
Developer-provided log lines recorded during the session.
JSON representation
{
"logTime": string,
"message": string
}
| Fields | Description |
|---|---|
logTime |
string (Timestamp format)
Device timestamp when the line was logged. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30". |
message |
string
Log message. |
Breadcrumb
Analytics events recorded during the session.
JSON representation
{
"eventTime": string,
"title": string,
"params": {
string: string,
...
}
}
| Fields | Description |
|---|---|
eventTime |
string (Timestamp format)
Device timestamp for the event. Uses RFC 3339, where generated output will always be Z-normalized and use 0, 3, 6 or 9 fractional digits. Offsets other than "Z" are also accepted. Examples: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" or "2014-10-02T15:01:23+05:30". |
title |
string
Analytic event name. |
params |
map (key: string, value: string)
Event parameters. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |