Схема журналов для экспортированных данных в 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,
  "routePath": string
}
Поля Описание
name string

Обязательно. Только для вывода. Неизменяемый. Идентификатор. Название ресурса события. Формат: projects/{project}/apps/{app_id}/events/{event}.

platform string

ANDROID, IOS или WEB.

bundleOrPackage string

Название пакета для приложений iOS или Android. Формат: com.mycompany.myapp.

eventId string

Только для вывода. Неизменяемый. Уникальный идентификатор события назначается во время обработки.

sessionId string

Уникальный идентификатор сеанса Firebase.

eventTime string (Timestamp format)

Временная метка устройства, на котором было зарегистрировано событие.

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "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. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

state_update_time string (Timestamp format)

Время последнего изменения статуса проблемы.

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

first_seen_version string

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

last_seen_version string

Последняя версия приложения, в которой была обнаружена эта проблема. Указывается только для мобильных приложений.

first_time_seen string (Timestamp format)

Когда проблема была обнаружена впервые.

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

last_time_seen string (Timestamp format)

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

Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30".

issue object (Issue)

Подробные сведения о [проблеме], связанной с этим [событием].

issueVariant object (IssueVariant)

Сведения о варианте проблемы [IssueVariant], назначенном этому событию [Event].

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)

Специальные ключи, заданные разработчиком во время сеанса.

Объект, содержащий список пар "ключ": значение. Пример: {"name": "wrench", "mass": "1.3kg", "count": "3" }.

installationUuid string

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

crashlyticsSdkVersion string

Версия Crashlytics SDK.

appOrientation string

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

deviceOrientation string

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

logs[] object (Log)

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

breadcrumbs[] object (Breadcrumb)

События Analytics, зарегистрированные Analytics SDK во время сеанса.

blameFrame object (Frame)

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

exceptions[] object (Exception)

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

errors[] object (Error)

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

threads[] object (Thread)

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

processState string

Состояние процесса приложения на момент события.

issueTitle string

Название проблемы, к которой относится событие. Обычно это исходный файл или название метода.

issueSubtitle string

Подзаголовок проблемы, в которую было сгруппировано событие. Обычно это символ или сообщение об исключении.

buildStamp string

Метаданные, предоставленные системой сборки приложения, включая информацию о хранилище системы управления версиями.

routePath 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

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

Exception

Исключение Java или JavaScript и его трассировка стека. Только из приложений для 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

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

title string

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

subtitle string

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

blamed boolean

True, если анализ 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

True, если анализ 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

Значение True, если анализ 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. Допустимы и другие типы нормализации. Примеры: "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. Полезная нагрузка может быть журналом Crashlytics или элементом навигации. Поле 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. Допустимы и другие типы нормализации. Примеры: "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. Допустимы и другие типы нормализации. Примеры: "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)

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

Объект, содержащий список пар "ключ": значение. Пример: { "name": "wrench", "mass": "1.3kg", "count": "3" }.