Schemat logów eksportowanych danych w Cloud Logging

Na tej stronie znajdziesz schemat logów eksportowanychCrashlytics danych i danych o sesjach w Firebase w Cloud Logging.



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

platform string

Platforma mobilna (Android lub iOS).

bundleOrPackage string

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

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

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