סכימת היומן של נתונים שיוצאו ב-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"‎.

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

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

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

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

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

שדה איחוד 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" }.