หน้านี้มีสคีมาบันทึกสำหรับข้อมูลที่ส่งออก Crashlyticsและข้อมูลเซสชัน Firebase ใน Cloud Logging
สคีมาเซสชัน Firebase (หากเปิดใช้การส่งออกข้อมูลเซสชัน)
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
ต้องระบุ เอาต์พุตเท่านั้น
เปลี่ยนแปลงไม่ได้ ตัวระบุ ชื่อของ
ทรัพยากรเหตุการณ์ รูปแบบ
|
platform |
string
แพลตฟอร์มอุปกรณ์เคลื่อนที่ (Android หรือ iOS) |
bundleOrPackage |
string
ชื่อชุดสำหรับแอป iOS หรือชื่อแพ็กเกจของแอป Android
รูปแบบ: |
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" |
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 ที่ SDK ของ Analytics บันทึกไว้ในระหว่างเซสชัน |
blameFrame |
object (Frame)
เฟรมสแต็กเทรซที่การประมวลผลของ Crashlytics ระบุว่าเป็นสาเหตุ อาจไม่มีในเครื่องมือวิเคราะห์ในอนาคต |
exceptions[] |
object (Exception)
Android เท่านั้น ข้อยกเว้นที่เกิดขึ้นระหว่างเหตุการณ์นี้ ระบบจะแสดงข้อยกเว้นที่ซ้อนกัน ตามลำดับเวลาแบบย้อนหลัง เพื่อให้ บันทึกล่าสุดเป็นข้อยกเว้นแรกที่เกิดขึ้น |
errors[] |
object (Error)
Apple เท่านั้น ข้อผิดพลาดที่ไม่ร้ายแรงที่ SDK ของ iOS จับได้และ Stacktrace |
threads[] |
object (Thread)
เธรดของแอปพลิเคชันที่แสดงในขณะที่บันทึกเหตุการณ์ แต่ละไฟล์จะมี Stacktrace ระบบจะระบุว่าชุดข้อความ 1 ชุดเป็นสาเหตุของข้อผิดพลาด |
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
เป็นจริงเมื่อการวิเคราะห์ของ 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
เป็นจริงสำหรับข้อยกเว้นทั้งหมด ยกเว้นข้อยกเว้นที่ส่งผ่านล่าสุด (เช่น บันทึกแรก) |
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 ระบุว่า 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
เป็นจริงเมื่อชุดข้อความขัดข้อง |
name |
string
ชื่อของเธรด |
queue |
string
คิวที่ชุดข้อความทำงานอยู่ |
signal |
string
ชื่อของสัญญาณที่ทำให้แอปขัดข้อง มีเฉพาะใน เธรดเนทีฟที่ขัดข้อง |
signalCode |
string
รหัสของสัญญาณที่ทำให้แอปขัดข้อง มีเฉพาะใน เธรดเนทีฟที่ขัดข้อง |
crashAddress |
string (int64 format)
ที่อยู่ของสัญญาณที่ทำให้แอปพลิเคชันขัดข้อง มีเฉพาะในเธรดเนทีฟที่ขัดข้องเท่านั้น |
title |
string
ชื่อของเธรด |
subtitle |
string
ชื่อรองของชุดข้อความ |
blamed |
boolean
เป็นจริงเมื่อการวิเคราะห์ของ 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 สามารถเรียกใช้ได้ |
THREAD_STATE_TIMED_WAITING |
ชุดข้อความรออยู่โดยมีระยะหมดเวลา |
THREAD_STATE_BLOCKED |
ชุดข้อความถูกบล็อก |
THREAD_STATE_WAITING |
ชุดข้อความรออยู่ |
THREAD_STATE_NEW |
เริ่มชุดข้อความแล้ว แต่ยังไม่ได้เรียกใช้สิ่งใด |
THREAD_STATE_NATIVE_RUNNABLE |
เธรดเป็นแบบเนทีฟและเราไม่สามารถระบุได้โดยใช้ฮิวริสติกว่า เธรดกำลังรออยู่ ดังนั้นจึงถือว่าเธรดเรียกใช้ได้ |
THREAD_STATE_NATIVE_WAITING |
เราพิจารณาตามหลักการฮิวริสติกแล้วพบว่าเธรดกำลังรอ |
สคีมาเซสชัน Firebase
FirebaseSessionEvent
เซสชันที่บันทึกโดย SDK เซสชันคุณภาพของแอป Firebase
การแสดงผลในรูปแบบ 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
ระบุจํานวนเซสชันนับตั้งแต่การเริ่มระบบแบบเย็นครั้งล่าสุด |
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 |
|
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" } |