Схема журналов для экспортированных данных в 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

Версия 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. Некритическая ошибка, зарегистрированная 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

Значение "Истина", если анализ 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

Идентификатор первого сеанса после последнего холодного запуска. Этот идентификатор и идентификатор сеанса будут одинаковыми при запуске приложения.

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