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


يجمع 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 مفيدًا بشكل خاص إذا كنت تفضّل carregarPerformance Monitoring SDK بشكل غير متزامن. بعد إعداد حزمة تطوير البرامج (SDK)، ستبدأ حزمة 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 للصفحة لعرض بيانات صفحة معيّنة من موقعك الإلكتروني
  • يمكنك الفلترة حسب نوع الاتصال الفعّال لمعرفة مدى تأثير الاتصال بشبكة الجيل الثالث في تطبيقك.
  • فلترة البيانات حسب البلد للتأكّد من أنّ موقع قاعدة البيانات لا يؤثّر في منطقة معيّنة

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

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

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

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

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