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


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

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

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