Na tej stronie znajdziesz schemat logów dotyczący wyeksportowanych danych Crashlytics i danych sesji Firebase w Cloud Logging.
Schemat sesji Firebase (jeśli dane sesji są włączone do eksportu)
Crashlytics schemat
Event
Komunikat opisujący 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,
"routePath": string
}
| Pola | Opis |
|---|---|
name |
string
Wymagany. Tylko dane wyjściowe.
Wartość niezmienna. Identyfikator. Nazwa zasobu zdarzenia. Format:
|
platform |
string
ANDROID, IOS lub WEB. |
bundleOrPackage |
string
Nazwa pakietu aplikacji na iOS lub nazwa pakietu aplikacji na Androida.
Format: |
eventId |
string
Tylko dane wyjściowe. Wartość niezmienna. Unikalny identyfikator zdarzenia jest przypisywany podczas przetwarzania. |
sessionId |
string
Unikalny identyfikator sesji Firebase. |
eventTime |
string (Timestamp format)
Sygnatura czasowa urządzenia, na którym 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, kiedy zdarzenie zostało odebrane przez Crashlytics. 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”. |
state_update_time |
string (Timestamp format)
Czas ostatniej zmiany stanu problemu. 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”. |
first_seen_version |
string
Pierwsza wersja aplikacji (display_version), w której wystąpił ten problem. Wypełniane tylko w przypadku problemów z aplikacjami mobilnymi. |
last_seen_version |
string
Najnowsza wersja aplikacji (display_version), w której wystąpił ten problem. Wypełniane tylko w przypadku problemów z aplikacjami mobilnymi. |
first_time_seen |
string (Timestamp format)
Kiedy problem został wykryty po raz pierwszy. 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”. |
last_time_seen |
string (Timestamp format)
Ostatni raz, kiedy problem został zauważony. 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 dotyczące [problemu] przypisanego do tego [zdarzenia]. |
issueVariant |
object (IssueVariant)
Szczegóły dotyczące [IssueVariant] przypisanego 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 właściciela urządzenia. |
customKeys |
map (key: string, value: string)
Niestandardowe klucze ustawione przez dewelopera 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 liczby unikalnych 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)
Komunikaty logu zarejestrowane przez dewelopera podczas sesji. |
breadcrumbs[] |
object (Breadcrumb)
Zdarzenia Analytics zarejestrowane przez pakiet SDK do analizy podczas sesji. |
blameFrame |
object (Frame)
Ramka zrzutu stosu, która została wskazana przez Crashlytics jako przyczyna błędu. Może nie być obecny w przyszłym analizatorze. |
exceptions[] |
object (Exception)
Tylko na Androidzie i w przeglądarce. Wyjątki, które wystąpiły podczas tego zdarzenia. Zagnieżdżone wyjątki są wyświetlane w odwrotnej kolejności chronologicznej, więc ostatni rekord jest pierwszym zgłoszonym wyjątkiem. |
errors[] |
object (Error)
Tylko Apple. Błąd niekrytyczny wykryty przez pakiet SDK na iOS i jego zrzut stosu. |
threads[] |
object (Thread)
Wątki aplikacji obecne w momencie zarejestrowania zdarzenia. Każdy zawiera zrzut stosu. Błąd zostanie przypisany do jednego wątku. |
processState |
string
Stan procesu aplikacji w momencie wystąpienia zdarzenia. |
issueTitle |
string
Tytuł problemu, w którym zdarzenie zostało pogrupowane. Zwykle jest to nazwa pliku źródłowego lub metody. |
issueSubtitle |
string
Podtytuł problemu, w którym pogrupowano zdarzenie. Zwykle jest to symbol lub komunikat o wyjątku. |
buildStamp |
string
Metadane dostarczane przez system kompilacji aplikacji, w tym informacje o repozytorium kontroli wersji. |
routePath |
string
Tylko w przeglądarce internetowej. Ścieżka trasy aplikacji internetowej w momencie wystąpienia zdarzenia, z wyłączeniem parametrów zapytania i fragmentu. |
Memory
Wykorzystanie pamięci urządzenia mobilnego.
Zapis JSON
{
"used": string,
"free": string
}
| Pola | Opis |
|---|---|
used |
string (int64 format)
Używane bajty. |
free |
string (int64 format)
Wolne bajty. |
Storage
Wykorzystanie dysku/pamięci flash urządzenia mobilnego. Nie są raportowane w przypadku wszystkich urządzeń.
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 zrzucie 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ę ramka. |
symbol |
string
Symbol ramki po usunięciu zaciemnienia kodu lub symbolizacji. Nieprzetworzony symbol z urządzenia, jeśli nie udało się go przekształcić. |
offset |
string (int64 format)
Przesunięcie bajtowe w obrazie binarnym zawierającym kod. Występuje w przypadku klatek natywnych. |
address |
string (int64 format)
Adres w obrazie binarnym, który zawiera kod. Występuje w przypadku ramek natywnych. |
library |
string
Wyświetlana nazwa biblioteki zawierającej ramkę. |
owner |
string
Jedna z tych wartości: DEVELOPER, VENDOR, RUNTIME, PLATFORM lub SYSTEM. |
blamed |
boolean
Wartość „true”, gdy analiza Crashlytics wykazała, że ta ramka jest prawdopodobnie przyczyną błędu. |
Exception
Wyjątek Java lub JavaScript i jego zrzut stosu. Tylko z aplikacji na Androida i aplikacji internetowych.
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
Prawda dla wszystkich wyjątków oprócz ostatniego (czyli pierwszego rekordu). |
title |
string
Tytuł wyjątku. |
subtitle |
string
Podtytuł wyjątku. |
blamed |
boolean
Wartość „true”, gdy analiza Crashlytics wykazała, że błąd wystąpił w tym wątku. |
frames[] |
object (Frame)
Ramki w śladzie stosu wyjątku. |
Error
Błąd niekrytyczny i jego zrzut stosu, tylko z 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 był uruchomiony wątek. |
code |
string (int64 format)
Kod błędu powiązany z niestandardowym błędem NSError zarejestrowanym przez aplikację. |
title |
string
Tytuł błędu. |
subtitle |
string
Podtytuł błędu. |
blamed |
boolean
Wartość „true”, gdy analiza Crashlytics wykazała, że błąd wystąpił w miejscu wskazanym przez zrzut stosu. |
frames[] |
object (Frame)
Ramki w zrzucie 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ść „True”, gdy wątek uległ awarii. |
name |
string
Nazwa wątku. |
queue |
string
Kolejka, w której był uruchomiony wątek. |
signal |
string
Nazwa sygnału, który spowodował awarię aplikacji. Występuje tylko w przypadku awarii wątków natywnych. |
signalCode |
string
Kod sygnału, który spowodował awarię aplikacji. Występuje tylko w przypadku awarii wątków natywnych. |
crashAddress |
string (int64 format)
Adres sygnału, który spowodował awarię aplikacji. Występuje tylko w przypadku awarii wątków natywnych. |
title |
string
Tytuł wątku. |
subtitle |
string
Podtytuł wątku. |
blamed |
boolean
Wartość „true”, gdy analiza Crashlytics wykazała, że błąd wystąpił w śladzie stosu w tym wątku. |
frames[] |
object (Frame)
Ramki w zrzucie 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 z błędami ANR. |
threadState |
enum (State)
Tylko dane wyjściowe. Stan wątku w momencie wystąpienia błędu ANR. |
State
Stan wątku w momencie wystąpienia błędu ANR.
| Wartości w polu enum | Opis |
|---|---|
STATE_UNSPECIFIED |
Stan wątku nie został określony. |
THREAD_STATE_TERMINATED |
Wątek został zakończony. |
THREAD_STATE_RUNNABLE |
Wątek był możliwy do uruchomienia. |
THREAD_STATE_TIMED_WAITING |
Wątek oczekiwał z limitem czasu. |
THREAD_STATE_BLOCKED |
Wątek został zablokowany. |
THREAD_STATE_WAITING |
Wątek czekał. |
THREAD_STATE_NEW |
Wątek został uruchomiony, ale jeszcze nic nie zostało uruchomione. |
THREAD_STATE_NATIVE_RUNNABLE |
Wątek był natywny i nie udało się nam heurystycznie określić, czy oczekiwał, więc zakładamy, że jest wykonywalny. |
THREAD_STATE_NATIVE_WAITING |
Na podstawie heurystyki ustaliliśmy, że wątek czeka. |
Schemat sesji Firebase
FirebaseSessionEvent
Sesje zarejestrowane 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”. W przypadku uruchomień aplikacji ten identyfikator i identyfikator sesji będą takie same. |
sessionIndex |
integer
Wskazuje liczbę sesji od ostatniego uruchomienia „na zimno”. |
firebaseInstallationId |
string
Jednoznacznie identyfikuje urządzenie z zainstalowanymi aplikacjami w 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. Wartość niezmienna. Identyfikator zdarzenia, z którym jest powiązany ten element. |
sessionId |
string
Unikalny identyfikator sesji Firebase. |
Pole zbiorcze |
|
log |
object (Log)
Dziennik Crashlytics. |
breadcrumb |
object (Breadcrumb)
Menu nawigacyjne Crashlytics. |
Log
Wiersze logu dostarczone przez dewelopera i 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" }. |