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


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

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

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

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

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

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

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

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

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

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

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

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

لاحظ ما يلي:

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

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

Web

import { trace } from "firebase/performance";

const t = trace(perf, "CUSTOM_TRACE_NAME");
t.start();

// Code that you want to trace 
// ...

t.stop();

Web

const trace = perf.trace("CUSTOM_TRACE_NAME");
trace.start();

// Code that you want to trace 
// ...

trace.stop();

إضافة عمليات تتبُّع الرموز المخصّصة باستخدام User Timing API

بالإضافة إلى Performance Monitoring Trace API، يمكنك إضافة عمليات تتبُّع مخصّصة للرموز البرمجية باستخدام User Timing API المضمّنة في المتصفّح. يتم تلقائيًا تسجيل مدة التتبُّع التي يتم قياسها باستخدام واجهة برمجة التطبيقات هذه من خلال حزمة تطوير البرامج (SDK) Performance Monitoring. يكون استخدام User Timing API مفيدًا بشكل خاص إذا كنت تفضّل تحميل حزمة SDK الخاصة بـ Performance Monitoring بشكل غير متزامن. بعد إعداد حزمة تطوير البرامج (SDK)، ستسجّل هذه الحزمة القياسات التي تمّت قبل تحميلها.

لاستخدام هذه الميزة، ضع الرمز الذي تريد تتبُّعه بين علامات "وقت المستخدم":

Web

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

Web

const performance = window.performance;

performance.mark("measurementStart");

// Code that you want to trace 
// ...

performance.mark("measurementStop");
performance.measure("customTraceName", "measurementStart", "measurementStop");

يُرجى العِلم أنّ performance في المثال أعلاه يشير إلى العنصر window.performance في المتصفّح.

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

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

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

لاحظ ما يلي:

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

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

Web

import { trace } from "firebase/performance";

async function getInventory(inventoryIds) {
  const t = trace(perf, "inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  t.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  t.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  t.stop();

  return inventoryData;
}

Web

async function getInventory(inventoryIds) {
  const trace = perf.trace("inventoryRetrieval");

  // Tracks the number of IDs fetched (the metric could help you to optimize in the future)
  trace.incrementMetric("numberOfIds", inventoryIds.length);

  // Measures the time it takes to request inventory based on the amount of inventory
  trace.start();
  const inventoryData = await retrieveInventory(inventoryIds);
  trace.stop();

  return inventoryData;
}

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

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

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

لاحظ ما يلي:

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

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

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

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

Web

import { trace } from "firebase/performance";

const t = trace(perf, "test_trace");
t.putAttribute("experiment", "A");

// Update scenario
t.putAttribute("experiment", "B");

// Reading scenario
const experimentValue = t.getAttribute("experiment");

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

// Read attributes
const traceAttributes = t.getAttributes();

Web

const trace = perf.trace("test_trace");
trace.putAttribute("experiment", "A");

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

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

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

// Read attributes
const traceAttributes = trace.getAttributes();

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

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

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

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

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

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

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

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

مزيد من المعلومات عن استخدام لوحة البيانات

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

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

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

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

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

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

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

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

مزيد من المعلومات حول عرض بيانات عمليات التتبُّع

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