إضافة تتبُّع مخصّص لرمز تطبيق معيّن


يجمع Performance Monitoring بيانات التتبّع لمساعدتك في تتبُّع أداء تطبيقك. التتبُّع هو تقرير لبيانات الأداء التي يتم تسجيلها بين نقطتَين في تطبيقك.

يمكنك إنشاء بيانات تتبُّع خاصة بك لمراقبة بيانات الأداء المرتبطة برمز محدّد في تطبيقك. باستخدام تتبُّع الرموز المخصّص، يمكنك قياس المدة التي يستغرقها تطبيقك لإكمال مهمة محدّدة أو مجموعة من المهام، على سبيل المثال، تحميل مجموعة من الصور أو إجراء طلب بحث في قاعدة البيانات.

المقياس التلقائي لتتبُّع رمز مخصّص هو "المدة" (الوقت بين نقاط البدء والتوقف للتتبُّع)، ولكن يمكنك إضافة مقاييس مخصّصة أيضًا.

في الرمز البرمجي، يمكنك تحديد بداية ونهاية عملية تتبُّع الرمز المخصّص باستخدام واجهات برمجة التطبيقات التي توفّرها حزمة تطوير البرامج (SDK) Performance Monitoring. بالنسبة إلى تطبيقات Android، يمكنك أيضًا تتبُّع طُرق معيّنة باستخدام التعليق التوضيحي @AddTrace. يمكن بدء عمليات تتبُّع الرموز المخصّصة في أي وقت بعد إنشائها، وتُعد هذه العمليات آمنة في سلاسل المحادثات.

وبما أنّ المقياس التلقائي الذي يتم جمعه لهذه التتبّعات هو "المدة"، يُطلق عليها في بعض الأحيان اسم "تتبّعات المدة".

يمكنك عرض البيانات من عمليات التتبُّع هذه في علامة التبويب الفرعية تتبُّعات الاستخدام المخصَّصة لجدول بيانات التتبُّع، والذي يظهر في أسفل لوحة بيانات الأداء (تعرَّف على مزيد من المعلومات عن استخدام وحدة التحكّم لاحقًا في هذه الصفحة).

السمات التلقائية والسمات المخصّصة والمقاييس المخصّصة

بالنسبة إلى عمليات تتبُّع الرموز البرمجية المخصّصة، يسجِّل Performance Monitoring تلقائيًا السمات التلقائية (البيانات الوصفية الشائعة مثل إصدار التطبيق والبلد والجهاز وما إلى ذلك) لكي تتمكّن من فلترة بيانات التتبُّع في وحدة تحكّم Firebase. ويمكنك أيضًا إضافة سمات مخصّصة ومراقبتها (مثل مستوى اللعبة أو خصائص المستخدمين).

يمكنك أيضًا ضبط عملية تتبُّع رموز مخصّصة لتسجيل المقاييس المخصّصة للأحداث ذات الصلة بالأداء التي تقع في نطاق عملية التتبُّع. على سبيل المثال، يمكنك إنشاء مقياس مخصّص لقياس عدد عمليات الوصول إلى ذاكرة التخزين المؤقت وعدد عمليات عدم الوصول إليها أو عدد المرات التي يصبح فيها واجهة المستخدم غير مستجيبة لفترة زمنية ملحوظة.

تظهر السمات والمقاييس المخصّصة في وحدة تحكّم Firebase إلى جانب السمات التلقائية والمقياس التلقائي للتتبّع.

إضافة عمليات تتبُّع الرموز البرمجية المخصّصة

استخدِم Performance Monitoring Trace API لإضافة عمليات تتبُّع رموز مخصّصة لمراقبة رمز تطبيق معيّن.

لاحظ ما يلي:

  • يمكن أن يتضمّن التطبيق عدة عمليات تتبُّع رموز مخصّصة.
  • يمكن تنفيذ أكثر من عملية تتبُّع رمز مخصّص واحد في الوقت نفسه.
  • يجب أن تستوفي أسماء عمليات تتبُّع الرموز المخصَّصة المتطلبات التالية: عدم استخدام أي مسافات بيضاء بادئة أو لاحقة، وعدم استخدام الشرطة السفلية البادئة (_)، والحدّ الأقصى لطول النص هو 100 حرف.
  • تتيح عمليات تتبُّع الرموز المخصّصة إضافة مقاييس مخصّصة وسمات مخصّصة.

لبدء عملية تتبُّع رموز مخصّصة وإيقافها، عليك إحاطة الرمز الذي تريد تتبُّعه باستخدام سطور الرمز المشابهة لما يلي (يستخدم هذا المثال اسم تتبُّع مخصّصًا للسمة test_trace):

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace

myTrace.stop()

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.Trace;

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace

myTrace.stop();

(اختياري) تتبُّع طُرق معيّنة باستخدام @AddTrace

تتيح تطبيقات Android أيضًا استخدام @AddTrace التعليق التوضيحي لأدوات تتبُّع الرموز المخصّصة. باستخدام هذه الميزة، يبدأ التتبع من بداية الطريقة المحددة ويتوقف عند اكتمال الطريقة، بما في ذلك أي شيء تم استدعاءه بواسطة الطريقة.

على سبيل المثال، يمكنك إنشاء تتبع رمز مخصّص يُسمى onCreateTrace يتم تشغيله عند استدعاء الطريقة onCreate().

Kotlin+KTX

// Import these Performance Monitoring classes at the top of your `.kt` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
// the `enabled` argument is optional and defaults to true
@AddTrace(name = "onCreateTrace", enabled = true)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
}

Java

// Import these Performance Monitoring classes at the top of your `.java` file
import com.google.firebase.perf.FirebasePerformance;
import com.google.firebase.perf.metrics.AddTrace;

// Add the `@AddTrace` annotation above the method you want to trace
@Override
@AddTrace(name = "onCreateTrace", enabled = true /* optional */)
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
}

إضافة مقاييس مخصّصة إلى عمليات تتبُّع الرموز المخصّصة

استخدِم Performance Monitoring Trace API لإضافة مقاييس مخصّصة إلى عمليات تتبُّع الرموز المخصّصة.

لاحظ ما يلي:

  • يجب أن تستوفي أسماء المقاييس المخصّصة المتطلبات التالية: عدم تضمين مسافات بيضاء في بداية الاسم أو نهايته، وعدم تضمين شرطة سفلية (_) في بداية الاسم، الحد الأقصى للطول هو 100 حرف.
  • يمكن لكل عملية تتبُّع للرمز المخصّص تسجيل ما يصل إلى 32 مقياسًا (بما في ذلك مقياس المدة التلقائي).

لإضافة مقياس مخصّص، أضِف سطرًا من الرمز مشابهًا لما يلي في كل مرة يقع فيها الحدث. على سبيل المثال، يحصِّل هذا المقياس المخصّص الأحداث ذات الصلة بالأداء التي تحدث في تطبيقك، مثل عمليات الوصول إلى ذاكرة التخزين المؤقت وعدم الوصول إليها (باستخدام مثال على أسماء الأحداث item_cache_hit وitem_cache_miss ومقدار الزيادة 1).

Kotlin+KTX

val myTrace = Firebase.performance.newTrace("test_trace")
myTrace.start()

// code that you want to trace (and log custom metrics)
val item = cache.fetch("item")
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1)
} else {
    myTrace.incrementMetric("item_cache_miss", 1)
}

myTrace.stop()

Java

Trace myTrace = FirebasePerformance.getInstance().newTrace("test_trace");
myTrace.start();

// code that you want to trace (and log custom metrics)
Item item = cache.fetch("item");
if (item != null) {
    myTrace.incrementMetric("item_cache_hit", 1);
} else {
    myTrace.incrementMetric("item_cache_miss", 1);
}

myTrace.stop();

إنشاء سمات مخصّصة لعمليات تتبُّع الرموز المخصّصة

استخدِم Performance Monitoring Trace API لإضافة سمات مخصّصة إلى عمليات تتبُّع الرموز البرمجية المخصّصة.

لاستخدام سمات مخصّصة، يمكنك إضافة رمز إلى تطبيقك يحدّد السمة ويربطها بتتبُّع رموز مخصّص معيّن. يمكنك ضبط السمة المخصّصة في أي وقت بين وقت بدء عملية التتبُّع ووقت توقفها.

لاحظ ما يلي:

  • يجب أن تستوفي أسماء السمات المخصّصة المتطلبات التالية:

    • لا تحتوي على مسافة بيضاء بادئة أو لاحقة، ولا تحتوي على شرطة سفلية بادئة (_)
    • ما مِن مساحات
    • يجب أن يتألّف من 32 حرفًا كحدّ أقصى.
    • الأحرف المسموح بها للاسم هي A-Z وa-z و_.
  • يمكن لكل عملية تتبُّع رموز مخصّصة تسجيل ما يصل إلى 5 سمات مخصّصة.

  • ويُرجى التأكّد من أنّ السمات المخصّصة لا تتضمّن أي معلومات تحدّد هوية الأشخاص في Google.

    مزيد من المعلومات عن هذه الإرشادات

Kotlin+KTX

Firebase.performance.newTrace("test_trace").trace {
    // Update scenario.
    putAttribute("experiment", "A")

    // Reading scenario.
    val experimentValue = getAttribute("experiment")

    // Delete scenario.
    removeAttribute("experiment")

    // Read attributes.
    val traceAttributes = this.attributes
}

Java

Trace trace = FirebasePerformance.getInstance().newTrace("test_trace");

// Update scenario.
trace.putAttribute("experiment", "A");

// Reading scenario.
String experimentValue = trace.getAttribute("experiment");

// Delete scenario.
trace.removeAttribute("experiment");

// Read attributes.
Map<String, String> traceAttributes = trace.getAttributes();

تتبُّع بيانات الأداء وعرضها وتصفيتها

تتبُّع مقاييس محددة في لوحة البيانات

لمعرفة مؤشرات المقاييس الرئيسية، أضِفها إلى لوحة المقاييس في أعلى لوحة بيانات الأداء. يمكنك التعرّف سريعًا على حالات التراجع من خلال الاطّلاع على التغييرات من أسبوع لآخر أو التحقّق من أنّ التغييرات الأخيرة في الرمز البرمجي تحسّن الأداء.

صورة لوحة المقاييس في <span class=لوحة بيانات "مراقبة أداء Firebase" />

لإضافة مقياس إلى لوحة المقاييس، اتّبِع الخطوات التالية:

  1. انتقِل إلى لوحة بيانات الأداء في وحدة التحكّم Firebase.
  2. انقر على بطاقة مقياس فارغة، ثم اختَر مقياسًا حاليًا لإضافته إلى لوحة البيانات.
  3. انقر على في بطاقة مقياس تمت تعبئتها للاطّلاع على مزيد من الخيارات، مثل استبدال مقياس أو إزالته.

تعرِض لوحة المقاييس بيانات المقاييس التي تم جمعها بمرور الوقت، سواء في شكل بياني أو كنسبة مئوية تغيُّر عددية.

اطّلِع على مزيد من المعلومات عن استخدام لوحة البيانات.

عرض عمليات التتبّع وبياناتها

لعرض بيانات التتبُّع، انتقِل إلى لوحة بيانات الأداء في وحدة التحكّم Firebase، وانتقِل للأسفل إلى جدول بيانات التتبُّع، ثم انقر على علامة التبويب الفرعية المناسبة. يعرض الجدول بعض أهم المقاييس لكل عملية تتبُّع، ويمكنك ترتيب القائمة حسب النسبة المئوية للتغيير لمقياس معيّن.

يوفّر Performance Monitoring صفحة تحديد المشاكل وحلّها في وحدة تحكّم Firebase لتسليط الضوء على التغييرات في المقاييس، ما يسهِّل معالجة مشاكل الأداء في تطبيقاتك ومستخدميها بسرعة وتقليل تأثيرها. يمكنك استخدام صفحة تحديد المشاكل وحلّها عند التعرّف على مناقشة احتمالية مشاكل في الأداء، على سبيل المثال، في السيناريوهات التالية:

  • اختَرت المقاييس ذات الصلة في لوحة البيانات ولاحظت اختلافًا كبيرًا.
  • في جدول عمليات التتبُّع، يمكنك الترتيب لعرض أكبر قيم دلتا في أعلى الصفحة، وستلاحظ تغييرًا كبيرًا في النسبة المئوية.
  • ستتلقّى تنبيهًا عبر البريد الإلكتروني لإعلامك بمشكلة في الأداء.

يمكنك الوصول إلى صفحة تحديد المشاكل وحلّها بالطرق التالية:

  • في لوحة بيانات المقياس، انقر على الزر عرض تفاصيل المقياس.
  • في أي بطاقة مقياس، انقر على => عرض التفاصيل. تعرض صفحة تحديد المشاكل وحلّها معلومات حول المقياس الذي اخترته.
  • في جدول بيانات التتبّع، انقر على اسم عملية التتبّع أو أي قيمة مقياس في الصف المرتبط بسجلّ التتبّع هذا.
  • في تنبيه عبر البريد الإلكتروني، انقر على التحقيق الآن.

عند النقر على اسم تتبع في جدول عمليات التتبّع، يمكنك بعد ذلك التوغّل في المقاييس التي تهمّك. انقر على الزر فلترة لفلترة البيانات حسب السمة، على سبيل المثال:

صورة <span class=تصفية بيانات "مراقبة أداء Firebase" حسب السمة" />
  • الفلترة حسب إصدار التطبيق للاطّلاع على بيانات عن إصدار سابق أو أحدث إصدار
  • يمكنك الفلترة حسب الجهاز لمعرفة طريقة تعامل الأجهزة القديمة مع تطبيقك.
  • الفلترة حسب البلد للتأكّد من أنّ موقع قاعدة البيانات لا يؤثّر في منطقة معيّنة

اطّلِع على مزيد من المعلومات حول عرض بيانات عمليات التتبّع.

الخطوات التالية

  • اطّلِع على مزيد من المعلومات عن استخدام السمات لفحص بيانات الأداء.

  • اطّلِع على مزيد من المعلومات حول كيفية تتبُّع مشاكل الأداء في وحدة تحكّم Firebase.

  • إعداد تنبيهات لتغييرات الرموز التي تؤدي إلى خفض مستوى أداء تطبيقك. على سبيل المثال، يمكنك ضبط تنبيه عبر البريد الإلكتروني لفريقك في حال تجاوزت مدة تتبُّع الرموز المخصّصة الحدّ الذي حدّدته.

  • عرض تقارير تفصيلية عن جلسات المستخدِمين التي يمكنك فيها الاطّلاع على تتبُّع محدّد في سياق مخطط زمني للتتبُّعات الأخرى التي تم جمعها أثناء الجلسة نفسها