افزودن پایش سفارشی برای کد برنامه خاص


Performance Monitoring ردگیری‌ها را جمع‌آوری می‌کند تا به شما کمک کند عملکرد برنامه‌تان را پایش کنید. ردگیری گزارشی از داده‌های عملکرد است که بین دو نقطه زمانی در برنامه‌تان ثبت شده است.

می‌توانید ردگیری‌های خودتان را برای نظارت بر داده‌های عملکرد مرتبط با کد خاصی در برنامه‌تان ایجاد کنید. با ردگیری کد سفارشی، می‌توانید مدت‌زمان لازم برای تکمیل تکلیف خاص یا مجموعه‌ای از تکالیف را در برنامه‌تان اندازه‌گیری کنید، برای مثال بار کردن مجموعه‌ای از تصاویر یا جستجوی پایگاه داده‌تان.

سنجه پیش‌فرض برای ردیابی کد سفارشی «مدت» آن است (زمان بین نقطه شروع و توقف ردیابی)، اما می‌توانید سنجه‌های سفارشی را نیز اضافه کنید.

در کدتان، ابتدا و انتهای ردگیری کد سفارشی را بااستفاده از میاناهای برنامه‌سازی کاربردی ارائه‌شده توسط کیت توسعه نرم‌افزار Performance Monitoring تعریف می‌کنید. ردگیری‌های کد سفارشی را می‌توان در هر زمانی پس‌از ایجاد شدن شروع کرد و رشته ایمن هستند.

ازآنجایی‌که سنجه پیش‌فرض جمع‌آوری‌شده برای این ردگیری‌ها «مدت» است، گاهی به آن‌ها «ردگیری‌های مدت» گفته می‌شود.

می‌توانید داده‌های این ردیابی‌ها را در زیربرگه ردیابی‌های سفارشی جدول ردیابی‌ها مشاهده کنید که در پایین داشبورد عملکرد قرار دارد (در ادامه این صفحه درباره استفاده از کنسول بیشتر بدانید).

مشخصه‌های پیش‌فرض، مشخصه‌های سفارشی، و سنجه‌های سفارشی

برای ردیابی‌های کد سفارشی، Performance Monitoring به‌طور خودکار مشخصه‌های پیش‌فرض (فراداده‌های رایج مانند کشور، مرورگر، نشانی وب صفحه، و غیره) را ثبت می‌کند تا بتوانید داده‌ها را برای ردیابی در کنسول Firebase فیلتر کنید. همچنین می‌توانید مشخصه‌های سفارشی (مثل سطح بازی یا ویژگی‌های کاربر) را اضافه و پایش کنید.

می‌توانید ردگیری کد سفارشی را بیشتر پیکربندی کنید تا سنجه‌های سفارشی را برای رویدادهای مرتبط با عملکرد که در محدوده ردگیری رخ می‌دهند ضبط کند. برای مثال، می‌توانید سنجه‌ای سفارشی برای تعداد دفعات موفقیت و عدم موفقیت حافظه نهان یا تعداد دفعاتی که واسط کاربر برای مدت زمان قابل‌توجهی غیرقابل‌پاسخ می‌شود ایجاد کنید.

مشخصه‌های سفارشی و سنجه‌های سفارشی در کنسول Firebase در کنار مشخصه‌های پیش‌فرض و سنجه پیش‌فرض برای ردیابی نمایش داده می‌شوند.

افزودن ردیابی کد سفارشی

از Performance Monitoring Trace API برای افزودن ردیابی‌های کد سفارشی برای نظارت بر کد برنامه خاص استفاده کنید.

به موارد زیر توجه کنید:

  • برنامه می‌تواند چندین رد کد سفارشی داشته باشد.
  • بیش‌از یک ردیابی کد سفارشی می‌تواند به‌طور هم‌زمان اجرا شود.
  • نام‌های ردیابی کد سفارشی باید شرایط زیر را داشته باشند: بدون فاصله سفید در ابتدا یا انتها، بدون نویسه زیرخط (_) در ابتدا، و حداکثر طول ۱۰۰ نویسه.
  • ردیابی‌های کد سفارشی از افزودن سنجه‌های سفارشی و مشخصه‌های سفارشی پشتیبانی می‌کنند.

برای شروع و توقف ردیابی کد سفارشی، کدی را که می‌خواهید ردیابی کنید با خطوط کدی مشابه زیر بپوشانید:

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 بومی مرورگر، ردگیری‌های کد سفارشی اضافه کنید. مدت‌زمان ردیابی که بااستفاده از این میانای برنامه‌سازی کاربردی اندازه‌گیری می‌شود به‌طور خودکار توسط Performance Monitoring کیت توسعه نرم‌افزار انتخاب می‌شود. استفاده از User Timing API به‌ویژه زمانی مفید است که ترجیح می‌دهید کیت توسعه نرم‌افزار Performance Monitoring را به‌صورت ناهمگام بار کنید. پس‌از مقداردهی اولیه کیت توسعه نرم‌افزار، کیت توسعه نرم‌افزار اندازه‌گیری‌هایی را که قبل‌از بار شدن آن اتفاق افتاده است ثبت می‌کند.

برای استفاده از این ویژگی، کدی را که می‌خواهید ردیابی کنید با علامت‌های «زمان‌بندی کاربر» بپوشانید:

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 برای افزودن سنجه‌های سفارشی به ردیابی‌های کد سفارشی استفاده کنید.

به موارد زیر توجه کنید:

  • نام سنجه‌های سفارشی باید شرایط زیر را داشته باشد: بدون فاصله سفید در ابتدا یا انتها، بدون نویسه زیرخط (_) در ابتدا، و حداکثر طول ۱۰۰ نویسه.
  • هر ردگیری کد سفارشی می‌تواند تا ۳۲ سنجه را ثبت کند (ازجمله سنجه پیش‌فرض مدت).

برای افزودن سنجه سفارشی، هر بار که رویداد رخ می‌دهد، خط کدی مشابه کد زیر اضافه کنید. برای مثال، این سنجه سفارشی رویدادهای مرتبط با عملکرد را که در برنامه‌تان رخ می‌دهد می‌شمارد.

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 برای افزودن مشخصه‌های سفارشی به ردگیری‌های کد سفارشی استفاده کنید.

برای استفاده از مشخصه‌های سفارشی، کدی به برنامه‌تان اضافه کنید که مشخصه را تعریف کند و آن را با ردگیری کد سفارشی خاصی مرتبط کند. هرزمان بین شروع و توقف ردیابی می‌توانید مشخصه سفارشی را تنظیم کنید.

به موارد زیر توجه کنید:

  • نام مشخصه‌های سفارشی باید شرایط زیر را داشته باشد:

    • بدون فاصله سفید در ابتدا یا انتها، بدون نویسه زیرخط (_) در ابتدا
    • فضایی وجود ندارد
    • حداکثر طول ۳۲ نویسه است
    • نویسه‌های مجاز برای نام عبارت‌اند از A-Z، a-z، و _.
  • هر ردگیری کد سفارشی می‌تواند تا ۵ مشخصه سفارشی را ضبط کند.

  • لطفاً مطمئن شوید که مشخصه‌های سفارشی حاوی اطلاعاتی نباشد که هویت فردی را برای 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();

ردگیری، مشاهده، و فیلتر کردن داده‌های عملکرد

برای مشاهده داده‌های عملکرد هم‌زمان، مطمئن شوید که برنامه‌تان از نسخه کیت توسعه نرم‌افزار «پایش عملکرد» استفاده می‌کند که با پردازش داده‌های هم‌زمان سازگار است. درباره داده‌های عملکرد هم‌زمان بیشتر بدانید.

ردگیری سنجه‌های خاص در داشبورد

برای اینکه بدانید سنجه‌های کلیدی‌تان چه روندی دارند، آن‌ها را به تابلو سنجه‌هایتان در بالای داشبورد عملکرد اضافه کنید. با دیدن تغییرات هفته‌به‌هفته می‌توانید به‌سرعت رگرسیون‌ها را شناسایی کنید یا تأیید کنید که تغییرات اخیر در کدتان باعث بهبود عملکرد می‌شود.

تصویری از تابلوی سنجه‌ها در <span class=داشبورد پایشگر کارایی Firebase" />

برای افزودن سنجه به تابلو سنجه‌ها، این مراحل را دنبال کنید:

  1. به داشبورد عملکرد در کنسول Firebase بروید.
  2. روی کارت سنجه خالی کلیک کنید، سپس سنجه موجودی را برای افزودن به تابلو انتخاب کنید.
  3. برای گزینه‌های بیشتر، روی در کارت سنجه پرشده کلیک کنید، برای مثال برای جایگزین کردن یا برداشتن سنجه.

تابلو سنجه‌ها داده‌های سنجه جمع‌آوری‌شده را درطول زمان، هم به‌صورت گرافیکی و هم به‌صورت درصد تغییر عددی نشان می‌دهد.

درباره استفاده از داشبورد بیشتر بدانید.

مشاهده ردگیری‌ها و داده‌های آن‌ها

برای مشاهده ردگیری‌ها، به داشبورد عملکرد در کنسول Firebase بروید، به جدول ردگیری‌ها پیمایش کنید، سپس روی برگه فرعی مناسب کلیک کنید. جدول برخی‌از سنجه‌های برتر را برای هر ردگیری نمایش می‌دهد و حتی می‌توانید فهرست را براساس درصد تغییر برای سنجه‌ای خاص مرتب کنید.

Performance Monitoring صفحه عیب‌یابی‌ای در کنسول Firebase ارائه می‌دهد که تغییرات سنجه را برجسته می‌کند و رسیدگی سریع به مشکلات عملکرد و به‌حداقل رساندن تأثیر آن‌ها بر برنامه‌ها و کاربران را آسان می‌کند. وقتی از مشکلات عملکرد احتمالی مطلع می‌شوید، می‌توانید از صفحه عیب‌یابی استفاده کنید، برای مثال در سناریوهای زیر:

  • سنجه‌های مربوط را در داشبورد انتخاب می‌کنید و متوجه یک دلتای بزرگ می‌شوید.
  • در جدول ردگیری‌ها، مرتب‌سازی را به‌گونه‌ای انجام می‌دهید که بزرگ‌ترین دلتاها در بالا نمایش داده شوند و تغییر درصدی قابل‌توجهی را مشاهده می‌کنید.
  • هشدار ایمیلی دریافت می‌کنید که شما را از مشکل عملکرد مطلع می‌کند.

به روش‌های زیر می‌توانید به صفحه عیب‌یابی دسترسی پیدا کنید:

  • در داشبورد سنجه، روی دکمه مشاهده جزئیات سنجه کلیک کنید.
  • در هر کارت سنجه، => مشاهده جزئیات را انتخاب کنید. صفحه عیب‌یابی اطلاعات مربوط به سنجه‌ای را که انتخاب کرده‌اید نمایش می‌دهد.
  • در جدول ردگیری‌ها، روی نام ردگیری یا هر مقدار سنجه در ردیف مرتبط با آن ردگیری کلیک کنید.
  • در هشدار ایمیلی، روی اکنون بررسی شود کلیک کنید.

وقتی روی نام ردیابی در جدول ردیابی‌ها کلیک می‌کنید، می‌توانید سنجه‌های موردعلاقه‌تان را به‌طور دقیق‌تر بررسی کنید. روی دکمه فیلتر کلیک کنید تا داده‌ها را براساس مشخصه فیلتر کنید، برای مثال:

تصویر <span class=داده‌های «پایشگر کارایی Firebase» براساس مشخصه فیلتر می‌شود" />
  • براساس نشانی وب صفحه فیلتر کنید تا داده‌های صفحه خاصی از سایتتان را مشاهده کنید
  • براساس نوع اتصال مؤثر فیلتر کنید تا ببینید اتصال 3g چگونه بر برنامه‌تان تأثیر می‌گذارد
  • براساس کشور فیلتر کنید تا مطمئن شوید مکان پایگاه داده‌تان بر منطقه خاصی تأثیر نمی‌گذارد

درباره مشاهده داده‌های ردیابی‌هایتان بیشتر بدانید.

مراحل بعدی

  • درباره استفاده از مشخصه‌ها برای بررسی داده‌های عملکرد بیشتر بدانید.

  • درباره نحوه ردیابی مشکلات عملکرد در کنسول Firebase بیشتر بدانید.

  • برای تغییرات کد که عملکرد برنامه‌تان را کاهش می‌دهد، هشدار تنظیم کنید. برای مثال، می‌توانید هشدار ایمیلی برای تیمتان پیکربندی کنید تا اگر مدت ردیابی کد سفارشی خاصی از آستانه‌ای که تنظیم کرده‌اید فراتر رفت، هشدار دریافت کنند.