สคีมาบันทึกสำหรับข้อมูลที่ส่งออกใน 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

display_version ของแอปล่าสุดที่พบปัญหานี้ ซึ่งสร้างขึ้นสำหรับปัญหาบนอุปกรณ์เคลื่อนที่เท่านั้น

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)

การใช้งานดิสก์/แฟลชของอุปกรณ์เคลื่อนที่

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 ที่บันทึกโดย Analytics SDK ระหว่างเซสชัน

blameFrame object (Frame)

เฟรมสแต็กเทรซที่การประมวลผล Crashlytics ระบุว่ามีปัญหา อาจไม่แสดงในเครื่องมือวิเคราะห์ในอนาคต

exceptions[] object (Exception)

Android และเว็บเท่านั้น ข้อยกเว้นที่เกิดขึ้นระหว่างเหตุการณ์นี้ ข้อยกเว้นที่ซ้อนกันจะแสดงตามลำดับเวลาย้อนกลับ เพื่อให้ระเบียนสุดท้ายเป็นข้อยกเว้นแรกที่แสดงขึ้น

errors[] object (Error)

Apple เท่านั้น ข้อผิดพลาดที่ไม่ร้ายแรงซึ่ง iOS SDK บันทึกไว้และ Stack Trace ของข้อผิดพลาดดังกล่าว

threads[] object (Thread)

ชุดข้อความของแอปพลิเคชันที่แสดง ณ เวลาที่มีการบันทึกเหตุการณ์ แต่ละรายการจะมีสแต็กเทรซ ระบบจะระบุว่าชุดข้อความหนึ่งเป็นสาเหตุของข้อผิดพลาด

processState string

สถานะของกระบวนการของแอป ณ เวลาที่เกิดเหตุการณ์

issueTitle string

ชื่อของปัญหาที่มีการจัดกลุ่มเหตุการณ์ ซึ่งโดยปกติจะเป็นไฟล์ต้นฉบับหรือชื่อเมธอด

issueSubtitle string

ชื่อย่อยของปัญหาที่มีการจัดกลุ่มเหตุการณ์ ซึ่งมักจะเป็นสัญลักษณ์หรือข้อความแสดงข้อยกเว้น

buildStamp string

ข้อมูลเมตาที่ได้จากระบบบิลด์ของแอป ซึ่งรวมถึงข้อมูลที่เก็บการควบคุมเวอร์ชัน

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

เป็นจริงเมื่อการวิเคราะห์ 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

เป็นจริงสำหรับข้อยกเว้นทั้งหมด ยกเว้นข้อยกเว้นที่แสดงล่าสุด (เช่น ระเบียนแรก)

title string

ชื่อของข้อยกเว้น

subtitle string

คำบรรยายของข้อยกเว้น

blamed boolean

เป็นจริงเมื่อการวิเคราะห์ Crashlytics ระบุว่าเทรดนี้เป็นจุดที่เกิดข้อผิดพลาด

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

เป็นจริงเมื่อการวิเคราะห์ Crashlytics ระบุว่าสแต็กเทรซในข้อผิดพลาดนี้เป็นจุดที่เกิดข้อผิดพลาด

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

เป็นจริงเมื่อชุดข้อความขัดข้อง

name string

ชื่อชุดข้อความ

queue string

คิวที่ชุดข้อความทำงานอยู่

signal string

ชื่อสัญญาณที่ทำให้แอปขัดข้อง แสดงเฉพาะในเทรดเนทีฟที่ขัดข้อง

signalCode string

โค้ดของสัญญาณที่ทำให้แอปขัดข้อง แสดงเฉพาะในเทรดเนทีฟที่ขัดข้อง

crashAddress string (int64 format)

ที่อยู่ของสัญญาณที่ทำให้แอปพลิเคชันขัดข้อง จะแสดงเฉพาะในเทรดเนทีฟที่ขัดข้องเท่านั้น

title string

ชื่อชุดข้อความ

subtitle string

ชื่อรองของชุดข้อความ

blamed boolean

เป็นจริงเมื่อการวิเคราะห์ Crashlytics ระบุว่า Stack Trace ในชุดข้อความนี้เป็นจุดที่เกิดข้อผิดพลาด

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

ตัวระบุของเซสชันแรกนับตั้งแต่ 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

ฟิลด์ Union 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

ชื่อเหตุการณ์การวิเคราะห์

params map (key: string, value: string)

พารามิเตอร์เหตุการณ์

ออบเจ็กต์ที่มีรายการคู่ "คีย์": ค่า ตัวอย่าง: { "name": "wrench", "mass": "1.3kg", "count": "3" }