Схема логирования для экспортируемых данных в Cloud Logging

На этой странице представлена ​​схема логирования для экспортированных данных Crashlytics и данных сессий Firebase в Cloud Logging .



Схема 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)

Подробная информация о [Варианте выпуска], присвоенном этому [Событию].

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)

Пользовательские клавиши, установленные разработчиком во время сессии.

Объект, содержащий список пар "ключ": значение. Пример: { "имя": "ключ", "масса": "1,3 кг", "количество": "3" }.

installationUuid string

Уникальный идентификатор установки приложения на устройстве. Это поле используется для вычисления уникального количества затронутых пользователей.

crashlyticsSdkVersion string

Версия SDK Crashlytics.

appOrientation string

Ориентация приложения в момент сбоя (портретная или альбомная).

deviceOrientation string

Ориентация устройства в момент аварии (вертикальная или горизонтальная).

logs[] object (Log)

Сообщения журнала, записанные разработчиком во время сессии.

breadcrumbs[] object (Breadcrumb)

Аналитические события, регистрируемые SDK для аналитики во время сессии.

blameFrame object (Frame)

Кадр трассировки стека, признанный причиной ошибки в результате обработки Crashlytics. Возможно, он отсутствует в будущих версиях анализатора.

exceptions[] object (Exception)

Только для Android. Исключения, возникшие во время этого события. Вложенные исключения представлены в обратном хронологическом порядке, так что последняя запись соответствует первому выброшенному исключению.

errors[] object (Error)

Только для Apple. Некритическая ошибка, зафиксированная SDK iOS и отображенная в трассировке стека.

threads[] object (Thread)

Потоки приложения, присутствовавшие на момент регистрации события. Каждый поток содержит трассировку стека. Вину за ошибку возложат на один из потоков.

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

Идентификатор пользователя, если он предоставлен разработчиком приложения.

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)

Смещение в байтах в двоичном образе, содержащем код. Присутствует для нативных кадров.

address string (int64 format)

Адрес в двоичном образе, содержащий код. Присутствует для нативных кадров.

library string

Отображаемое имя библиотеки, в которую входит данный фрейм.

owner string

Один из вариантов: DEVELOPER, VENDOR, RUNTIME, PLATFORM или SYSTEM.

blamed boolean

Верно, если анализ Crashlytics определил, что именно этот кадр, вероятно, является причиной ошибки.

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

Это справедливо для всех исключений, кроме последнего выброшенного исключения (т.е. первой записи).

title string

Название исключения.

subtitle string

Подзаголовок исключения.

blamed boolean

Верно, если анализ Crashlytics определил, что ошибка произошла именно в этом потоке.

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 определил, что трассировка стека в этой ошибке указывает на место возникновения сбоя.

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 определил, что ошибка произошла именно в трассировке стека в этом потоке.

frames[] object (Frame)

Кадры в трассировке стека потока.

threadId string (int64 format)

Идентификатор потока, доступен только для потоков ANR.

sysThreadId string (int64 format)

Системный идентификатор потока, доступный только для потоков 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

Идентификатор первой сессии после последнего холодного запуска. Этот идентификатор и 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 поля Union. Полезная нагрузка может представлять собой либо лог Crashlytics, либо навигационную цепочку (Breadcrumb). 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)

Параметры события.

Объект, содержащий список пар "ключ": значение. Пример: { "имя": "ключ", "масса": "1,3 кг", "количество": "3" }.