تقدّم هذه الصفحة مخطط السجلّ لبيانات 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 أو الويب |
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
أول قيمة display_version للتطبيق التي تم رصد هذه المشكلة فيها، ويتم ملء هذا الحقل للمشاكل على الأجهزة الجوّالة فقط. |
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)
المفاتيح المخصّصة التي يضبطها المطوّر أثناء الجلسة كائن يحتوي على قائمة بأزواج "المفتاح": القيمة. مثال: { "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)
إزاحة البايت في صورة الرمز الثنائي التي تحتوي على الرمز البرمجي يتم عرضها للإطارات الأصلية. |
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
تكون القيمة True عندما تعطلت سلسلة المحادثات. |
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
معرّف الجلسة الأولى منذ آخر عملية تشغيل على البارد، وسيكون هذا المعرّف هو نفسه معرّف الجلسة عند تشغيل التطبيق. |
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)
مَعلمات الأحداث كائن يحتوي على قائمة بأزواج "المفتاح": القيمة. مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" }. |