En esta página, se proporciona el esquema de registro para los datos exportados de Crashlytics y de sesiones de Firebase en Cloud Logging.
Esquema de sesiones de Firebase (si los datos de sesiones están habilitados para la exportación)
Crashlytics esquema
Event
Es el mensaje que describe un solo evento de Crashlytics.
Representación 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
}
| Campos | Descripción |
|---|---|
name |
string
Obligatorio. Solo salida.
Inmutable. Es el identificador. Es el nombre del recurso de evento. Formato:
|
platform |
string
Plataforma para dispositivos móviles (iOS o Android). |
bundleOrPackage |
string
Es el nombre del paquete de las apps para Android o el nombre del conjunto de las apps para iOS.
Formato: |
eventId |
string
Solo salida. Inmutable. El identificador único de evento se asigna durante el procesamiento. |
sessionId |
string
Es el identificador único de la sesión de Firebase. |
eventTime |
string (Timestamp format)
Es la marca de tiempo de dispositivo en la que se registró el evento. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30". |
receivedTime |
string (Timestamp format)
Es la marca de tiempo de servidor en la que Crashlytics recibió el evento. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30". |
issue |
object (Issue)
Son los detalles del [Issue] asignado a este [Event]. |
issueVariant |
object (IssueVariant)
Son los detalles del [IssueVariant] asignado a este [Event]. |
device |
object (Device)
Son los metadatos del dispositivo móvil. |
memory |
object (Memory)
Indica el uso de memoria del dispositivo móvil |
storage |
object (Storage)
Indica el uso de disco o memoria flash del dispositivo móvil. |
operatingSystem |
object (OperatingSystem)
Indica el sistema operativo y la versión. |
browser |
object (Browser)
Indica el navegador y la versión |
version |
object (Version)
Es la versión de la aplicación para dispositivos móviles. |
user |
object (User)
Son los identificadores de usuario final para el propietario del dispositivo. |
customKeys |
map (key: string, value: string)
Son las claves personalizadas que establece el desarrollador durante la sesión. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
installationUuid |
string
Es el identificador único de la instalación de la app en el dispositivo. Este campo se usa para calcular la cantidad única de usuarios afectados. |
crashlyticsSdkVersion |
string
Es la versión del SDK de Crashlytics. |
appOrientation |
string
Indica la orientación de la app en el momento de la falla (vertical u horizontal). |
deviceOrientation |
string
Indica la orientación del dispositivo en el momento del accidente (vertical u horizontal). |
logs[] |
object (Log)
Son los mensajes de registro que registró el desarrollador durante la sesión. |
breadcrumbs[] |
object (Breadcrumb)
Son los eventos de análisis que registró el SDK de Analytics durante la sesión. |
blameFrame |
object (Frame)
Es el marco del seguimiento de pila al que el procesamiento de Crashlytics le atribuye el error. Es posible que no esté presente en el analizador futuro. |
exceptions[] |
object (Exception)
Solo para Android. Indica las excepciones que ocurrieron durante este evento. Las excepciones anidadas se presentan en orden cronológico inverso, de modo que el último registro es la primera excepción que se arroja. |
errors[] |
object (Error)
Solo para Apple. Es un error recuperable que capturó el SDK de iOS y su seguimiento de pila. |
threads[] |
object (Thread)
Son los subprocesos de la aplicación presentes en el momento en que se registró el evento. Cada uno contiene un seguimiento de pila. Se le atribuirá el error a un subproceso. |
processState |
string
Es el estado del proceso de la app en el momento del evento. |
issueTitle |
string
Es el título del problema en el que se agrupó el evento. Por lo general, se trata de un nombre de archivo o método de origen. |
issueSubtitle |
string
Es el subtítulo del problema en el que se agrupó el evento. Por lo general, se trata de un símbolo o un mensaje de excepción. |
buildStamp |
string
Son los metadatos proporcionados por el sistema de compilación de la app, incluida la información del repositorio de control de versiones. |
Memory
Indica el uso de memoria del dispositivo móvil
Representación JSON
{
"used": string,
"free": string
}
| Campos | Descripción |
|---|---|
used |
string (int64 format)
Indica los bytes en uso. |
free |
string (int64 format)
Indica los bytes sin usar. |
Storage
Indica el uso de disco o memoria flash del dispositivo móvil. No se registra en todos los dispositivos.
Representación JSON
{
"used": string,
"free": string
}
| Campos | Descripción |
|---|---|
used |
string (int64 format)
Indica los bytes utilizados. |
free |
string (int64 format)
Indica los bytes sin usar. |
User
Son identificadores de usuario final proporcionados por el desarrollador.
Representación JSON
{
"id": string
}
| Campos | Descripción |
|---|---|
id |
string
Es el ID de usuario si lo proporciona el desarrollador de la app. |
Frame
Es un marco en un seguimiento de pila.
Representación JSON
{
"line": string,
"file": string,
"symbol": string,
"offset": string,
"address": string,
"library": string,
"owner": string,
"blamed": boolean
}
| Campos | Descripción |
|---|---|
line |
string (int64 format)
Es el número de línea del archivo del marco. |
file |
string
Es el nombre del archivo fuente en el que se encuentra el marco. |
symbol |
string
Indica el símbolo del marco después de que se desofuscó o simbolizó. Indica el símbolo sin procesar del dispositivo si no se pudo hidratar. |
offset |
string (int64 format)
Indica el desplazamiento de bytes hacia la imagen binaria que contiene el código. Está presente para los marcos nativos. |
address |
string (int64 format)
Indica la dirección en la imagen binaria que contiene el código. Está presente para los marcos nativos. |
library |
string
Es el nombre visible de la biblioteca que contiene el marco. |
owner |
string
Puede ser DEVELOPER, VENDOR, RUNTIME, PLATFORM o SYSTEM. |
blamed |
boolean
Es verdadero cuando el análisis de Crashlytics determina que es probable que este marco sea la causa del error. |
Exception
Excepción de Java y su seguimiento de pila, solo de apps para Android.
Representación JSON
{
"type": string,
"exceptionMessage": string,
"nested": boolean,
"title": string,
"subtitle": string,
"blamed": boolean,
"frames": [
{
object (Frame)
}
]
}
| Campos | Descripción |
|---|---|
type |
string
Es el tipo de excepción, p. ej., java.lang.IllegalStateException. |
exceptionMessage |
string
Es un mensaje asociado a la excepción. |
nested |
boolean
Es verdadero para todas las excepciones, menos la última que se arroja (es decir, el primer registro). |
title |
string
Es el título de la excepción. |
subtitle |
string
Es el subtítulo de la excepción. |
blamed |
boolean
Es verdadero cuando el análisis de Crashlytics determina que este subproceso es donde se produjo la falla. |
frames[] |
object (Frame)
Son los marcos del seguimiento de pila de la excepción. |
Error
Es un error recuperable y su seguimiento de pila, solo de las apps para Apple.
Representación JSON
{
"queue": string,
"code": string,
"title": string,
"subtitle": string,
"blamed": boolean,
"frames": [
{
object (Frame)
}
]
}
| Campos | Descripción |
|---|---|
queue |
string
Es la cola en la que se ejecutaba el subproceso. |
code |
string (int64 format)
Es el código de error asociado al NSError personalizado y registrado de la app. |
title |
string
Es el título del error. |
subtitle |
string
Es el subtítulo del error. |
blamed |
boolean
Es verdadero cuando el análisis de Crashlytics determina que el seguimiento de pila de este error es donde se produjo la falla. |
frames[] |
object (Frame)
Son los marcos del seguimiento de pila del error. |
Thread
Es un subproceso de la aplicación.
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)
}
| Campos | Descripción |
|---|---|
crashed |
boolean
Es verdadero cuando el subproceso falló. |
name |
string
Es el nombre del subproceso. |
queue |
string
Es la cola en la que se ejecutaba el subproceso. |
signal |
string
Es el nombre de la señal que provocó la falla en la app. Solo presente en los subprocesos nativos con fallas. |
signalCode |
string
Es el código de la señal que provocó la falla en la app. Solo presente en los subprocesos nativos con fallas. |
crashAddress |
string (int64 format)
Es la dirección de la señal que provocó la falla en la app. Solo presente en los subprocesos nativos con fallas. |
title |
string
Es el título del subproceso. |
subtitle |
string
Es el subtítulo del subproceso. |
blamed |
boolean
Es verdadero cuando el análisis de Crashlytics determina que el seguimiento de pila de este subproceso es donde se produjo la falla. |
frames[] |
object (Frame)
Son los marcos del seguimiento de pila del subproceso. |
threadId |
string (int64 format)
Es el ID del subproceso, solo disponible para los subprocesos de ANR. |
sysThreadId |
string (int64 format)
Es el ID de sistema del subproceso, solo disponible para los subprocesos de ANR. |
threadState |
enum (State)
Solo salida. Es el estado del subproceso en el momento en que se produjo el error de ANR. |
State
Es el estado de un subproceso cuando se produjo el error de ANR.
| Enums | Descripción |
|---|---|
STATE_UNSPECIFIED |
No se especificó el estado del subproceso. |
THREAD_STATE_TERMINATED |
Se finalizó el subproceso. |
THREAD_STATE_RUNNABLE |
El subproceso se podía ejecutar. |
THREAD_STATE_TIMED_WAITING |
El subproceso estaba esperando con un tiempo de espera. |
THREAD_STATE_BLOCKED |
Se bloqueó el subproceso. |
THREAD_STATE_WAITING |
El subproceso estaba en espera. |
THREAD_STATE_NEW |
Se inició el subproceso, pero aún no se ejecutó nada. |
THREAD_STATE_NATIVE_RUNNABLE |
El subproceso era nativo y no pudimos determinar de forma heurística que estaba en espera, por lo que suponemos que se puede ejecutar. |
THREAD_STATE_NATIVE_WAITING |
Determinamos de forma heurística que el subproceso está en espera. |
Esquema de sesiones de Firebase
FirebaseSessionEvent
Son las sesiones que registra el SDK de las sesiones de calidad de la app de Firebase.
Representación JSON
{
"sessionId": string,
"eventType": enum (SessionEventType),
"firstSessionId": string,
"sessionIndex": integer,
"firebaseInstallationId": string,
"eventTime": string,
"version": {
object (Version)
},
"device": {
object (Device)
},
"operatingSystem": {
object (OperatingSystem)
}
}
| Campos | Descripción |
|---|---|
sessionId |
string
Es el identificador único de la sesión de Firebase. |
eventType |
enum (SessionEventType)
Es el tipo de evento de sesión. Por el momento, el SDK solo admite eventos SESSION_START. |
firstSessionId |
string
Es el identificador de la primera sesión desde el último inicio en frío. Este ID y sessionId serán los mismos para los inicios de la app. |
sessionIndex |
integer
Indica la cantidad de sesiones desde el último inicio en frío. |
firebaseInstallationId |
string
Identifica de forma única un dispositivo con apps de Firebase instaladas. |
eventTime |
string (Timestamp format)
Es la marca de tiempo de inicio del evento de sesión. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30". |
version |
object (Version)
Son los números de versión de la aplicación para dispositivos móviles. |
device |
object (Device)
Son los metadatos del dispositivo móvil. |
operatingSystem |
object (OperatingSystem)
Indica el sistema operativo y la versión. |
SessionEventType
Son los tipos de SessionEvent que se registran.
| Enums | Descripción |
|---|---|
SESSION_EVENT_TYPE_UNKNOWN |
Desconocido. |
SESSION_START |
Se inició la sesión de la aplicación. |
Esquema de registro del dispositivo
DeviceLog
Representa la estructura de las entradas de deviceLog.
Representación 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.
}
| Campos | Descripción |
|---|---|
eventId |
string
Solo salida. Inmutable. Es el identificador del evento con el que se asocia este objeto. |
sessionId |
string
Es el identificador único de la sesión de Firebase. |
Campo de unión |
|
log |
object (Log)
Es un registro de Crashlytics. |
breadcrumb |
object (Breadcrumb)
Es una ruta de navegación de Crashlytics. |
Log
Son las líneas de registro proporcionadas por el desarrollador que se registraron durante la sesión.
Representación JSON
{
"logTime": string,
"message": string
}
| Campos | Descripción |
|---|---|
logTime |
string (Timestamp format)
Es la marca de tiempo de dispositivo cuando se registró la línea. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30". |
message |
string
Mensaje del registro. |
Breadcrumb
Son los eventos de análisis que se registraron durante la sesión.
Representación JSON
{
"eventTime": string,
"title": string,
"params": {
string: string,
...
}
}
| Campos | Descripción |
|---|---|
eventTime |
string (Timestamp format)
Es la marca de tiempo de dispositivo para el evento. Usa el formato RFC 3339, en el que el resultado generado siempre usará la normalización Z y los dígitos fraccionarios 0, 3, 6 o 9. También se aceptan otras compensaciones que no sean "Z". Ejemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" o "2014-10-02T15:01:23+05:30". |
title |
string
Es el nombre del evento de análisis. |
params |
map (key: string, value: string)
Parámetros de evento. Un objeto que contiene una lista de pares "clave": valor. Ejemplo: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |