تقدّم هذه الصفحة مخطّط السجلّ لبيانات 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,
"routePath": string
}
| الحقول | الوصف |
|---|---|
name |
string
مطلوب النتائج فقط.
غير قابل للتغيير: المعرّف: اسم مورد الحدث التنسيق:
|
platform |
string
ANDROID أو IOS أو WEB |
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". |
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
الإصدار الأول من التطبيق الذي ظهرت فيه هذه المشكلة، ويتم ملؤه للمشاكل على الأجهزة الجوّالة فقط. |
last_seen_version |
string
يشير هذا الحقل إلى أحدث إصدار_معروض من التطبيق ظهرت فيه هذه المشكلة، ويتم ملؤه للمشاكل المتعلّقة بالأجهزة الجوّالة فقط. |
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)
المفاتيح المخصّصة التي يضبطها المطوّر أثناء الجلسة عنصر يحتوي على قائمة بأزواج "key": value. مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |
installationUuid |
string
المعرّف الفريد لتثبيت تطبيق التحكّم بجهاز آخر يُستخدَم هذا الحقل لاحتساب العدد الفريد للمستخدمين المتأثرين. |
crashlyticsSdkVersion |
string
إصدار حزمة تطوير البرامج (SDK) من Crashlytics |
appOrientation |
string
اتجاه التطبيق في وقت التعطُّل (عمودي أو أفقي) |
deviceOrientation |
string
اتجاه الجهاز في وقت التعطُّل (عمودي أو أفقي) |
logs[] |
object (Log)
الرسائل المسجّلة التي سجّلها المطوّر أثناء الجلسة |
breadcrumbs[] |
object (Breadcrumb)
أحداث "إحصاءات Google" التي سجّلتها حزمة تطوير البرامج (SDK) لخدمة "إحصاءات Google" خلال الجلسة |
blameFrame |
object (Frame)
إطار تتبُّع تسلسل استدعاء الدوال البرمجية الذي تم تحديده من خلال معالجة Crashlytics وقد لا يكون متوفّرًا في المحلّل المستقبلي. |
exceptions[] |
object (Exception)
على أجهزة Android والويب فقط الاستثناءات التي حدثت خلال هذا الحدث يتم عرض الاستثناءات المتداخلة بترتيب زمني عكسي، بحيث يكون السجلّ الأخير هو الاستثناء الأول الذي تم طرحه. |
errors[] |
object (Error)
Apple فقط. خطأ غير خطير تم رصده من خلال حزمة تطوير البرامج (SDK) لنظام التشغيل iOS وتتبُّع تسلسل استدعاء الدوال البرمجية الخاص به |
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
إطار في تتبُّع تسلسل استدعاء الدوال البرمجية
تمثيل 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)
The byte offset into the binary image that contains the code. يتم عرضها للإطارات الأصلية. |
address |
string (int64 format)
العنوان في الصورة الثنائية التي تحتوي على الرمز تظهر هذه السمة في الإطارات المدمجة مع المحتوى. |
library |
string
الاسم المعروض للمكتبة التي تتضمّن الإطار |
owner |
string
أحد الخيارات التالية: DEVELOPER أو VENDOR أو RUNTIME أو PLATFORM أو SYSTEM. |
blamed |
boolean
تكون القيمة "صحيح" عندما يحدّد تحليل Crashlytics أنّ هذا الإطار من المحتمل أن يكون سبب الخطأ. |
Exception
استثناء في Java أو Javascript وتتبُّع تسلسل استدعاء الدوال البرمجية الخاص به فقط من تطبيقات 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)
الإطارات في تتبُّع تسلسل استدعاء الدوال البرمجية للاستثناء |
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 أنّ تتبُّع تسلسل استدعاء الدوال البرمجية في هذا السلسلة هو مكان حدوث الخطأ. |
frames[] |
object (Frame)
الإطارات في تتبُّع تسلسل استدعاء الدوال البرمجية لسلسلة التعليمات |
threadId |
string (int64 format)
رقم تعريف سلسلة المحادثات، وهو متاح فقط لسلاسل محادثات ANR. |
sysThreadId |
string (int64 format)
رقم تعريف النظام لسلسلة المحادثات، وهو متاح فقط لسلاسل محادثات ANR. |
threadState |
enum (State)
النتائج فقط. حالة سلسلة التعليمات في وقت حدوث خطأ ANR |
State
حالة سلسلة التعليمات عند حدوث خطأ ANR
| عمليات التعداد | الوصف |
|---|---|
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
الجلسات التي سجّلتها حزمة تطوير البرامج (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
معرّف الجلسة الأولى منذ آخر تشغيل على البارد وسيكون هذا المعرّف و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 التي يتم تسجيلها
| عمليات التعداد | الوصف |
|---|---|
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 |
حقل الربط |
|
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
أحداث "إحصاءات Google" التي تم تسجيلها خلال الجلسة
تمثيل 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)
مَعلمات الأحداث عنصر يحتوي على قائمة بأزواج "key": value. مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |