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

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-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, וכולל 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

הגרסה העדכנית ביותר של האפליקציה 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, וכולל 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)

‫Apple בלבד. שגיאה לא קריטית שתועדה על ידי 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

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

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

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. המטען הייעודי יכול להיות יומן של Crashlytics או Breadcrumb. הערך 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-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" }.