סכימת היומן של נתונים שיוצאו ב-Cloud Logging

בדף הזה מפורטת סכימת היומן של נתוני Crashlytics ונתוני הסשנים של Firebase שיוצאו אל Cloud Logging.



סכימה של Crashlytics

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

חובה. פלט בלבד. לא ניתן לשינוי. מזהה. שם המשאב של האירוע. פורמט: projects/{project}/apps/{app_id}/events/{event}.

platform string

‫ANDROID,‏ IOS או WEB.

bundleOrPackage string

שם החבילה של אפליקציות ל-iOS או שם החבילה של אפליקציות ל-Android. פורמט: com.mycompany.myapp.

eventId string

פלט בלבד. לא ניתן לשינוי. המזהה הייחודי של האירוע מוקצה במהלך העיבוד.

sessionId string

המזהה הייחודי של הסשן ב-Firebase.

eventTime string (Timestamp format)

חותמת הזמן של המכשיר שבו האירוע תועד.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z ויכלול 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 ויכלול 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 ויכלול 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

הגרסה הראשונה של האפליקציה (display_version) שבה הבעיה זוהתה. השדה הזה מאוכלס רק בבעיות בנייד.

last_seen_version string

הגרסה האחרונה של האפליקציה שבה הבעיה הזו זוהתה, מאוכלסת רק בבעיות בנייד.

first_time_seen string (Timestamp format)

הפעם הראשונה שבה הבעיה זוהתה.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z ויכלול 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 ויכלול 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)

שימוש בדיסק או בזיכרון Flash במכשיר נייד.

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

גרסת ה-SDK של Crashlytics.

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 ודוח הקריסות שלה.

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

שימוש בדיסק או בזיכרון Flash במכשיר נייד. לא מדווח בכל המכשירים.

ייצוג ב-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

שם קובץ המקור שבו נמצא ה-frame.

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 והמעקב אחר מחסנית הקריאות שלה. רק מאפליקציות ל-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 קבע שהתקלה התרחשה בשרשור הזה.

frames[] object (Frame)

המסגרות ב-stacktrace של החריגה.

Error

שגיאה לא קריטית ודוח הקריסות שלה, רק מאפליקציות של אפל.

ייצוג ב-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)

המסגרות במעקב אחר מחסנית הקריאות של השגיאה.

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)

הפריימים במעקב אחר מחסנית השרשור.

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

The thread was native and we could not heuristically determine that it was was waiting, so assume it's 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

המזהה של הסשן הראשון מאז ההפעלה האחרונה במצב התחלתי (cold start). המזהה הזה ו-sessionId יהיו זהים בהפעלות של האפליקציה.

sessionIndex integer

מציין את מספר הסשנים מאז ההפעלה האחרונה במצב התחלתי (cold start).

firebaseInstallationId string

מזהה באופן ייחודי מכשיר שמותקנות בו אפליקציות Firebase.

eventTime string (Timestamp format)

חותמת זמן ההתחלה של אירוע הסשן.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה מנורמל ל-Z ויכלול 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

מייצג את המבנה של הרשומות ב-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.

שדה של איחוד payload. המטען הייעודי (payload) יכול להיות יומן של Crashlytics או נתיב ניווט. הערך payload יכול להיות רק אחד מהבאים:

log object (Log)

יומן Crashlytics.

breadcrumb object (Breadcrumb)

נתיב ניווט של Crashlytics.

Log

שורות ביומן שסופקו על ידי המפתח ותועדו במהלך הסשן.

ייצוג ב-JSON

{
  "logTime": string,
  "message": string
}
שדות תיאור
logTime string (Timestamp format)

חותמת הזמן של המכשיר כשהשורה נרשמה ביומן.

משתמש ב-RFC 3339, שבו הפלט שנוצר תמיד יהיה מנורמל ל-Z וישתמש ב-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 וישתמש ב-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

שם האירוע ב-Analytics.

params map (key: string, value: string)

פרמטרים של אירועים.

אובייקט שמכיל רשימה של צמדי "מפתח": ערך. לדוגמה: { "name": "wrench", "mass": "1.3kg", "count": "3" }.