בדף הזה מפורטת סכימת מערך הנתונים של נתוני Crashlytics ונתוני סשנים ב-Firebase שמיוצאים אל BigQuery.
מערכת Firebase יוצרת מערכי נתונים חדשים ב-BigQuery עבור הנתונים המיוצאים:
קבוצת הנתונים של סשנים ב-Firebase (אם הפעלתם ייצוא של נתוני סשנים)
Crashlytics מערך נתונים
הנתונים של Crashlytics מיוצאים לקבוצת נתונים BigQuery בשם firebase_crashlytics. מערך הנתונים כולל את כל הפרויקט, גם אם יש בו כמה אפליקציות.
טבלאות
כברירת מחדל, מערכת Firebase יוצרת טבלאות נפרדות בתוך Crashlyticsמערך הנתונים לכל אפליקציה בפרויקט שמקושר ל-BigQuery.
השמות של הטבלאות מבוססים על המזהה של האפליקציה (עם נקודות שהומרו לקווים תחתונים), ובסוף השם מופיעה הפלטפורמה של האפליקציה (_IOS או _ANDROID). לדוגמה, נתונים של אפליקציה ל-Android עם שם החבילה com.google.test יופיעו בטבלה בשם com_google_test_ANDROID.
אם מופעל ייצוא בסטרימינג אל BigQuery, הנתונים גם ישודרו בזמן אמת לטבלה עם הסיומת
_REALTIME(לדוגמה,com_google_test_ANDROID_REALTIME).כל שורה בטבלה מייצגת אירוע שהתרחש באפליקציה, כולל קריסות, שגיאות לא חמורות ומקרי ANR.
הטבלאות מכילות קבוצה סטנדרטית של נתוני Crashlytics, בנוסף למפתחות Crashlytics בהתאמה אישית שהגדרתם באפליקציה (iOS+ | Android | Flutter | Unity ).
שורות
כל שורה בטבלה מייצגת שגיאה שהאפליקציה נתקלה בה.
עמודות
העמודות בטבלה זהות עבור קריסות, שגיאות לא חמורות ומקרי ANR.
אם מפעילים ייצוא בסטרימינג ל-BigQuery, הטבלה בזמן אמת תכלול את אותן עמודות כמו הטבלה של העיבוד באצווה.
יכול להיות שיש לכם עמודות בשורות שמייצגות אירועים שלא כוללים עקבות מחסנית.
אלה העמודות בטבלה של נתוני Crashlytics המיוצאים:
| שם השדה | סוג הנתונים | תיאור |
|---|---|---|
app_orientation |
מחרוזת | לדוגמה, PORTRAIT, LANDSCAPE, FACE_UP, FACE_DOWN וכו'. |
application |
רשומה | האפליקציה שיצרה את האירוע |
application.build_version |
מחרוזת | גרסת ה-build של האפליקציה |
application.display_version |
מחרוזת | |
blame_frame |
רשומה | המסגרת שזוהתה כגורם לקריסה או לשגיאה |
blame_frame.address |
INT64 | הכתובת בתמונה הבינארית שמכילה את הקוד לא מוגדר עבור פריימים של Java |
blame_frame.blamed |
בוליאני | האם Crashlytics קבע שהפריים הזה הוא הגורם לקריסה או לשגיאה |
blame_frame.file |
מחרוזת | שם קובץ המסגרת |
blame_frame.library |
מחרוזת | השם המוצג של הספרייה שכוללת את הפריים |
blame_frame.line |
INT64 | מספר השורה בקובץ של הפריימים |
blame_frame.offset |
INT64 | ההיסט של הבייטים בתמונה הבינארית שמכילה את הקוד לא מוגדר לחריגות ב-Java |
blame_frame.owner |
מחרוזת | לדוגמה, DEVELOPER, VENDOR, RUNTIME, PLATFORM או SYSTEM |
blame_frame.symbol |
מחרוזת | הסמל המורחב, או הסמל הגולמי אם אי אפשר להרחיב אותו |
breadcrumbs |
רשומה חוזרת | נתיבי ניווט עם חותמות זמן, אם הם מופעליםGoogle Analytics |
breadcrumbs.name |
מחרוזת | השם שמשויך לנתיב הניווט |
breadcrumbs.params |
רשומה חוזרת | פרמטרים שמשויכים לנתיב הניווט |
breadcrumbs.params.key |
מחרוזת | מפתח פרמטר שמשויך לנתיב הניווט |
breadcrumbs.params.value |
מחרוזת | ערך פרמטר שמשויך לנתיב הניווט |
breadcrumbs.timestamp |
TIMESTAMP | חותמת הזמן שמשויכת לפרט הדרך |
bundle_identifier |
מחרוזת | המזהה הייחודי של האפליקציה כפי שנרשם בפרויקט Firebase
(לדוגמה, com.google.gmailבאפליקציות לפלטפורמת Apple, זהו מזהה החבילה של האפליקציה. באפליקציות ל-Android, זהו שם החבילה של האפליקציה. |
crashlytics_sdk_versions |
מחרוזת | גרסת ה-SDK Crashlytics שיצרה את האירוע |
custom_keys |
רשומה חוזרת | צמדים של מפתח/ערך שהוגדרו על ידי המפתח |
custom_keys.key |
מחרוזת | מפתח שמוגדר על ידי המפתח |
custom_keys.value |
מחרוזת | ערך שמוגדר על ידי מפתח |
device |
רשומה | המכשיר שבו התרחש האירוע |
device_orientation |
מחרוזת | לדוגמה, PORTRAIT, LANDSCAPE, FACE_UP, FACE_DOWN וכו'. |
device.architecture |
מחרוזת | לדוגמה, X86_32, X86_64, ARMV7, ARM64, ARMV7S או ARMV7K |
device.manufacturer |
מחרוזת | יצרן המכשיר |
device.model |
מחרוזת | דגם המכשיר |
error |
רשומה חוזרת | (אפליקציות של Apple בלבד) שגיאות לא קריטיות |
error_type |
מחרוזת | סוג השגיאה של האירוע (לדוגמה, FATAL,
NON_FATAL, ANR וכו') |
error.blamed |
בוליאני | האם Crashlytics קבע שהפריים הזה הוא הגורם לשגיאה |
error.code |
INT64 | קוד השגיאה שמשויך ל-NSError המותאם אישית שנרשם ביומן של האפליקציה |
error.frames |
רשומה חוזרת | הפריימים של ה-stacktrace |
error.frames.address |
INT64 | הכתובת בתמונה הבינארית שמכילה את הקוד |
error.frames.blamed |
בוליאני | האם Crashlytics קבע שהפריים הזה הוא הגורם לשגיאה |
error.frames.file |
מחרוזת | שם קובץ המסגרת |
error.frames.library |
מחרוזת | השם המוצג של הספרייה שכוללת את הפריים |
error.frames.line |
INT64 | מספר השורה בקובץ של הפריימים |
error.frames.offset |
INT64 | ההיסט של הבייט בתמונת הקובץ הבינארי שמכיל את הקוד |
error.frames.owner |
מחרוזת | לדוגמה, DEVELOPER, VENDOR, RUNTIME, PLATFORM או SYSTEM |
error.frames.symbol |
מחרוזת | הסמל המורחב, או הסמל הגולמי אם אי אפשר להרחיב אותו |
error.queue_name |
מחרוזת | התור שבו הופעל השרשור |
error.subtitle |
מחרוזת | כותרת המשנה של השרשור |
error.title |
מחרוזת | שם השרשור |
event_id |
מחרוזת | המזהה הייחודי של האירוע |
event_timestamp |
TIMESTAMP | מתי האירוע התרחש |
exceptions |
רשומה חוזרת | (Android בלבד) חריגים שהתרחשו במהלך האירוע הזה. חריגים מקוננים מוצגים בסדר כרונולוגי הפוך, כלומר הרשומה האחרונה היא החריג הראשון שהופעל. |
exceptions.blamed |
בוליאני | הערך True אם Crashlytics קובע שהחריגה אחראית לשגיאה או לקריסה |
exceptions.exception_message |
מחרוזת | הודעה שמשויכת לחריג |
exceptions.frames |
רשומה חוזרת | הפריימים שמשויכים לחריגה |
exceptions.frames.address |
INT64 | הכתובת בתמונה הבינארית שמכילה את הקוד לא מוגדר עבור פריימים של Java |
exceptions.frames.blamed |
בוליאני | האם Crashlytics קבע שהפריים הזה הוא הגורם לקריסה או לשגיאה |
exceptions.frames.file |
מחרוזת | שם קובץ המסגרת |
exceptions.frames.library |
מחרוזת | השם המוצג של הספרייה שכוללת את הפריים |
exceptions.frames.line |
INT64 | מספר השורה בקובץ של הפריימים |
exceptions.frames.offset |
INT64 | ההיסט של הבייטים בתמונה הבינארית שמכילה את הקוד לא מוגדר לחריגות ב-Java |
exceptions.frames.owner |
מחרוזת | לדוגמה, DEVELOPER, VENDOR, RUNTIME, PLATFORM או SYSTEM |
exceptions.frames.symbol |
מחרוזת | הסמל המורחב, או הסמל הגולמי אם אי אפשר להרחיב אותו |
exceptions.nested |
בוליאני | הערך True לכל החריגות שהופעלו מלבד האחרונה (כלומר הרשומה הראשונה) |
exceptions.subtitle |
מחרוזת | כותרת המשנה של השרשור |
exceptions.title |
מחרוזת | שם השרשור |
exceptions.type |
מחרוזת | סוג החריגה
(לדוגמה, java.lang.IllegalStateException) |
firebase_session_id |
מחרוזת | המזהה שנוצר באופן אוטומטי לסשן ב-Firebase שממופה לאירוע מ-Crashlytics |
installation_uuid |
מחרוזת | מזהה שמציין התקנה ייחודית של אפליקציה ומכשיר |
is_fatal |
בוליאני | אם האפליקציה קרסה |
issue_id |
מחרוזת | הבעיה שמשויכת לאירוע |
logs |
רשומה חוזרת | הודעות ביומן עם חותמת זמן שנוצרו על ידי Crashlytics logger, אם הוא מופעל |
logs.message |
מחרוזת | ההודעה שנרשמה ביומן |
logs.timestamp |
TIMESTAMP | מתי נוצר היומן |
memory |
רשומה | סטטוס הזיכרון של המכשיר |
memory.free |
INT64 | נשארו בזיכרון בייטים |
memory.used |
INT64 | בייטים של זיכרון בשימוש |
operating_system |
רשומה | פרטי מערכת ההפעלה במכשיר |
operating_system.device_type |
מחרוזת | סוג המכשיר (לדוגמה, MOBILE, TABLET, TV וכו'); נקרא גם 'קטגוריית מכשיר' |
operating_system.display_version |
מחרוזת | גרסת מערכת ההפעלה במכשיר |
operating_system.modification_state |
מחרוזת | האם המכשיר עבר שינוי (לדוגמה, אפליקציה שנפרצה היא MODIFIED ואפליקציה שעברה רוט היא UNMODIFIED) |
operating_system.name |
מחרוזת | שם מערכת ההפעלה במכשיר |
operating_system.type |
מחרוזת | (אפליקציות של אפל בלבד) סוג מערכת ההפעלה שפועלת במכשיר (לדוגמה,
IOS, MACOS וכו') |
platform |
מחרוזת | הפלטפורמה של האפליקציה כפי שהיא רשומה בפרויקט Firebase (ערכים תקינים: IOS או ANDROID)
|
process_state |
מחרוזת | BACKGROUND או FOREGROUND |
storage |
רשומה | האחסון המתמיד של המכשיר |
storage.free |
INT64 | נפח האחסון הפנוי שנותר |
storage.used |
INT64 | בייטים של נפח אחסון בשימוש |
threads |
רשומה חוזרת | שרשורים שהיו קיימים בזמן האירוע |
threads.blamed |
בוליאני | האם Crashlytics קבע שהפריים הזה הוא הגורם לקריסה או לשגיאה |
threads.code |
INT64 | (אפליקציות של אפל בלבד) קוד השגיאה של NSError מותאם אישית שנרשם ביומן של האפליקציה |
threads.crash_address |
INT64 | הכתובת של האות שגרם לקריסת האפליקציה; מופיע רק בשרשורים מקוריים שקרסו |
threads.crashed |
בוליאני | אם השרשור קרס |
threads.frames |
רשומה חוזרת | הפריימים של השרשור |
threads.frames.address |
INT64 | הכתובת בתמונה הבינארית שמכילה את הקוד |
threads.frames.blamed |
בוליאני | האם Crashlytics קבע שהפריים הזה הוא הגורם לשגיאה |
threads.frames.file |
מחרוזת | שם קובץ המסגרת |
threads.frames.library |
מחרוזת | השם המוצג של הספרייה שכוללת את הפריים |
threads.frames.line |
INT64 | מספר השורה בקובץ של הפריימים |
threads.frames.offset |
INT64 | ההיסט של הבייט בתמונת הקובץ הבינארי שמכיל את הקוד |
threads.frames.owner |
מחרוזת | לדוגמה, DEVELOPER, VENDOR, RUNTIME, PLATFORM או SYSTEM |
threads.frames.symbol |
מחרוזת | הסמל המיובש, או הסמל הגולמי אם אי אפשר לייבש אותו |
threads.queue_name |
מחרוזת | (אפליקציות של אפל בלבד) התור שבו השרשור פעל |
threads.signal_code |
מחרוזת | הקוד של האות שגרם לקריסת האפליקציה. מופיע רק בשרשורים מקוריים שקרסו |
threads.signal_name |
מחרוזת | שם האות שגרמה לקריסת האפליקציה, מופיע רק בשרשורים מקוריים שקרסו |
threads.subtitle |
מחרוזת | כותרת המשנה של השרשור |
threads.thread_name |
מחרוזת | שם השרשור |
threads.title |
מחרוזת | שם השרשור |
unity_metadata.debug_build |
בוליאני | אם זוהי גרסת ניפוי באגים |
unity_metadata.graphics_copy_texture_support |
מחרוזת | תמיכה בהעתקת מרקם גרפי כפי שמוגדר ב-Unity API |
unity_metadata.graphics_device_id |
INT64 | המזהה של המכשיר הגרפי |
unity_metadata.graphics_device_name |
מחרוזת | השם של כרטיס המסך |
unity_metadata.graphics_device_type |
מחרוזת | סוג מכשיר הגרפיקה |
unity_metadata.graphics_device_vendor_id |
INT64 | המזהה של ספק מעבד הגרפיקה |
unity_metadata.graphics_device_vendor |
מחרוזת | הספק של מכשיר הגרפיקה |
unity_metadata.graphics_device_version |
מחרוזת | הגרסה של כרטיס המסך |
unity_metadata.graphics_max_texture_size |
INT64 | הגודל המקסימלי שמוקצה לעיבוד טקסטורה |
unity_metadata.graphics_memory_size_mb |
INT64 | זיכרון ה-GPU ב-MB |
unity_metadata.graphics_render_target_count |
INT64 | מספר היעדים לעיבוד גרפי |
unity_metadata.graphics_shader_level |
INT64 | רמת ההצללה של הגרפיקה |
unity_metadata.processor_count |
INT64 | מספר המעבדים (הליבות) |
unity_metadata.processor_frequency_mhz |
INT64 | התדר של המעבד או המעבדים במגה-הרץ |
unity_metadata.processor_type |
מחרוזת | סוג המעבד |
unity_metadata.screen_refresh_rate_hz |
INT64 | קצב הרענון של המסך בהרץ |
unity_metadata.screen_resolution_dpi |
מחרוזת | ערך ה-DPI של המסך כמספר בשיטת נקודה צפה |
unity_metadata.screen_size_px |
מחרוזת | גודל המסך בפיקסלים, בפורמט של רוחב x גובה |
unity_metadata.system_memory_size_mb |
INT64 | גודל הזיכרון של המערכת ב-Mb |
unity_metadata.unity_version |
מחרוזת | גרסת Unity שפועלת במכשיר |
user |
רשומה | (אופציונלי) מידע שנאסף על המשתמש באפליקציה |
user.email |
מחרוזת | (אופציונלי) כתובת האימייל של המשתמש |
user.id |
מחרוזת | (אופציונלי) מזהה ספציפי לאפליקציה שמשויך למשתמש |
user.name |
מחרוזת | (אופציונלי) שם המשתמש |
variant_id |
מחרוזת | הווריאציה של הבעיה שמשויכת לאירוע הזה שימו לב: לא לכל האירועים משויכת וריאציה של בעיה. |
מערך נתונים של סשנים ב-Firebase
נתוני הסשנים ב-Firebase מיוצאים למערך נתונים BigQuery שנקרא firebase_sessions. מערך הנתונים כולל את כל הפרויקט, גם אם יש בו כמה אפליקציות.
טבלאות
כברירת מחדל, מערכת Firebase יוצרת טבלאות נפרדות בתוך מערך הנתונים של סשנים ב-Firebase לכל אפליקציה בפרויקט שמקושר ל-BigQuery.
השמות של הטבלאות מבוססים על המזהה של האפליקציה (עם נקודות שהומרו לקווים תחתונים) ומצורף אליהם שם הפלטפורמה של האפליקציה (_IOS או _ANDROID). לדוגמה, נתונים של אפליקציה ל-Android עם שם החבילה com.google.test יהיו בטבלה שנקראת com_google_test_ANDROID.
שורות
כל שורה בטבלה מייצגת אירוע של סשן שהתרחש.
עמודות
אם מפעילים ייצוא בסטרימינג ל-BigQuery, הטבלה בזמן אמת תכלול את אותן עמודות כמו הטבלה של העיבוד באצווה.
אלה העמודות בטבלה של נתוני הסשנים המיוצאים מ-Firebase:
| שם השדה | סוג הנתונים | תיאור |
|---|---|---|
instance_id |
מחרוזת | מזהה ההתקנה (FID) של Firebase מהמכשיר. מזהה התקנה ייחודית של אפליקציה במכשיר |
session_id |
מחרוזת | המזהה הייחודי של הסשן הזה |
first_session_id |
מחרוזת |
המזהה הראשון בסדרת הסשנים שהסשן הזה שייך לה, מאז שהאפליקציה הופעלה מחדש. אפשר להשתמש בזה כדי לקבץ את כל הסשנים שהתרחשו מאז הפעלה במצב התחלתי (cold start). אם זה הסשן הראשון, הערך של השדה הזה יהיה זהה לערך של session_id.
|
session_index |
מספר שלם |
הסדר שבו הסשן הזה הגיע אחרי שהאפליקציה הופעלה מחדש. בסשן הראשון אחרי הפעלה קרה, הערך יהיה 0. האינדקס
יגדל בכל פעם שנוצר סשן בלי שמתרחשת הפעלה קרה (לדוגמה, אחרי 30 דקות של חוסר פעילות).
|
event_type |
מחרוזת |
סוג האירוע שהתרחש בסשן (לדוגמה,
SESSION_START)
|
event_timestamp |
TIMESTAMP | השעה שבה האירוע מתרחש |
received_timestamp |
TIMESTAMP | השעה שבה השרת קיבל את האירוע מהמכשיר |
performance_data_collection_enabled |
בוליאני | אם איסוף הנתונים של Firebase Performance Monitoring SDK הופעל בזמן הסשן |
crashlytics_data_collection_enabled |
בוליאני | האם איסוף הנתונים באמצעות Firebase Crashlytics SDK הופעל בזמן הסשן |
application |
רשומה | תיאור האפליקציה |
application.build_version |
מחרוזת |
גרסת ה-build של האפליקציה (לדוגמה, 1523456)
|
application.display_version |
מחרוזת |
הגרסה המוצגת של האפליקציה (לדוגמה, 4.1.7)
|
device |
רשומה | המכשיר שבו התרחש האירוע |
device.model |
מחרוזת | הדגם של המכשיר |
device.manufacturer |
מחרוזת |
היצרן של המכשיר. באפליקציות לפלטפורמת Apple, זה יהיה
NULL.
|
operating_system |
רשומה | תיאור מערכת ההפעלה של המכשיר |
operating_system.display_version |
מחרוזת |
גרסת התצוגה של מערכת ההפעלה (לדוגמה,
10.2.1)
|
operating_system.name |
מחרוזת | השם של מערכת ההפעלה |
operating_system.type |
מחרוזת |
סוג מערכת ההפעלה (לדוגמה, IOS).
השדה הזה מוגדר רק למכשירי Apple.
|
operating_system.device_type |
מחרוזת |
סוג המכשיר (לדוגמה,
MOBILE, TABLET, TV)
|