בדף הזה מפורטת סכימת היומן של נתוני Crashlytics ונתוני סשנים של Firebase שמיוצאים אל Cloud Logging.
סכמת סשנים של Firebase (אם הפעלתם ייצוא של נתוני סשנים)
Crashlytics schema
Event
ההודעה שמתארת אירוע יחיד ב-Crashlytics.
ייצוג ב-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
}
| שדות | תיאור |
|---|---|
name |
string
חובה. פלט בלבד.
בלתי משתנה. מזהה. השם של משאב האירוע. פורמט:
|
platform |
string
ANDROID, IOS או בדפדפן. |
bundleOrPackage |
string
שם החבילה באפליקציות ל-iOS או שם החבילה באפליקציות ל-Android.
פורמט: |
eventId |
string
פלט בלבד. בלתי משתנה. המזהה הייחודי של האירוע מוקצה במהלך העיבוד. |
sessionId |
string
מזהה ייחודי של סשן Firebase. |
eventTime |
string (Timestamp format)
חותמת הזמן של המכשיר שבה האירוע נרשם. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z-normalized ויכלול 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30". |
receivedTime |
string (Timestamp format)
חותמת הזמן בצד השרת שבה האירוע התקבל על ידי Crashlytics. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z-normalized ויכלול 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30". |
state_update_time |
string (Timestamp format)
השעה שבה מצב הבעיה השתנה לאחרונה. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z-normalized ויכלול 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30". |
first_seen_version |
string
הגרסה הראשונה של האפליקציה שבה הבעיה הזו זוהתה, מאוכלסת רק לגבי בעיות בנייד. |
last_seen_version |
string
הגרסה האחרונה של האפליקציה display_version שבה הבעיה הזו נראתה, מאוכלסת רק לבעיות בנייד. |
first_time_seen |
string (Timestamp format)
הפעם הראשונה שבה הבעיה הזו זוהתה. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z-normalized ויכלול 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30". |
last_time_seen |
string (Timestamp format)
הפעם האחרונה שבה הבעיה נצפתה. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z-normalized ויכלול 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30". |
issue |
object (Issue)
פרטים על [הבעיה] שמשויכת ל[אירוע] הזה. |
issueVariant |
object (IssueVariant)
פרטים לגבי [IssueVariant] שהוקצה ל[Event] הזה. |
device |
object (Device)
מטא נתונים של מכשירים ניידים. |
memory |
object (Memory)
השימוש בזיכרון של המכשיר הנייד. |
storage |
object (Storage)
השימוש בדיסק או בזיכרון הפלאש של המכשיר הנייד. |
operatingSystem |
object (OperatingSystem)
מערכת הפעלה וגרסה. |
browser |
object (Browser)
דפדפן וגרסה. |
version |
object (Version)
גרסת האפליקציה לנייד. |
user |
object (User)
מזהים של משתמשי קצה עבור בעלי המכשיר. |
customKeys |
map (key: string, value: string)
מפתחות מותאמים אישית שהמפתח מגדיר במהלך הסשן. אובייקט שמכיל רשימה של צמדי מפתח: ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
installationUuid |
string
מזהה ייחודי של התקנת האפליקציה במכשיר. השדה הזה משמש לחישוב המספר הייחודי של המשתמשים שהושפעו. |
crashlyticsSdkVersion |
string
גרסת Crashlytics SDK. |
appOrientation |
string
כיוון האפליקציה בזמן הקריסה (לאורך או לרוחב). |
deviceOrientation |
string
כיוון המכשיר בזמן הקריסה (לאורך או לרוחב). |
logs[] |
object (Log)
הודעות יומן שמתעדות את הפעולות של המפתח במהלך הסשן. |
breadcrumbs[] |
object (Breadcrumb)
אירועים מ-Analytics שתועדו על ידי ה-SDK של Analytics במהלך הסשן. |
blameFrame |
object (Frame)
הפריים של דוח קריסות ש-Crashlytics זיהה כגורם לשגיאה. יכול להיות שהמאפיין הזה לא יופיע בניתוח עתידי. |
exceptions[] |
object (Exception)
רק ב-Android ובאינטרנט. חריגים שהתרחשו במהלך האירוע הזה. חריגות מקוננות מוצגות בסדר כרונולוגי הפוך, כך שהרשומה האחרונה היא החריגה הראשונה שהופעלה. |
errors[] |
object (Error)
אפל בלבד. שגיאה לא קריטית שתועדה על ידי iOS SDK וה-stacktrace שלה. |
threads[] |
object (Thread)
השרשורים של האפליקציה שהיו קיימים בזמן שהאירוע תועד. כל אחד מהם מכיל stacktrace. אחד מהשרשורים יואשם בשגיאה. |
processState |
string
המצב של תהליך האפליקציה בזמן האירוע. |
issueTitle |
string
השם של הבעיה שאליה האירוע שויך. בדרך כלל זה קובץ מקור או שם של שיטה. |
issueSubtitle |
string
כותרת המשנה של הבעיה שאליה שויך האירוע. בדרך כלל זה סמל או הודעת חריג. |
buildStamp |
string
מטא-נתונים שסופקו על ידי מערכת build של האפליקציה, כולל מידע על ניהול גרסאות. |
routePath |
string
אינטרנט בלבד. נתיב המסלול של אפליקציית האינטרנט כשהאירוע התרחש, לא כולל פרמטרים של שאילתות וקטע. |
Memory
השימוש בזיכרון של המכשיר הנייד.
ייצוג ב-JSON
{
"used": string,
"free": string
}
| שדות | תיאור |
|---|---|
used |
string (int64 format)
בייטים בשימוש. |
free |
string (int64 format)
בייטים פנויים. |
Storage
השימוש בדיסק או בזיכרון הפלאש של המכשיר הנייד. לא מדווח על כל המכשירים.
ייצוג ב-JSON
{
"used": string,
"free": string
}
| שדות | תיאור |
|---|---|
used |
string (int64 format)
בייטים בשימוש. |
free |
string (int64 format)
בייטים פנויים. |
User
מזהים של משתמשי קצה שסופקו על ידי מפתחים.
ייצוג ב-JSON
{
"id": string
}
| שדות | תיאור |
|---|---|
id |
string
מזהה המשתמש, אם הוא סופק על ידי מפתח האפליקציה. |
Frame
פריים ב-stacktrace.
ייצוג ב-JSON
{
"line": string,
"file": string,
"symbol": string,
"offset": string,
"address": string,
"library": string,
"owner": string,
"blamed": boolean
}
| שדות | תיאור |
|---|---|
line |
string (int64 format)
מספר השורה בקובץ של הפריים. |
file |
string
השם של קובץ המקור שבו נמצאת המסגרת. |
symbol |
string
סמל המסגרת אחרי הסרת הטשטוש או הוספת הסמלים. הסמל הגולמי מהמכשיר אם לא ניתן היה להוסיף לו נתונים. |
offset |
string (int64 format)
ההיסט של הבייט בתמונת הקובץ הבינארי שמכיל את הקוד. הצגה עבור מסגרות מותאמות. |
address |
string (int64 format)
הכתובת בתמונת הקובץ הבינארי שמכילה את הקוד. הצגה עבור מסגרות מותאמות. |
library |
string
השם המוצג של הספרייה שכוללת את המסגרת. |
owner |
string
אחת מהאפשרויות: DEVELOPER, VENDOR, RUNTIME, PLATFORM או SYSTEM. |
blamed |
boolean
הפונקציה מחזירה True אם לפי הניתוח של Crashlytics, סביר שהפריים הזה הוא הגורם לשגיאה. |
Exception
חריגה ב-Java או ב-JavaScript ופרטי ה-stacktrace שלה. רק מאפליקציות ל-Android ומאפליקציות אינטרנט.
ייצוג ב-JSON
{
"type": string,
"exceptionMessage": string,
"nested": boolean,
"title": string,
"subtitle": string,
"blamed": boolean,
"frames": [
{
object (Frame)
}
]
}
| שדות | תיאור |
|---|---|
type |
string
סוג החריגה, למשל java.lang.IllegalStateException. |
exceptionMessage |
string
הודעה שמשויכת לחריג. |
nested |
boolean
הערך הוא True לכל השורות חוץ מהשורה האחרונה של החריגה (כלומר, הרשומה הראשונה). |
title |
string
השם של החריגה. |
subtitle |
string
כותרת המשנה של החריגה. |
blamed |
boolean
הערך הוא True אם ניתוח Crashlytics קבע שה-thread הזה הוא המקום שבו התרחשה התקלה. |
frames[] |
object (Frame)
המסגרות ב-stacktrace של החריגה. |
Error
שגיאה לא קריטית ודוח הקריסות שלה, רק מאפליקציות של Apple.
ייצוג ב-JSON
{
"queue": string,
"code": string,
"title": string,
"subtitle": string,
"blamed": boolean,
"frames": [
{
object (Frame)
}
]
}
| שדות | תיאור |
|---|---|
queue |
string
התור שבו השרשור פעל. |
code |
string (int64 format)
קוד השגיאה שמשויך ל-NSError המותאם אישית של האפליקציה שנרשם ביומן. |
title |
string
שם השגיאה. |
subtitle |
string
כותרת המשנה של השגיאה. |
blamed |
boolean
הפונקציה מחזירה True אם ניתוח Crashlytics קבע שקורות המידע (stacktrace) בשגיאה הזו הם המקום שבו התרחשה התקלה. |
frames[] |
object (Frame)
המסגרות ב-stacktrace של השגיאה. |
Thread
שרשור באפליקציה.
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)
}
| שדות | תיאור |
|---|---|
crashed |
boolean
הערך True אם השרשור קרס. |
name |
string
שם השרשור. |
queue |
string
התור שבו השרשור פעל. |
signal |
string
השם של האות שגרם לקריסת האפליקציה. המאפיין הזה מופיע רק בשרשורים מקוריים שקרסו. |
signalCode |
string
הקוד של האות שגרם לקריסת האפליקציה. המאפיין הזה מופיע רק בשרשורים מקוריים שקרסו. |
crashAddress |
string (int64 format)
הכתובת של האות שגרם לקריסת האפליקציה. המאפיין הזה מופיע רק בשרשורים מקוריים שקרסו. |
title |
string
שם השרשור. |
subtitle |
string
כותרת המשנה של השרשור. |
blamed |
boolean
הפונקציה מחזירה True אם ניתוח Crashlytics קבע שקורות המידע (stacktrace) בשרשור הזה הם המקום שבו התרחשה התקלה. |
frames[] |
object (Frame)
המסגרות ב-stacktrace של השרשור. |
threadId |
string (int64 format)
המזהה של השרשור, זמין רק לשרשורי ANR. |
sysThreadId |
string (int64 format)
מזהה המערכת של השרשור, זמין רק לשרשורים של ANR. |
threadState |
enum (State)
פלט בלבד. המצב של השרשור בזמן התרחשות ה-ANR. |
State
הסטטוס של השרשור בזמן שהתרחש ה-ANR.
| טיפוסים בני מנייה (enum) | תיאור |
|---|---|
STATE_UNSPECIFIED |
לא צוין סטטוס של השרשור. |
THREAD_STATE_TERMINATED |
השרשור נסגר. |
THREAD_STATE_RUNNABLE |
השרשור היה ניתן להרצה. |
THREAD_STATE_TIMED_WAITING |
השרשור היה בהמתנה עם פסק זמן. |
THREAD_STATE_BLOCKED |
השרשור נחסם. |
THREAD_STATE_WAITING |
השרשור היה בהמתנה. |
THREAD_STATE_NEW |
השרשור התחיל, אבל עדיין לא הפעיל שום דבר. |
THREAD_STATE_NATIVE_RUNNABLE |
השרשור היה מקורי ולא הצלחנו לקבוע באופן היוריסטי שהוא היה בהמתנה, ולכן אנחנו מניחים שהוא ניתן להרצה. |
THREAD_STATE_NATIVE_WAITING |
קבענו באופן היוריסטי שהשרשור נמצא במצב המתנה. |
סכימת סשנים ב-Firebase
FirebaseSessionEvent
סשנים שתועדו על ידי Firebase App Quality Sessions SDK.
ייצוג ב-JSON
{
"sessionId": string,
"eventType": enum (SessionEventType),
"firstSessionId": string,
"sessionIndex": integer,
"firebaseInstallationId": string,
"eventTime": string,
"version": {
object (Version)
},
"device": {
object (Device)
},
"operatingSystem": {
object (OperatingSystem)
}
}
| שדות | תיאור |
|---|---|
sessionId |
string
מזהה ייחודי של סשן Firebase. |
eventType |
enum (SessionEventType)
סוג האירוע בסשן. בשלב הזה, ה-SDK תומך רק באירועים מסוג SESSION_START. |
firstSessionId |
string
המזהה של הסשן הראשון מאז ההפעלה במצב התחלתי האחרונה. המזהה הזה והמזהה של הסשן יהיו זהים בהפעלות של האפליקציה. |
sessionIndex |
integer
מציין את מספר הסשנים מאז ההפעלה האחרונה במצב התחלתי (cold start). |
firebaseInstallationId |
string
מזהה ייחודי של מכשיר שמותקנות בו אפליקציות Firebase. |
eventTime |
string (Timestamp format)
חותמת הזמן של תחילת אירוע הסשן. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z-normalized ויכלול 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30". |
version |
object (Version)
מספרי הגרסה של האפליקציה לנייד. |
device |
object (Device)
מטא נתונים של מכשירים ניידים. |
operatingSystem |
object (OperatingSystem)
מערכת הפעלה וגרסה. |
SessionEventType
סוגי SessionEvent שמתועדים.
| טיפוסים בני מנייה (enum) | תיאור |
|---|---|
SESSION_EVENT_TYPE_UNKNOWN |
לא ידועה. |
SESSION_START |
הסשן באפליקציה התחיל. |
סכימת יומן המכשיר
DeviceLog
מייצג את המבנה של הרשומות ביומן המכשיר.
ייצוג ב-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.
}
| שדות | תיאור |
|---|---|
eventId |
string
פלט בלבד. בלתי משתנה. המזהה של האירוע שאליו משויך הפרמטר הזה. |
sessionId |
string
מזהה ייחודי של סשן Firebase. |
שדה איחוד |
|
log |
object (Log)
יומן Crashlytics. |
breadcrumb |
object (Breadcrumb)
נתיב הניווט של Crashlytics. |
Log
שורות יומן שסופקו על ידי מפתחים ותועדו במהלך הסשן.
ייצוג ב-JSON
{
"logTime": string,
"message": string
}
| שדות | תיאור |
|---|---|
logTime |
string (Timestamp format)
חותמת הזמן במכשיר שבה השורה נרשמה ביומן. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z-normalized ויכלול 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30". |
message |
string
הודעה ביומן. |
Breadcrumb
אירועים ב-Analytics שתועדו במהלך הסשן.
ייצוג ב-JSON
{
"eventTime": string,
"title": string,
"params": {
string: string,
...
}
}
| שדות | תיאור |
|---|---|
eventTime |
string (Timestamp format)
חותמת הזמן של האירוע במכשיר. הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z-normalized ויכלול 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30". |
title |
string
שם האירוע לצורך ניתוח. |
params |
map (key: string, value: string)
פרמטרים של אירועים. אובייקט שמכיל רשימה של צמדי מפתח: ערך. דוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |