Schemat zbioru danych w BigQuery dla wyeksportowanych danych

Na tej stronie znajdziesz schemat zbioru danych dotyczący wyeksportowanych danych Crashlytics i danych sesji Firebase w BigQuery.

Firebase tworzy w BigQuery nowe zbiory danych na potrzeby wyeksportowanych danych:



Crashlytics zbiór danych

Dane Crashlytics są eksportowane do zbioru danych BigQuery o nazwie firebase_crashlytics. Zbiór danych obejmuje cały projekt, nawet jeśli zawiera on wiele aplikacji.

Tabele

Domyślnie Firebase tworzy osobne tabele w zbiorze danych Crashlytics dla każdej aplikacji w projekcie połączonym z BigQuery.

Nazwy tabel są tworzone na podstawie identyfikatora aplikacji (z kropkami zamienionymi na podkreślenia) i uzupełniane o platformę aplikacji (_IOS lub _ANDROID). Na przykład dane aplikacji na Androida o nazwie pakietu com.google.test będą znajdować się w tabeli o nazwie com_google_test_ANDROID.

  • Jeśli włączony jest eksport strumieniowy do BigQuery, dane będą również przesyłane strumieniowo w czasie rzeczywistym do tabeli z dołączonym ciągiem _REALTIME (np. com_google_test_ANDROID_REALTIME).

  • Każdy wiersz w tabeli reprezentuje zdarzenie, które wystąpiło w aplikacji, w tym awarie, błędy niekrytyczne i błędy ANR.

  • Tabele zawierają standardowy zestaw danych Crashlytics oraz niestandardowe klucze Crashlytics zdefiniowane przez Ciebie w aplikacji (iOS+ | Android | Flutter | Unity).

Wiersze

Każdy wiersz w tabeli odpowiada błędowi, który wystąpił w aplikacji.

Kolumny

Kolumny w tabeli są takie same w przypadku awarii, błędów niekrytycznych i błędów ANR.

  • Jeśli włączony jest eksport strumieniowy do BigQuery, tabela czasu rzeczywistego będzie miała takie same kolumny jak tabela zbiorcza.

  • W wierszach mogą znajdować się kolumny reprezentujące zdarzenia, które nie mają zrzutów stosu.

Oto kolumny w tabeli wyeksportowanych danych Crashlytics:

Nazwa pola Typ danych Opis
app_orientation CIĄG ZNAKÓW Na przykład: PORTRAIT, LANDSCAPE, FACE_UP, FACE_DOWN itd.
application REKORD Aplikacja, która wygenerowała zdarzenie.
application.build_version CIĄG ZNAKÓW Wersja kompilacji aplikacji
application.display_version CIĄG ZNAKÓW
blame_frame REKORD Ramka zidentyfikowana jako główna przyczyna awarii lub błędu
blame_frame.address INT64 Adres w obrazie binarnym, który zawiera kod
Nieustawiony w przypadku ramek Javy
blame_frame.blamed WARTOŚĆ LOGICZNA Czy Crashlytics ustalił, że ta ramka jest przyczyną awarii lub błędu
blame_frame.file CIĄG ZNAKÓW nazwę pliku ramki,
blame_frame.library CIĄG ZNAKÓW Wyświetlana nazwa biblioteki zawierającej ramkę
blame_frame.line INT64 Numer wiersza pliku klatki.
blame_frame.offset INT64 Przesunięcie bajtowe w obrazie binarnym zawierającym kod
Nieustawione w przypadku wyjątków Javy
blame_frame.owner CIĄG ZNAKÓW na przykład DEVELOPER, VENDOR, RUNTIME, PLATFORM lub SYSTEM.
blame_frame.symbol CIĄG ZNAKÓW Symbol po konwersji lub symbol nieprzetworzony, jeśli nie można go przekonwertować.
breadcrumbs REPEATED RECORD Google AnalyticsMenu nawigacyjne z sygnaturami czasowymi, jeśli jest włączone
breadcrumbs.name CIĄG ZNAKÓW Nazwa powiązana ze ścieżką
breadcrumbs.params REPEATED RECORD Parametry powiązane z menu nawigacyjnym
breadcrumbs.params.key CIĄG ZNAKÓW Klucz parametru powiązany z okruszkiem
breadcrumbs.params.value CIĄG ZNAKÓW Wartość parametru powiązana ze ścieżką
breadcrumbs.timestamp SYGNATURA CZASOWA sygnatura czasowa powiązana z okruszkiem,
bundle_identifier CIĄG ZNAKÓW Unikalny identyfikator aplikacji zarejestrowanej w projekcie w Firebase (np. com.google.gmail).
W przypadku aplikacji na platformy Apple jest to identyfikator pakietu aplikacji.
W przypadku aplikacji na Androida jest to nazwa pakietu aplikacji.
crashlytics_sdk_versions CIĄG ZNAKÓW Wersja pakietu SDK Crashlytics, która wygenerowała zdarzenie.
custom_keys REPEATED RECORD Pary klucz-wartość zdefiniowane przez dewelopera
custom_keys.key CIĄG ZNAKÓW Klucz zdefiniowany przez dewelopera
custom_keys.value CIĄG ZNAKÓW Wartość zdefiniowana przez dewelopera
device REKORD urządzenie, na którym wystąpiło zdarzenie;
device_orientation CIĄG ZNAKÓW Na przykład: PORTRAIT, LANDSCAPE, FACE_UP, FACE_DOWN itd.
device.architecture CIĄG ZNAKÓW Na przykład: X86_32, X86_64, ARMV7, ARM64, ARMV7S lub ARMV7K.
device.manufacturer CIĄG ZNAKÓW producenta urządzenia,
device.model CIĄG ZNAKÓW model urządzenia,
error REPEATED RECORD (Tylko aplikacje Apple) Błędy niekrytyczne
error_type CIĄG ZNAKÓW Typ błędu zdarzenia (np. FATAL, NON_FATAL, ANR itd.).
error.blamed WARTOŚĆ LOGICZNA Czy Crashlytics ustalił, że ta ramka jest przyczyną błędu
error.code INT64 Kod błędu powiązany z niestandardowym błędem NSError zarejestrowanym przez aplikację.
error.frames REPEATED RECORD Ramki zrzutu stosu.
error.frames.address INT64 Adres w obrazie binarnym, który zawiera kod.
error.frames.blamed WARTOŚĆ LOGICZNA Czy Crashlytics ustalił, że ta ramka jest przyczyną błędu
error.frames.file CIĄG ZNAKÓW nazwę pliku ramki,
error.frames.library CIĄG ZNAKÓW Wyświetlana nazwa biblioteki zawierającej ramkę
error.frames.line INT64 Numer wiersza pliku klatki.
error.frames.offset INT64 Przesunięcie bajtowe w obrazie binarnym zawierającym kod.
error.frames.owner CIĄG ZNAKÓW na przykład DEVELOPER, VENDOR, RUNTIME, PLATFORM lub SYSTEM.
error.frames.symbol CIĄG ZNAKÓW Symbol po konwersji lub symbol nieprzetworzony, jeśli nie można go przekonwertować.
error.queue_name CIĄG ZNAKÓW Kolejka, w której był uruchomiony wątek
error.subtitle CIĄG ZNAKÓW Podtytuł wątku
error.title CIĄG ZNAKÓW Tytuł wątku
event_id CIĄG ZNAKÓW Unikalny identyfikator zdarzenia
event_timestamp SYGNATURA CZASOWA czas wystąpienia zdarzenia,
exceptions REPEATED RECORD (Tylko Android) Wyjątki, które wystąpiły podczas tego zdarzenia. Zagnieżdżone wyjątki są wyświetlane w odwrotnej kolejności chronologicznej, co oznacza, że ostatni rekord to pierwszy zgłoszony wyjątek.
exceptions.blamed WARTOŚĆ LOGICZNA „Prawda”, jeśli Crashlytics ustali, że wyjątek jest odpowiedzialny za błąd lub awarię
exceptions.exception_message CIĄG ZNAKÓW komunikat powiązany z wyjątkiem,
exceptions.frames REPEATED RECORD Ramki powiązane z wyjątkiem
exceptions.frames.address INT64 Adres w obrazie binarnym, który zawiera kod
Nieustawiony w przypadku ramek Javy
exceptions.frames.blamed WARTOŚĆ LOGICZNA Czy Crashlytics ustalił, że ta ramka jest przyczyną awarii lub błędu
exceptions.frames.file CIĄG ZNAKÓW nazwę pliku ramki,
exceptions.frames.library CIĄG ZNAKÓW Wyświetlana nazwa biblioteki zawierającej ramkę
exceptions.frames.line INT64 Numer wiersza pliku klatki.
exceptions.frames.offset INT64 Przesunięcie bajtowe w obrazie binarnym zawierającym kod
Nieustawione w przypadku wyjątków Javy
exceptions.frames.owner CIĄG ZNAKÓW na przykład DEVELOPER, VENDOR, RUNTIME, PLATFORM lub SYSTEM.
exceptions.frames.symbol CIĄG ZNAKÓW Symbol po konwersji lub symbol nieprzetworzony, jeśli nie można go przekonwertować.
exceptions.nested WARTOŚĆ LOGICZNA Prawda dla wszystkich wyjątków oprócz ostatniego (czyli pierwszego rekordu)
exceptions.subtitle CIĄG ZNAKÓW Podtytuł wątku
exceptions.title CIĄG ZNAKÓW Tytuł wątku
exceptions.type CIĄG ZNAKÓW typ wyjątku (np. java.lang.IllegalStateException)),
firebase_session_id CIĄG ZNAKÓW Automatycznie wygenerowany identyfikator sesji Firebase zmapowanej na zdarzenie z: Crashlytics
installation_uuid CIĄG ZNAKÓW Identyfikator, który identyfikuje unikalną instalację aplikacji i urządzenia.
is_fatal WARTOŚĆ LOGICZNA czy aplikacja uległa awarii;
issue_id CIĄG ZNAKÓW problem powiązany ze zdarzeniem,
logs REPEATED RECORD Komunikaty logu z sygnaturą czasową wygenerowane przez logger Crashlytics, jeśli jest włączony.
logs.message CIĄG ZNAKÓW Komunikat logu
logs.timestamp SYGNATURA CZASOWA Kiedy utworzono wpis w dzienniku
memory REKORD stan pamięci urządzenia,
memory.free INT64 Pozostałe bajty pamięci
memory.used INT64 Wykorzystanie pamięci w bajtach
operating_system REKORD szczegóły systemu operacyjnego na urządzeniu,
operating_system.device_type CIĄG ZNAKÓW Typ urządzenia (np. MOBILE, TABLET, TV itd.), nazywany też „kategorią urządzenia”.
operating_system.display_version CIĄG ZNAKÓW Wersja systemu operacyjnego na urządzeniu.
operating_system.modification_state CIĄG ZNAKÓW Czy urządzenie zostało zmodyfikowane (np. aplikacja po jailbreaku to MODIFIED, a aplikacja z dostępem do roota to UNMODIFIED)
operating_system.name CIĄG ZNAKÓW Nazwa systemu operacyjnego na urządzeniu.
operating_system.type CIĄG ZNAKÓW (Tylko aplikacje Apple) Typ systemu operacyjnego na urządzeniu (np. IOS, MACOS).
platform CIĄG ZNAKÓW Platforma aplikacji zarejestrowana w projekcie w Firebase (prawidłowe wartości: IOS lub ANDROID)
process_state CIĄG ZNAKÓW BACKGROUND lub FOREGROUND
storage REKORD pamięć trwała urządzenia,
storage.free INT64 Pozostałe bajty miejsca na dane
storage.used INT64 Zajęte miejsce na dane w bajtach
threads REPEATED RECORD Wątki obecne w momencie wystąpienia zdarzenia
threads.blamed WARTOŚĆ LOGICZNA Czy Crashlytics ustalił, że ta ramka jest przyczyną awarii lub błędu
threads.code INT64 (Tylko aplikacje Apple) Kod błędu niestandardowego błędu NSError zarejestrowanego przez aplikację.
threads.crash_address INT64 Adres sygnału, który spowodował awarię aplikacji. Jest on dostępny tylko w przypadku wątków natywnych, które uległy awarii.
threads.crashed WARTOŚĆ LOGICZNA Czy wątek uległ awarii
threads.frames REPEATED RECORD Ramki wątku
threads.frames.address INT64 Adres w obrazie binarnym, który zawiera kod.
threads.frames.blamed WARTOŚĆ LOGICZNA Czy Crashlytics ustalił, że ta ramka jest przyczyną błędu
threads.frames.file CIĄG ZNAKÓW nazwę pliku ramki,
threads.frames.library CIĄG ZNAKÓW Wyświetlana nazwa biblioteki zawierającej ramkę
threads.frames.line INT64 Numer wiersza pliku klatki.
threads.frames.offset INT64 Przesunięcie bajtowe w obrazie binarnym zawierającym kod.
threads.frames.owner CIĄG ZNAKÓW na przykład DEVELOPER, VENDOR, RUNTIME, PLATFORM lub SYSTEM.
threads.frames.symbol CIĄG ZNAKÓW Symbol po uzupełnieniu lub symbol nieprzetworzony, jeśli nie można go uzupełnić.
threads.queue_name CIĄG ZNAKÓW (tylko aplikacje Apple) Kolejka, w której działał wątek.
threads.signal_code CIĄG ZNAKÓW Kod sygnału, który spowodował awarię aplikacji; występuje tylko w przypadku awarii wątków natywnych.
threads.signal_name CIĄG ZNAKÓW Nazwa sygnału, który spowodował awarię aplikacji, obecna tylko w przypadku awarii wątków natywnych.
threads.subtitle CIĄG ZNAKÓW Podtytuł wątku
threads.thread_name CIĄG ZNAKÓW nazwę wątku,
threads.title CIĄG ZNAKÓW Tytuł wątku
unity_metadata.debug_build WARTOŚĆ LOGICZNA Jeśli jest to kompilacja do debugowania,
unity_metadata.graphics_copy_texture_support CIĄG ZNAKÓW Obsługa kopiowania tekstury grafiki zgodnie z definicją w interfejsie Unity API.
unity_metadata.graphics_device_id INT64 Identyfikator urządzenia graficznego
unity_metadata.graphics_device_name CIĄG ZNAKÓW Nazwa urządzenia graficznego
unity_metadata.graphics_device_type CIĄG ZNAKÓW Typ urządzenia graficznego
unity_metadata.graphics_device_vendor_id INT64 Identyfikator dostawcy procesora graficznego
unity_metadata.graphics_device_vendor CIĄG ZNAKÓW Dostawca urządzenia graficznego
unity_metadata.graphics_device_version CIĄG ZNAKÓW Wersja urządzenia graficznego
unity_metadata.graphics_max_texture_size INT64 Maksymalny rozmiar przeznaczony na renderowanie tekstury
unity_metadata.graphics_memory_size_mb INT64 Pamięć karty graficznej w MB
unity_metadata.graphics_render_target_count INT64 Liczba elementów docelowych renderowania graficznego
unity_metadata.graphics_shader_level INT64 Poziom cieniowania grafiki
unity_metadata.processor_count INT64 Liczba procesorów (rdzeni)
unity_metadata.processor_frequency_mhz INT64 Częstotliwość procesorów w MHz
unity_metadata.processor_type CIĄG ZNAKÓW Typ procesora
unity_metadata.screen_refresh_rate_hz INT64 Częstotliwość odświeżania ekranu w Hz
unity_metadata.screen_resolution_dpi CIĄG ZNAKÓW Rozdzielczość ekranu w DPI jako liczba zmiennoprzecinkowa
unity_metadata.screen_size_px CIĄG ZNAKÓW Rozmiar ekranu w pikselach w formacie szerokość x wysokość.
unity_metadata.system_memory_size_mb INT64 Rozmiar pamięci systemu w MB
unity_metadata.unity_version CIĄG ZNAKÓW Wersja Unity uruchomiona na tym urządzeniu
user REKORD (Opcjonalnie) Informacje zbierane o użytkowniku aplikacji
user.email CIĄG ZNAKÓW (Opcjonalnie) Adres e-mail użytkownika.
user.id CIĄG ZNAKÓW (Opcjonalnie) Identyfikator powiązany z użytkownikiem w aplikacji.
user.name CIĄG ZNAKÓW (Opcjonalnie) Nazwa użytkownika.
variant_id CIĄG ZNAKÓW Wariant problemu powiązany z tym zdarzeniem.
Pamiętaj, że nie wszystkie zdarzenia mają powiązany wariant problemu.



Zbiór danych sesji Firebase

Dane sesji Firebase są eksportowane do zbioru danych BigQuery o nazwie firebase_sessions. Zbiór danych obejmuje cały projekt, nawet jeśli zawiera on wiele aplikacji.

Tabele

Domyślnie Firebase tworzy osobne tabele w zbiorze danych sesji Firebase dla każdej aplikacji w projekcie połączonym z BigQuery.

Nazwy tabel są tworzone na podstawie identyfikatora aplikacji (z kropkami zamienionymi na podkreślenia) i uzupełniane o platformę aplikacji (_IOS lub _ANDROID). Na przykład dane aplikacji na Androida o nazwie pakietu com.google.test znajdą się w tabeli o nazwie com_google_test_ANDROID.

Wiersze

Każdy wiersz w tabeli odpowiada zdarzeniu sesji, które miało miejsce.

Kolumny

Jeśli włączony jest eksport strumieniowy do BigQuery, tabela czasu rzeczywistego będzie miała takie same kolumny jak tabela zbiorcza.

Oto kolumny w tabeli wyeksportowanych danych sesji Firebase:

Nazwa pola Typ danych Opis
instance_id CIĄG ZNAKÓW Identyfikator instalacji Firebase (FID) z urządzenia. Identyfikuje unikalną instalację aplikacji na urządzeniu.
session_id CIĄG ZNAKÓW Unikalny identyfikator tej sesji
first_session_id CIĄG ZNAKÓW Pierwszy identyfikator z serii sesji, w której znajduje się ta sesja, od momentu uruchomienia aplikacji „na zimno”. Można go użyć do grupowania wszystkich sesji, które miały miejsce od uruchomienia „na zimno”. Jeśli jest to pierwsza sesja, to pole będzie takie samo jak session_id.
session_index LICZBA CAŁKOWITA Kolejność, w jakiej ta sesja została uruchomiona po uruchomieniu aplikacji „na zimno”. W przypadku pierwszej sesji po zimnym starcie będzie to 0. Indeks będzie zwiększany za każdym razem, gdy sesja zostanie wygenerowana bez uruchomienia na zimno (np. po 30 minutach braku aktywności).
event_type CIĄG ZNAKÓW Typ zdarzenia, które wystąpiło w sesji (np. SESSION_START)
event_timestamp SYGNATURA CZASOWA czas wystąpienia zdarzenia,
received_timestamp SYGNATURA CZASOWA Czas odebrania zdarzenia przez serwer z urządzenia.
performance_data_collection_enabled WARTOŚĆ LOGICZNA Informacja o tym, czy w czasie sesji było włączone zbieranie danych przez pakiet SDK monitorowania skuteczności w Firebase.
crashlytics_data_collection_enabled WARTOŚĆ LOGICZNA Czy w czasie sesji było włączone zbieranie danych przez pakiet SDK Firebase Crashlytics.
application REKORD Opisuje aplikację
application.build_version CIĄG ZNAKÓW Wersja kompilacji aplikacji (np. 1523456)
application.display_version CIĄG ZNAKÓW Wersja aplikacji (np. 4.1.7)
device REKORD Urządzenie, na którym wystąpiło zdarzenie.
device.model CIĄG ZNAKÓW Model urządzenia.
device.manufacturer CIĄG ZNAKÓW Producent urządzenia. W przypadku aplikacji na platformy Apple będzie to NULL.
operating_system REKORD Opisuje system operacyjny urządzenia
operating_system.display_version CIĄG ZNAKÓW Wersja systemu operacyjnego (np. 10.2.1)
operating_system.name CIĄG ZNAKÓW Nazwa systemu operacyjnego.
operating_system.type CIĄG ZNAKÓW Typ systemu operacyjnego (np. IOS). To pole jest ustawiane tylko w przypadku urządzeń Apple.
operating_system.device_type CIĄG ZNAKÓW Typ urządzenia (np. MOBILE, TABLET, TV)