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


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

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

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

در کدتان، ابتدا و انتهای ردگیری کد سفارشی را بااستفاده از میاناهای برنامه‌سازی کاربردی ارائه‌شده توسط کیت توسعه نرم‌افزار Performance Monitoring تعریف می‌کنید. برای برنامه‌های Android، همچنین می‌توانید روش‌های خاصی را بااستفاده از حاشیه‌نویسی @AddTrace پایش کنید. ردگیری‌های کد سفارشی را می‌توان در هر زمانی پس‌از ایجاد شدن شروع کرد و رشته ایمن هستند.

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

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

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

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

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

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

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

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

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

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

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

Kotlin

// 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

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

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

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

برای افزودن سنجه سفارشی، هر بار که رویداد رخ می‌دهد، خط کدی مشابه کد زیر اضافه کنید. برای مثال، این سنجه سفارشی رویدادهای مرتبط با عملکرد را که در برنامه‌تان رخ می‌دهد می‌شمارد، مثل موفقیت و عدم موفقیت در حافظه نهان (بااستفاده از نام‌های رویداد نمونه item_cache_hit و item_cache_miss و افزایش 1).

Kotlin

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

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

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

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

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

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

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

Kotlin

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 بیشتر بدانید.

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

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