סכימת היומן של נתונים שיוצאו ב-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
}
שדות תיאור
name string

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

platform string

פלטפורמה לנייד (Android או iOS).

bundleOrPackage string

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

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"‎.

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 שתועדו על ידי Analytics SDK במהלך הסשן.

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

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

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 ו-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

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

ייצוג ב-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 הסתיימה בגלל פסק זמן.

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

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

sessionIndex integer

מציין את מספר הסשנים מאז ההפעלה הקרה האחרונה.

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.

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

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" }.