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


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

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

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

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

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

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

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

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

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

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

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

از Performance Monitoring Trace API (Swift | Obj-C) برای افزودن ردیابی‌های کد سفارشی برای نظارت بر کد برنامه خاص استفاده کنید.

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

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

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

Swift

توجه: این محصول Firebase در macOS،‏ Mac Catalyst، و هدف‌های watchOS دردسترس نیست.
// Add the Performance Monitoring module to your header
import FirebasePerformance

let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

// code that you want to trace

trace.stop()

Objective-C

توجه: این محصول Firebase در macOS،‏ Mac Catalyst، و هدف‌های watchOS دردسترس نیست.
// Add the Performance Monitoring module to your header
@import FirebasePerformance;

FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

// code that you want to trace

[trace stop];

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

از Performance Monitoring Trace API (Swift | Obj-C) برای افزودن سنجه‌های سفارشی به ردیابی‌های کد سفارشی استفاده کنید.

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

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

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

Swift

توجه: این محصول Firebase در macOS،‏ Mac Catalyst، و هدف‌های watchOS دردسترس نیست.
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.incrementMetric("EVENT_NAME", by: 1)
// code that you want to trace (and log custom metrics)

trace.stop()

Objective-C

توجه: این محصول Firebase در macOS،‏ Mac Catalyst، و هدف‌های watchOS دردسترس نیست.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace incrementMetric:@"EVENT_NAME" byInt:1];
// code that you want to trace (and log custom metrics)

[trace stop];

ایجاد مشخصه‌های سفارشی برای ردگیری‌های کد سفارشی

از Performance Monitoring Trace API (Swift | Obj-C) برای افزودن مشخصه‌های سفارشی به ردیابی‌های کد سفارشی استفاده کنید.

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

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

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

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

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

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

Swift

توجه: این محصول Firebase در macOS،‏ Mac Catalyst، و هدف‌های watchOS دردسترس نیست.
let trace = Performance.startTrace(name: "CUSTOM_TRACE_NAME")

trace.setValue("A", forAttribute: "experiment")

// Update scenario.
trace.setValue("B", forAttribute: "experiment")

// Reading scenario.
let experimentValue:String? = trace.valueForAttribute("experiment")

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

// Read attributes.
let attributes:[String, String] = trace.attributes;

Objective-C

توجه: این محصول Firebase در macOS،‏ Mac Catalyst، و هدف‌های watchOS دردسترس نیست.
FIRTrace *trace = [FIRPerformance startTraceWithName:@"CUSTOM_TRACE_NAME"];

[trace setValue:@"A" forAttribute:@"experiment"];

// Update scenario.
[trace setValue:@"B" forAttribute:@"experiment"];

// Reading scenario.
NSString *experimentValue = [trace valueForAttribute:@"experiment"];

// Delete scenario.
[trace removeAttribute:@"experiment"];

// Read attributes.
NSDictionary <NSString *, NSString *> *attributes = [trace attributes];

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

مراحل بعدی

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

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

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

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