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


يجمع 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.

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

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