نظارت سفارشی برای کد برنامه خاص اضافه کنید


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

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

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

در کد خود، ابتدا و انتهای یک ردیابی کد سفارشی را با استفاده از APIهای ارائه شده توسط Performance Monitoring SDK تعریف می‌کنید.ردیابی کدهای سفارشی را می‌توان در هر زمانی پس از ایجاد آنها آغاز کرد و از نظر thread safe هستند.

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

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

ویژگی‌های پیش‌فرض، ویژگی‌های سفارشی و معیارهای سفارشی

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

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

ویژگی‌های سفارشی و معیارهای سفارشی در کنسول Firebase در کنار ویژگی‌های پیش‌فرض و معیارهای پیش‌فرض برای ردیابی نمایش داده می‌شوند.

اضافه کردن رد کدهای سفارشی

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

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

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

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

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();

با استفاده از رابط برنامه‌نویسی زمان‌بندی کاربر، ردپاهای کد سفارشی اضافه کنید

علاوه بر API ردیابی Performance Monitoring ، می‌توانید با استفاده از API زمان‌بندی کاربر بومی مرورگر، ردیابی‌های کد سفارشی اضافه کنید. مدت زمان ردیابی اندازه‌گیری شده با استفاده از این API به طور خودکار توسط SDK Performance Monitoring دریافت می‌شود. استفاده از API زمان‌بندی کاربر به ویژه در صورتی مفید است که ترجیح می‌دهید SDK Performance Monitoring به صورت غیرهمزمان بارگذاری کنید. پس از مقداردهی اولیه SDK، SDK اندازه‌گیری‌هایی را که قبل از بارگذاری آن اتفاق افتاده است، ثبت می‌کند.

برای استفاده از این ویژگی، کدی را که می‌خواهید ردیابی کنید، با علامت‌های زمان‌بندی کاربر (User Timing marks) بپوشانید:

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 مرورگر اشاره دارد.

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

معیارهای سفارشی را به ردیابی‌های کد سفارشی اضافه کنید

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

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

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

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

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;
}

ایجاد ویژگی‌های سفارشی برای ردیابی کدهای سفارشی

از API ردیابی Performance Monitoring برای افزودن ویژگی‌های سفارشی به ردیابی‌های کد سفارشی استفاده کنید.

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

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

  • نام‌های مربوط به ویژگی‌های سفارشی باید شرایط زیر را داشته باشند:

    • بدون فاصله‌ی خالی در ابتدا یا انتهای کاراکتر، بدون کاراکتر زیرخط ( _ ) در ابتدای کاراکتر
    • بدون فاصله
    • حداکثر طول ۳۲ کاراکتر است
    • کاراکترهای مجاز برای نام عبارتند از AZ ، az و _ .
  • هر ردیابی کد سفارشی می‌تواند تا ۵ ویژگی سفارشی را ثبت کند.

  • لطفاً مطمئن شوید که ویژگی‌های سفارشی حاوی هیچ اطلاعاتی نیستند که هویت شخصی را برای گوگل مشخص کند.

    درباره این دستورالعمل بیشتر بدانید

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= داشبورد نظارت بر عملکرد فایربیس" />

برای اضافه کردن یک معیار به جدول معیارهای خود، این مراحل را دنبال کنید:

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

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

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

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

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

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

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

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

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

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

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

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

مراحل بعدی

  • درباره استفاده از ویژگی‌ها برای بررسی داده‌های عملکرد بیشتر بدانید.

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

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