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. 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 ID del paquete de las apps para iOS.
Formato: |
eventId |
string
Solo salida. Inmutable. El identificador único del 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 del dispositivo en la que se registró el evento. Usa el formato RFC 3339, en el que el resultado generado siempre se normalizará con Z y usará 0, 3, 6 o 9 dígitos fraccionarios. 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 del servidor en la que Crashlytics recibió el evento. Usa el formato RFC 3339, en el que el resultado generado siempre se normalizará con Z y usará 0, 3, 6 o 9 dígitos fraccionarios. 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)
Uso de memoria del dispositivo móvil |
storage |
object (Storage)
Uso de disco o memoria flash del dispositivo móvil. |
operatingSystem |
object (OperatingSystem)
Indica el sistema operativo y la versión. |
browser |
object (Browser)
Navegador y versión |
version |
object (Version)
Es la versión de la aplicación para dispositivos móviles. |
user |
object (User)
Son los identificadores del 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
Versión del SDK de Crashlytics. |
appOrientation |
string
Orientación de la app en el momento de la falla (vertical u horizontal). |
deviceOrientation |
string
Orientación del dispositivo en el momento del accidente (vertical u horizontal). |
logs[] |
object (Log)
Son los mensajes de registro que grabó 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 de la pila de seguimiento al que el procesamiento de Crashlytics le atribuye el error. Es posible que no esté presente en el analizador futuro. |
exceptions[] |
object (Exception)
Solo puede hacerlo en Android. 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 lanza. |
errors[] |
object (Error)
Solo para Apple. Es un error recuperable que capturó el SDK de iOS y su registro de seguimiento. |
threads[] |
object (Thread)
Son los subprocesos de la aplicación presentes en el momento en que se registró el evento. Cada uno contiene un registro de seguimiento de pila. Se culpará a un subproceso por el error. |
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 fuente. |
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
Metadatos proporcionados por el sistema de compilación de la app, incluida la información del repositorio de control de versiones |
Memory
Uso de memoria del dispositivo móvil
Representación JSON
{
"used": string,
"free": string
}
| Campos | Descripción |
|---|---|
used |
string (int64 format)
Bytes en uso. |
free |
string (int64 format)
Bytes libres. |
Storage
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)
Bytes utilizados. |
free |
string (int64 format)
Bytes libres. |
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)
Número de línea en el archivo del fotograma. |
file |
string
Nombre del archivo fuente en el que se encuentra el fotograma. |
symbol |
string
Símbolo de fotograma después de que se desofuscó o simbolizó. El símbolo sin procesar del dispositivo si no se pudo procesar. |
offset |
string (int64 format)
Es el desplazamiento de bytes hacia la imagen binaria que contiene el código. Está presente para los fotogramas nativos. |
address |
string (int64 format)
Es la dirección en la imagen binaria que contiene el código. Presente para los fotogramas nativos. |
library |
string
Es el nombre visible de la biblioteca que incluye el fotograma. |
owner |
string
Puede ser DEVELOPER, VENDOR, RUNTIME, PLATFORM o SYSTEM. |
blamed |
boolean
Es verdadero cuando el análisis de Crashlytics determinó 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 con la excepción. |
nested |
boolean
Es verdadero para todas las excepciones, excepto la última que se lanza (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 determinó 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 de 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 con el 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 determinó 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 hilo de 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 del indicador que provocó la falla en la app. Solo está presente en los subprocesos nativos con fallas. |
signalCode |
string
Es el código del indicador que provocó la falla en la app. Solo está presente en los subprocesos nativos con fallas. |
crashAddress |
string (int64 format)
Es la dirección del indicador que provocó la falla en la aplicación. Solo está presente en los subprocesos nativos con fallas. |
title |
string
Es el título del hilo. |
subtitle |
string
Es el subtítulo del subproceso. |
blamed |
boolean
Es verdadero cuando el análisis de Crashlytics determinó que el seguimiento de pila en 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 del sistema del subproceso, solo disponible para los subprocesos de ANR. |
threadState |
enum (State)
Solo salida. 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 terminó la conversación. |
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ó la conversación. |
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 Firebase App Quality Sessions.
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 el ID de sesión 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 se normalizará con Z y usará 0, 3, 6 o 9 dígitos fraccionarios. 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
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. 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 un registro de 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 del dispositivo cuando se registró la línea. Usa el formato RFC 3339, en el que el resultado generado siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. 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 Analytics 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 del dispositivo para el evento. Usa el formato RFC 3339, en el que el resultado generado siempre se normaliza con Z y usa 0, 3, 6 o 9 dígitos fraccionarios. 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
Nombre del evento de Analytics. |
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" }. |