Esquema de registro para los datos exportados en Cloud Logging

En esta página, se proporciona el esquema de registro para los datos exportados de Crashlytics y de sesiones de Firebase en Cloud Logging.



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: projects/{project}/apps/{app_id}/events/{event}.

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: com.mycompany.myapp.

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 payload. La carga útil puede ser un registro de Crashlytics o una ruta de navegación. payload solo puede ser una de las siguientes opciones:

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" }.