Na tej stronie znajdziesz schemat logów eksportowanychCrashlytics danych i danych o sesjach w Firebase w Cloud Logging.
Schemat sesji Firebase (jeśli eksportowanie danych o sesjach jest włączone)
Crashlytics schemat
Event
Wiadomość opisująca pojedyncze zdarzenie Crashlytics.
Zapis 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
}
| Pola | Opis |
|---|---|
name |
string
Wymagane. Tylko dane wyjściowe.
Niezmienne. Identyfikator Nazwa zasobu zdarzenia. Format:
|
platform |
string
Platforma mobilna (Android lub iOS). |
bundleOrPackage |
string
Nazwa pakietu w przypadku aplikacji na iOS lub nazwa pakietu aplikacji na Androida.
Format: |
eventId |
string
Tylko dane wyjściowe. Niezmienne. Unikalny identyfikator zdarzenia jest przypisywany podczas przetwarzania. |
sessionId |
string
Unikalny identyfikator sesji Firebase. |
eventTime |
string (Timestamp format)
Sygnatura czasowa urządzenia, w której zarejestrowano zdarzenie. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: „2014-10-02T15:01:23Z”, „2014-10-02T15:01:23.045123456Z” lub „2014-10-02T15:01:23+05:30”. |
receivedTime |
string (Timestamp format)
Sygnatura czasowa serwera, w której Crashlytics otrzymał zdarzenie. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: „2014-10-02T15:01:23Z”, „2014-10-02T15:01:23.045123456Z” lub „2014-10-02T15:01:23+05:30”. |
issue |
object (Issue)
Szczegóły [problemu] przypisanego do tego [wydarzenia]. |
issueVariant |
object (IssueVariant)
Szczegóły [IssueVariant] przypisane do tego [Event]. |
device |
object (Device)
metadane urządzenia mobilnego; |
memory |
object (Memory)
Wykorzystanie pamięci urządzenia mobilnego. |
storage |
object (Storage)
Wykorzystanie dysku/pamięci flash urządzenia mobilnego. |
operatingSystem |
object (OperatingSystem)
System operacyjny i jego wersja. |
browser |
object (Browser)
Przeglądarka i wersja. |
version |
object (Version)
Wersja aplikacji mobilnej. |
user |
object (User)
Identyfikatory użytkownika dla właściciela urządzenia. |
customKeys |
map (key: string, value: string)
Klucze niestandardowe ustawione przez programistę podczas sesji. Obiekt zawierający listę par „klucz”: wartość. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
installationUuid |
string
Unikalny identyfikator instalacji aplikacji na urządzeniu. To pole służy do obliczania unikalnej liczby użytkowników, których dotyczy problem. |
crashlyticsSdkVersion |
string
Wersja pakietu SDK Crashlytics. |
appOrientation |
string
Orientacja aplikacji w momencie awarii (pionowa lub pozioma). |
deviceOrientation |
string
Orientacja urządzenia w momencie awarii (pionowa lub pozioma). |
logs[] |
object (Log)
Wiadomości dziennika zarejestrowane przez dewelopera podczas sesji. |
breadcrumbs[] |
object (Breadcrumb)
Zdarzenia Analytics zarejestrowane przez pakiet SDK Analytics podczas sesji. |
blameFrame |
object (Frame)
Ramka śledzenia stosu, która według przetwarzania Crashlytics jest przyczyną problemu. Może nie być obecny w przyszłym analizatorze. |
exceptions[] |
object (Exception)
Tylko urządzenia z Androidem. Wyjątki, które wystąpiły podczas tego zdarzenia. Zagnieżdżone wyjątki są prezentowane w odwrotnej kolejności chronologicznej, więc ostatni rekord to pierwszy zgłoszony wyjątek. |
errors[] |
object (Error)
Tylko Apple. Błąd niekrytyczny zarejestrowany przez pakiet SDK na iOS i jego ślad stosu. |
threads[] |
object (Thread)
Wątki aplikacji obecne w momencie zarejestrowania zdarzenia. Każdy z nich zawiera ślad stosu. Jeden wątek zostanie obarczony winą za błąd. |
processState |
string
Stan procesu aplikacji w momencie wystąpienia zdarzenia. |
issueTitle |
string
Nazwa problemu, w którym zostało zgrupowane zdarzenie. Zwykle jest to nazwa pliku źródłowego lub metody. |
issueSubtitle |
string
Podtytuł problemu, w którym zostało zgrupowane zdarzenie. Zwykle jest to symbol lub komunikat o wyjątku. |
buildStamp |
string
Metadane dostarczone przez system kompilacji aplikacji, w tym informacje o repozytorium kontroli wersji. |
Memory
Wykorzystanie pamięci urządzenia mobilnego.
Zapis JSON
{
"used": string,
"free": string
}
| Pola | Opis |
|---|---|
used |
string (int64 format)
Wykorzystane bajty. |
free |
string (int64 format)
Wolne bajty. |
Storage
Wykorzystanie dysku/pamięci flash urządzenia mobilnego. Nie są raportowane na wszystkich urządzeniach.
Zapis JSON
{
"used": string,
"free": string
}
| Pola | Opis |
|---|---|
used |
string (int64 format)
Wykorzystane bajty. |
free |
string (int64 format)
Wolne bajty. |
User
Identyfikatory użytkowników podawane przez dewelopera.
Zapis JSON
{
"id": string
}
| Pola | Opis |
|---|---|
id |
string
Identyfikator użytkownika, jeśli został podany przez dewelopera aplikacji. |
Frame
Ramka w śladzie stosu.
Zapis JSON
{
"line": string,
"file": string,
"symbol": string,
"offset": string,
"address": string,
"library": string,
"owner": string,
"blamed": boolean
}
| Pola | Opis |
|---|---|
line |
string (int64 format)
Numer wiersza w pliku ramki. |
file |
string
Nazwa pliku źródłowego, w którym znajduje się klatka. |
symbol |
string
Symbol ramki po usunięciu zaciemnienia kodu lub symbolizacji. Surowy symbol z urządzenia, jeśli nie można było go uzupełnić. |
offset |
string (int64 format)
Przesunięcie w bajtach w binarnym obrazie zawierającym kod. Prezentacja w przypadku ramek natywnych. |
address |
string (int64 format)
Adres w obrazie binarnym, który zawiera kod. Prezentuj w przypadku ramek natywnych. |
library |
string
Wyświetlana nazwa biblioteki, która zawiera ramkę. |
owner |
string
Jedna z wartości: DEVELOPER, VENDOR, RUNTIME, PLATFORM lub SYSTEM. |
blamed |
boolean
Wartość „prawda”, jeśli analiza Crashlytics wykazała, że ta ramka jest prawdopodobnie przyczyną błędu. |
Exception
Wyjątek Java i jego ślad stosu, tylko z aplikacji na Androida.
Zapis JSON
{
"type": string,
"exceptionMessage": string,
"nested": boolean,
"title": string,
"subtitle": string,
"blamed": boolean,
"frames": [
{
object (Frame)
}
]
}
| Pola | Opis |
|---|---|
type |
string
Typ wyjątku, np. java.lang.IllegalStateException. |
exceptionMessage |
string
Komunikat powiązany z wyjątkiem. |
nested |
boolean
Wartość „true” dla wszystkich wyjątków z wyjątkiem ostatniego (czyli pierwszego rekordu). |
title |
string
Tytuł wyjątku. |
subtitle |
string
Podtytuł wyjątku. |
blamed |
boolean
Wartość „true”, jeśli analiza Crashlytics wykazała, że w tym wątku wystąpił błąd. |
frames[] |
object (Frame)
Ramki w śladzie stosu wyjątku. |
Error
Błąd niekrytyczny i jego ślad stosu, ale tylko w przypadku aplikacji Apple.
Zapis JSON
{
"queue": string,
"code": string,
"title": string,
"subtitle": string,
"blamed": boolean,
"frames": [
{
object (Frame)
}
]
}
| Pola | Opis |
|---|---|
queue |
string
Kolejka, w której działał wątek. |
code |
string (int64 format)
Kod błędu powiązany z niestandardowym błędem NSError zarejestrowanym w aplikacji. |
title |
string
Tytuł błędu. |
subtitle |
string
Podtytuł błędu. |
blamed |
boolean
Wartość „prawda”, jeśli analiza Crashlytics wykazała, że w tym śladzie stosu wystąpił błąd. |
frames[] |
object (Frame)
Ramki w śladzie stosu błędu. |
Thread
Wątek aplikacji.
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)
}
| Pola | Opis |
|---|---|
crashed |
boolean
Wartość „Prawda”, jeśli wątek uległ awarii. |
name |
string
Nazwa wątku. |
queue |
string
Kolejka, w której działał wątek. |
signal |
string
Nazwa sygnału, który spowodował awarię aplikacji. Występuje tylko w przypadku wątków natywnych, które uległy awarii. |
signalCode |
string
Kod sygnału, który spowodował awarię aplikacji. Występuje tylko w przypadku wątków natywnych, które uległy awarii. |
crashAddress |
string (int64 format)
Adres sygnału, który spowodował awarię aplikacji. Występuje tylko w przypadku wątków natywnych, które uległy awarii. |
title |
string
Tytuł wątku. |
subtitle |
string
Podtytuł wątku. |
blamed |
boolean
Wartość „true”, jeśli analiza Crashlytics wykazała, że w tym wątku wystąpił błąd. |
frames[] |
object (Frame)
Klatki w śladzie stosu wątku. |
threadId |
string (int64 format)
Identyfikator wątku, dostępny tylko w przypadku wątków ANR. |
sysThreadId |
string (int64 format)
Identyfikator systemowy wątku, dostępny tylko w przypadku wątków ANR. |
threadState |
enum (State)
Tylko dane wyjściowe. Stan wątku w momencie wystąpienia błędu ANR. |
State
Stan wątku, w którym wystąpił błąd ANR.
| Wartości w polu enum | Opis |
|---|---|
STATE_UNSPECIFIED |
Stan wątku jest nieokreślony. |
THREAD_STATE_TERMINATED |
Wątek został zakończony. |
THREAD_STATE_RUNNABLE |
Wątek był gotowy do uruchomienia. |
THREAD_STATE_TIMED_WAITING |
Wątek oczekiwał z limitem czasu. |
THREAD_STATE_BLOCKED |
Wątek został zablokowany. |
THREAD_STATE_WAITING |
Wątek oczekiwał. |
THREAD_STATE_NEW |
Wątek został uruchomiony, ale jeszcze nic nie wykonał. |
THREAD_STATE_NATIVE_RUNNABLE |
Wątek był natywny i nie mogliśmy heurystycznie określić, czy oczekiwał, więc zakładamy, że jest uruchomiony. |
THREAD_STATE_NATIVE_WAITING |
Na podstawie heurystyki stwierdziliśmy, że wątek oczekuje. |
Schemat sesji Firebase
FirebaseSessionEvent
Sesje rejestrowane przez pakiet SDK Firebase App Quality Sessions.
Zapis JSON
{
"sessionId": string,
"eventType": enum (SessionEventType),
"firstSessionId": string,
"sessionIndex": integer,
"firebaseInstallationId": string,
"eventTime": string,
"version": {
object (Version)
},
"device": {
object (Device)
},
"operatingSystem": {
object (OperatingSystem)
}
}
| Pola | Opis |
|---|---|
sessionId |
string
Unikalny identyfikator sesji Firebase. |
eventType |
enum (SessionEventType)
Typ zdarzenia sesji. Obecnie pakiet SDK obsługuje tylko zdarzenia SESSION_START. |
firstSessionId |
string
Identyfikator pierwszej sesji od ostatniego uruchomienia „na zimno”. Ten identyfikator i identyfikator sesji będą takie same w przypadku uruchomienia aplikacji. |
sessionIndex |
integer
Określa liczbę sesji od ostatniego zimnego startu. |
firebaseInstallationId |
string
Jednoznacznie identyfikuje urządzenie z zainstalowanymi aplikacjami Firebase. |
eventTime |
string (Timestamp format)
Sygnatura czasowa rozpoczęcia zdarzenia sesji. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: „2014-10-02T15:01:23Z”, „2014-10-02T15:01:23.045123456Z” lub „2014-10-02T15:01:23+05:30”. |
version |
object (Version)
numery wersji aplikacji mobilnych, |
device |
object (Device)
metadane urządzenia mobilnego; |
operatingSystem |
object (OperatingSystem)
System operacyjny i jego wersja. |
SessionEventType
Typy SessionEvent, które są rejestrowane.
| Wartości w polu enum | Opis |
|---|---|
SESSION_EVENT_TYPE_UNKNOWN |
Brak informacji. |
SESSION_START |
Rozpoczęto sesję aplikacji. |
Schemat dziennika urządzenia
DeviceLog
Reprezentuje strukturę wpisów deviceLog.
Zapis 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.
}
| Pola | Opis |
|---|---|
eventId |
string
Tylko dane wyjściowe. Niezmienne. Identyfikator zdarzenia, z którym jest powiązany. |
sessionId |
string
Unikalny identyfikator sesji Firebase. |
Pole zbiorcze |
|
log |
object (Log)
Dziennik Crashlytics. |
breadcrumb |
object (Breadcrumb)
Element menu nawigacyjnego Crashlytics. |
Log
Wiersze dziennika dostarczone przez dewelopera zarejestrowane podczas sesji.
Zapis JSON
{
"logTime": string,
"message": string
}
| Pola | Opis |
|---|---|
logTime |
string (Timestamp format)
Sygnatura czasowa urządzenia, gdy wiersz został zarejestrowany. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: „2014-10-02T15:01:23Z”, „2014-10-02T15:01:23.045123456Z” lub „2014-10-02T15:01:23+05:30”. |
message |
string
Komunikat logu. |
Breadcrumb
zdarzenia Analytics zarejestrowane podczas sesji;
Zapis JSON
{
"eventTime": string,
"title": string,
"params": {
string: string,
...
}
}
| Pola | Opis |
|---|---|
eventTime |
string (Timestamp format)
Sygnatura czasowa zdarzenia na urządzeniu. Korzysta ze standardu RFC 3339, w którym wygenerowane dane wyjściowe są zawsze znormalizowane do formatu Z i zawierają 0, 3, 6 lub 9 cyfr po przecinku. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: „2014-10-02T15:01:23Z”, „2014-10-02T15:01:23.045123456Z” lub „2014-10-02T15:01:23+05:30”. |
title |
string
Nazwa zdarzenia analitycznego. |
params |
map (key: string, value: string)
Parametry zdarzenia. Obiekt zawierający listę par „klucz”: wartość. Przykład: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |