На этой странице приведена схема журналов для экспортированных данных Crashlytics и данных сеансов Firebase в Cloud Logging.
Схема сеансов Firebase (если экспорт данных о сеансах включен).
Схема 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
Обязательно. Только для вывода.
Неизменяемый. Идентификатор. Название ресурса события. Формат:
|
platform |
string
ANDROID, IOS или WEB. |
bundleOrPackage |
string
Название пакета для приложений iOS или название пакета для приложений Android.
Формат: |
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. |
Объединенное поле |
|
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" }. |