Schemat zbioru danych w BigQuery dla wyeksportowanych danych

Na tej stronie znajdziesz schemat zbioru danych dla wyeksportowanych danychCrashlytics i danych sesji Firebase w BigQuery.

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



Crashlytics zbiór danych

Dane z 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 w Crashlyticszestawie danychBigQuery osobne tabele dla każdej aplikacji w projekcie połączonej z BigQuery.

Nazwy tabel są tworzone na podstawie identyfikatora aplikacji (z kropkami zamienionymi na podkreślenia) i zawierają 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 eksport strumieniowy do BigQuery jest włączony, dane będą też przesyłane strumieniowo w czasie rzeczywistym do tabeli z dodanym sufiksem _REALTIME (np. com_google_test_ANDROID_REALTIME).

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

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

Wiersze

Każdy wiersz w tabeli reprezentuje błąd, który wystąpił w aplikacji.

Kolumny

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

  • Jeśli eksport strumieniowy do BigQuery jest włączony, tabela w czasie rzeczywistym będzie miała te same kolumny co tabela zbiorcza.

  • W wierszach mogą występować kolumny reprezentujące zdarzenia, które nie mają śladó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 itp.
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 Java.
blame_frame.blamed WARTOŚĆ LOGICZNA Czy Crashlytics uznał, że ta ramka jest przyczyną awarii lub błędu.
blame_frame.file CIĄG ZNAKÓW Nazwa pliku ramki
blame_frame.library CIĄG ZNAKÓW Wyświetlana nazwa biblioteki, która zawiera ramkę
blame_frame.line INT64 Numer wiersza pliku ramki.
blame_frame.offset INT64 Przesunięcie bajtowe w obrazie binarnym zawierającym kod
Nieustawione w przypadku wyjątków w języku Java
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 przetworzeniu lub symbol pierwotny, jeśli nie można go przetworzyć.
breadcrumbs REPEATED RECORD Menu nawigacyjne z sygnaturami czasowymiGoogle Analytics (jeśli jest włączone)
breadcrumbs.name CIĄG ZNAKÓW Nazwa powiązana ze ścieżką
breadcrumbs.params REPEATED RECORD Parametry powiązane ze ścieżką.
breadcrumbs.params.key CIĄG ZNAKÓW klucz parametru powiązany ze ścieżką.
breadcrumbs.params.value CIĄG ZNAKÓW wartość parametru powiązaną ze ścieżką.
breadcrumbs.timestamp SYGNATURA CZASOWA Sygnatura czasowa powiązana ze ścieżką
bundle_identifier CIĄG ZNAKÓW Unikalny identyfikator aplikacji zarejestrowanej w projekcie Firebase (np. com.google.gmail).
W przypadku aplikacji na platformę 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 itp.
device.architecture CIĄG ZNAKÓW Przykłady: X86_32, X86_64, ARMV7, ARM64, ARMV7S lub ARMV7K
device.manufacturer CIĄG ZNAKÓW producent 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 itp.).
error.blamed WARTOŚĆ LOGICZNA Czy Crashlytics uznał, że ta ramka jest przyczyną błędu.
error.code INT64 Kod błędu powiązany z niestandardowym zarejestrowanym błędem NSError aplikacji.
error.frames REPEATED RECORD Ramki śladu stosu
error.frames.address INT64 Adres w obrazie binarnym, który zawiera kod
error.frames.blamed WARTOŚĆ LOGICZNA Czy Crashlytics uznał, że ta ramka jest przyczyną błędu.
error.frames.file CIĄG ZNAKÓW Nazwa pliku ramki
error.frames.library CIĄG ZNAKÓW Wyświetlana nazwa biblioteki, która zawiera ramkę
error.frames.line INT64 Numer wiersza pliku ramki.
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 przetworzeniu lub symbol pierwotny, jeśli nie można go przetworzyć.
error.queue_name CIĄG ZNAKÓW Kolejka, w której działał 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ą prezentowane w odwrotnej kolejności chronologicznej, co oznacza, że ostatni rekord to pierwszy zgłoszony wyjątek.
exceptions.blamed WARTOŚĆ LOGICZNA Wartość „true”, jeśli Crashlytics uzna, że wyjątek jest przyczyną błędu lub awarii.
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 Java.
exceptions.frames.blamed WARTOŚĆ LOGICZNA Czy Crashlytics uznał, że ta ramka jest przyczyną awarii lub błędu.
exceptions.frames.file CIĄG ZNAKÓW Nazwa pliku ramki
exceptions.frames.library CIĄG ZNAKÓW Wyświetlana nazwa biblioteki, która zawiera ramkę
exceptions.frames.line INT64 Numer wiersza pliku ramki.
exceptions.frames.offset INT64 Przesunięcie bajtowe w obrazie binarnym zawierającym kod
Nieustawione w przypadku wyjątków w języku Java
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 przetworzeniu lub symbol pierwotny, jeśli nie można go przetworzyć.
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 generowany identyfikator sesji Firebase powiązanej ze zdarzeniem 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 rejestrator Crashlytics, jeśli jest włączony;
logs.message CIĄG ZNAKÓW Zalogowana wiadomość
logs.timestamp SYGNATURA CZASOWA Kiedy dziennik został utworzony.
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 itp.); znany też jako „kategoria 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 itp.).
platform CIĄG ZNAKÓW Platforma aplikacji zarejestrowana w projekcie 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 Bajty zajętego miejsca
threads REPEATED RECORD Wątki obecne w momencie wystąpienia zdarzenia
threads.blamed WARTOŚĆ LOGICZNA Czy Crashlytics uznał, że ta ramka jest przyczyną awarii lub błędu.
threads.code INT64 (Tylko aplikacje Apple) kod błędu niestandardowego zarejestrowanego błędu NSError aplikacji.
threads.crash_address INT64 Adres sygnału, który spowodował awarię aplikacji; występuje tylko w przypadku wątków natywnych, w których doszło do awarii.
threads.crashed WARTOŚĆ LOGICZNA informacje o tym, czy wątek uległ awarii;
threads.frames REPEATED RECORD klatki wątku,
threads.frames.address INT64 Adres w obrazie binarnym, który zawiera kod
threads.frames.blamed WARTOŚĆ LOGICZNA Czy Crashlytics uznał, że ta ramka jest przyczyną błędu.
threads.frames.file CIĄG ZNAKÓW Nazwa pliku ramki
threads.frames.library CIĄG ZNAKÓW Wyświetlana nazwa biblioteki, która zawiera ramkę
threads.frames.line INT64 Numer wiersza pliku ramki.
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 przetworzeniu lub symbol pierwotny, jeśli nie można go przetworzyć.
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 wątków natywnych, które uległy awarii.
threads.signal_name CIĄG ZNAKÓW Nazwa sygnału, który spowodował awarię aplikacji. Występuje tylko w przypadku wątków natywnych, w których doszło do awarii.
threads.subtitle CIĄG ZNAKÓW Podtytuł wątku
threads.thread_name CIĄG ZNAKÓW Nazwa wątku
threads.title CIĄG ZNAKÓW Tytuł wątku
unity_metadata.debug_build WARTOŚĆ LOGICZNA Jeśli jest to wersja debugowania
unity_metadata.graphics_copy_texture_support CIĄG ZNAKÓW Obsługa kopiowania tekstur graficznych 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 docelowych renderowań graficznych
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ść procesora(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 DPI ekranu 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 działająca 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 i aplikacją.
user.name CIĄG ZNAKÓW (Opcjonalnie) imię i nazwisko 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 w zbiorze danych Sesje Firebase osobne tabele dla każdej aplikacji w projekcie połączonej z BigQuery.

Nazwy tabel są tworzone na podstawie identyfikatora aplikacji (z kropkami zamienionymi na podkreślenia) i zawierają platformę aplikacji (_IOS lub _ANDROID). Na przykład dane aplikacji na Androida o nazwie pakietu com.google.test znajdują 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 eksport strumieniowy do BigQuery jest włączony, tabela w czasie rzeczywistym będzie miała te same kolumny co tabela zbiorcza.

Oto kolumny w tabeli wyeksportowanych danych o sesjach w 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, do której należy ta sesja, od czasu uruchomienia aplikacji na zimno. Można go używać do grupowania wszystkich sesji, które wystąpiły od czasu zimnego startu. Jeśli jest to pierwsza sesja, to pole będzie miało taką samą wartość jak session_id.
session_index LICZBA CAŁKOWITA Zamówienie w tej sesji zostało złożone 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 zostanie wygenerowana sesja bez zimnego startu (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, w którym serwer otrzymał zdarzenie z urządzenia.
performance_data_collection_enabled WARTOŚĆ LOGICZNA Czy w momencie rozpoczęcia sesji było włączone zbieranie danych przez pakiet SDK Firebase Performance Monitoring.
crashlytics_data_collection_enabled WARTOŚĆ LOGICZNA Informacja, czy w momencie rozpoczęcia sesji zbieranie danych przez pakiet SDK Firebase Crashlytics było włączone.
application REKORD Opis aplikacji
application.build_version CIĄG ZNAKÓW Wersja kompilacji aplikacji (np. 1523456).
application.display_version CIĄG ZNAKÓW Wyświetlana 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 platformę Apple będzie to NULL.
operating_system REKORD Opis systemu operacyjnego 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).