Schemat logów eksportowanych danych w Cloud Logging

Na tej stronie znajdziesz schemat logów dotyczący wyeksportowanych danych Crashlytics i danych sesji Firebase w Cloud Logging.



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: projects/{project}/apps/{app_id}/events/{event}.

platform string

ANDROID, IOS lub WEB.

bundleOrPackage string

Nazwa pakietu aplikacji na iOS lub nazwa pakietu aplikacji na Androida. Format: com.mycompany.myapp.

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 payload. Ładunek może być dziennikiem Crashlytics lub menu nawigacyjnym. Pole payload może mieć tylko jedną z tych wartości:

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