Performance Monitoring از ردگیریها برای جمعآوری دادههای مربوط به فرایندهای تحت نظارت در برنامهتان استفاده میکند. ردگیری گزارشی است که حاوی دادههای ثبتشده بین دو نقطه زمانی در برنامهتان است.
برای همه انواع برنامه، Performance Monitoring بهطور خودکار ردپایی را برای هر درخواست شبکه صادرشده توسط برنامه شما جمعآوری میکند که ردپای درخواست شبکه HTTP/S نامیده میشود. این ردیابیها سنجههای مربوط به زمان بین صدور درخواست توسط برنامه شما به نقطه پایانی سرویس و تکمیل پاسخ از آن نقطه پایانی را جمعآوری میکنند. برای هر نقطه پایانی که برنامهتان به آن درخواست ارسال میکند، Performance Monitoring چندین سنجه را ضبط میکند:
زمان پاسخ — زمان بین وقتی که درخواست انجام میشود و وقتی که پاسخ بهطور کامل دریافت میشود
اندازه پایهبار پاسخ — اندازه پایهبار شبکه برحسب بایت که توسط برنامه بارگیری شده است
اندازه پایهبار درخواست — اندازه پایهبار شبکه برحسب بایت که توسط برنامه بارگذاری شده است
نرخ موفقیت — درصد پاسخهای موفق (کدهای پاسخ در محدوده ۱۰۰ تا ۳۹۹) درمقایسه با کل پاسخها
میتوانید دادههای این ردگیریها را در زیربرگه درخواستهای شبکه از جدول ردگیریها که در پایین داشبورد عملکرد قرار دارد مشاهده کنید (در ادامه این صفحه درباره استفاده از کنسول بیشتر بدانید).
Performance Monitoring بهطور خودکار سنجههای درخواستهای شبکه را که از کتابخانههای شبکهسازی زیر استفاده میکنند جمعآوری میکند:
OkHttp3، بهویژه کارخواه HTTP نسخه x.x.3
URLConnection جاوا، بهویژه HttpURLConnection و HttpsURLConnection
-
اگر از این کتابخانه استفاده میکنید، حتماً درباره برداشتن کارخواه Apache HTTP و منسوخ شدن کارخواه Apache HTTP مطالعه کنید.
سفارشیسازی کردن انبوهش دادههای درخواست شبکه
علاوهبر ابزار آماده و انبوهش دادهها برای درخواستهای شبکه، Performance Monitoring از گزینههای زیر نیز پشتیبانی میکند:
- ردپای درخواست شبکه را بهصورت دستی ابزارسازی کنید: پایش آماده استفاده شامل اکثر درخواستهای شبکه برای برنامه شما میشود. بااینحال، ممکن است برخی درخواستها گزارش نشوند یا ممکن است از کتابخانه دیگری برای درخواستهای شبکه استفاده کنید. در این موارد، میتوانید از Performance Monitoring API برای ابزارسازی دستی ردپاهای درخواست شبکه سفارشی استفاده کنید.
- تجمیع دادهها تحت الگوهای نشانی وب سفارشی: اگر نشانیهای وب خاصی وجود دارد که Firebase با تطابق الگوی نشانی وب خودکار مشتقشده خود آنها را ضبط نمیکند، میتوانید الگوهای نشانی وب سفارشی ایجاد کنید تا مجموعه خاصی از نشانیهای وب را درطول زمان نظارت کنید.
- سفارشیسازی نحوه محاسبه نرخ موفقیت: گاهی اوقات کد خطا برای برخیاز نقطههای پایانی میانای برنامهسازی کاربردی موردانتظار است یا قبلاً در برنامهتان مدیریت شده است. در این موارد، میتوانید نحوه محاسبه نرخ موفقیت را پیکربندی کنید و نرخ موفقیت فراخوانیهای شبکه برنامهتان را دقیقتر پایش کنید.
انبوهش دادهها تحت الگوهای نشانی وب
Firebase Performance Monitoring بهطور خودکار دادههای درخواستهای شبکه مشابه را تجمیع میکند تا به شما کمک کند روندهای عملکرد درخواست شبکه را درک کنید.
برای هر درخواست، Firebase بررسی میکند که آیا نشانی وب درخواست شبکه با الگوی نشانی وب مطابقت دارد یا نه. اگر نشانی وب درخواست با الگوی نشانی وب مطابقت داشته باشد، Firebase بهطور خودکار دادههای درخواست را تحت الگوی نشانی وب جمعآوری میکند. Firebase الگوهای نشانی وب و دادههای تجمیعی آنها را در برگه شبکه در داشبورد عملکرد در کنسول Firebase نمایش میدهد.
الگوی نشانی وب چیست؟
الگوی نشانی وب شامل یک دامنه بهعلاوه الگویی است که میتواند با مسیر نشانی وب مطابقت داشته باشد، برای مثال: example.com/*/animals/**.
الگوهای نشانی وب میتوانند حاوی بخشهای مسیر زیر باشند:
- نوشتار ساده — با رشته دقیق مطابقت دارد
*— با هر رشتهای در یک بخش مسیر مطابقت دارد-
**— با پسوند مسیر قراردادی مطابقت دارد
الگوهای نشانی وب میتوانند یکی از این موارد باشند:
- الگوهای مشتقشده از Firebase — که الگوهای نشانی وب خودکار نامیده میشوند
- الگوهای تعریفشده توسط کاربر — که الگوهای نشانی وب سفارشی نامیده میشوند
برای مثال: هرکدام از درخواستهای نشانی وب زیر میتواند با الگوی نشانی وب
example.com/*/animals/** مطابقت داشته باشد.
example.com/singapore/animalsexample.com/australia/animals/spidersexample.com/australia/animals/marsupials/koala.png
دامنه الگوی نشانی وب میتواند حاوی * بهعنوان بخش اول آن نیز باشد،
برای مثال: *.example.com/*/fruits/**.
Firebase هر درخواست را به فقط یک الگوی نشانی وب نگاشت میکند. اگر الگوهای نشانی وب سفارشی پیکربندی کرده باشید، Firebase ابتدا تلاش میکند نشانیهای وب درخواست را با آن الگوها مطابقت دهد. اگر Firebase الگوی نشانی وب سفارشی منطبقی پیدا نکند، نشانی وب درخواست را با نمایندهترین الگوی نشانی وب خودکار مطابقت میدهد. در بخشهای زیر درباره الگوهای نشانی وب خودکار و سفارشی بیشتر بدانید.
الگوهای نشانی وب خودکار
بدون هیچ پیکربندی ازسوی شما، Performance Monitoring تلاش میکند تا با مطابقت دادن درخواستهای برنامهتان با الگوهای نشانی وب خودکار، جدیدترین رفتار استفاده از برنامهتان را منعکس کند.
تطبیق خودکار الگوی نشانی وب چگونه کار میکند؟
Firebase هر درخواست را با نمایندهترین الگوی نشانی وب خودکار که از درخواستهای ارسالشده توسط برنامهتان بهدست آورده است مطابقت میدهد. بااینحال، توجه داشته باشید که Firebase ابتدا تلاش میکند نشانیهای وب درخواست را با هرگونه الگوی نشانی وب سفارشی پیکربندیشده مطابقت دهد.
در زیر مثالی ساده از نحوه تلاش Firebase برای مطابقت دادن درخواستها با نمایانترین الگوی نشانی وب خودکار برای برنامهتان آورده شده است.
برنامه شما درخواستهای زیادی به نشانیهای وبی مثل موارد زیر ارسال میکند:
example.com/germany/animals/bearsexample.com/germany/animals/birdsexample.com/germany/cars
Firebase تشخیص میدهد که
example.com/germany/**الگوی درخواست رایجی برای برنامه شما است و آن را بهعنوان الگوی نشانی وب خودکار در پروژهتان اضافه میکند.برای هر درخواست منطبق جدید با این الگوی نشانی وب، Firebase دادههای درخواستها را تحت الگوی نشانی وب خودکار
example.com/germany/**جمعآوری میکند.پساز یک هفته، اکثر درخواستهای برنامهتان به
example.com/germany/animals/bearsوexample.com/germany/animals/birdsاست. بنابراین، Firebase الگوی نشانی وب معرفتری ازexample.com/germany/animals/**را استخراج میکند.برای هر درخواست منطبق جدید با این الگوی نشانی وب جدید، Firebase دادههای درخواستها را فقط تحت الگوی نشانی وب جدید انبوهش میکند. Firebase به جمعآوری دادهها برای درخواستهای
example.com/germany/carsتحتexample.com/germany/**ادامه میدهد.اما در چند هفته آینده، درخواستهای برنامهتان به
example.com/germany/animals/bearsوexample.com/germany/animals/birdsبهطور قابلتوجهی کاهش مییابد. Firebase تشخیص میدهد کهexample.com/germany/animals/**نشاندهنده آخرین رفتار استفاده از برنامهتان نیست، بنابراین Firebase شروع به تطبیق این دو درخواست باexample.com/germany/**میکند.Firebase دیگر دادههای درخواست را تحت
example.com/germany/animals/**جمعآوری نمیکند زیرا دیگر نمایانگرترین الگوی نشانی وب خودکار نیست.
ازآنجاییکه مطابقت الگوی نشانی وب خودکار پویا است، به موارد زیر توجه داشته باشید:
مطابقتها و دادههای انبوهشی از درخواستهای قبلی تحت تأثیر الگوهای جدید نشانی وب قرار نمیگیرند. Firebase دادههای درخواست را بهصورت عطف بهماسبق دوباره جمعآوری نمیکند.
فقط درخواستهای آینده تحتتأثیر الگوهای نشانی وب جدید قرار میگیرند. Firebase هر درخواست جدید را به نمایندهترین الگوی نشانی وب خودکار نگاشت میکند. بااینحال، توجه داشته باشید که Firebase ابتدا تلاش میکند نشانیهای وب درخواست را با هرگونه الگوی نشانی وب سفارشی پیکربندیشده مطابقت دهد.
مشاهده الگوهای خودکار نشانی وب و دادههای آنها
Firebase همه الگوهای نشانی وب و دادههای تجمیعی آنها را در زیربرگه درخواستهای شبکه جدول ردیابیها نمایش میدهد که در پایین داشبورد عملکرد کنسول Firebase قرار دارد.
ممکن است الگوهای نشانی وب را با برچسب دستهبندینشده ببینید. اینها الگوهای نشانی وب خودکار «گسترده» هستند که Firebase میتواند تحت آنها دادههای درخواستهایی را که با هیچ الگوی نشانی وب خاصتری مطابقت ندارند تجمیع کند.
وقتی دوره حفظ داده برای دادههای جمعآوریشده تحت الگوی نشانی وب بهپایان میرسد، Firebase آن دادهها را از الگوی نشانی وب حذف میکند. اگر همه دادههای جمعآوریشده تحت یک الگوی نشانی وب خودکار منقضی شود، Firebase آن الگوی نشانی وب را از کنسول Firebase حذف میکند.
الگوهای نشانی وب سفارشی
میتوانید الگوهای نشانی وب سفارشی ایجاد کنید تا الگوهای نشانی وب خاصی را که Firebase با تطابق خودکار الگوی نشانی وب مشتقشده خود ضبط نمیکند، نظارت کنید. برای مثال، میتوانید از الگوی نشانی وب سفارشی برای عیبیابی نشانی وب خاصی یا برای نظارت بر مجموعه خاصی از نشانیهای وب درطول زمان استفاده کنید.
برای کسب اطلاعات بیشتر، به ایجاد الگوهای نشانی وب سفارشی بروید.
ردگیری، مشاهده، و فیلتر کردن دادههای عملکرد
برای مشاهده دادههای عملکرد همزمان، مطمئن شوید که برنامهتان از نسخه کیت توسعه نرمافزار «پایش عملکرد» استفاده میکند که با پردازش دادههای همزمان سازگار است. درباره دادههای عملکرد همزمان بیشتر بدانید.
ردگیری سنجههای خاص در داشبورد
برای اینکه بدانید سنجههای کلیدیتان چه روندی دارند، آنها را به تابلو سنجهها در بالای داشبورد عملکرد اضافه کنید. با دیدن تغییرات هفتهبههفته میتوانید بهسرعت رگرسیونها را شناسایی کنید یا تأیید کنید که تغییرات اخیر در کد شما عملکرد را بهبود میبخشد.
داشبورد پایشگر کارایی Firebase" />
برای افزودن سنجه به تابلو سنجهها، این مراحل را دنبال کنید:
- به داشبورد عملکرد در کنسول Firebase بروید.
- روی کارت سنجه خالی کلیک کنید، سپس سنجه موجودی را برای افزودن به تابلو انتخاب کنید.
- برای گزینههای بیشتر، روی در کارت سنجه پرشده کلیک کنید، برای مثال برای جایگزین کردن یا برداشتن سنجه.
تابلو سنجهها دادههای سنجه جمعآوریشده را درطول زمان، هم بهصورت گرافیکی و هم بهصورت درصد تغییر عددی نشان میدهد.
درباره استفاده از داشبورد بیشتر بدانید.
مشاهده ردگیریها و دادههای آنها
برای مشاهده ردگیریها، به داشبورد عملکرد در کنسول Firebase بروید، به جدول ردگیریها پیمایش کنید، سپس روی زبانه فرعی مناسب کلیک کنید. این جدول برخیاز سنجههای برتر را برای هر ردگیری نمایش میدهد و حتی میتوانید فهرست را براساس درصد تغییر برای سنجهای خاص مرتب کنید.
Performance Monitoring صفحه عیبیابیای در کنسول Firebase ارائه میدهد که تغییرات سنجه را برجسته میکند و باعث میشود بهراحتی بتوانید بهسرعت به مشکلات عملکرد رسیدگی کنید و تأثیر آنها را بر برنامهها و کاربران بهحداقل برسانید. وقتی از مشکلات عملکرد احتمالی مطلع میشوید، میتوانید از صفحه عیبیابی استفاده کنید، برای مثال در سناریوهای زیر:
- سنجههای مربوط را در داشبورد انتخاب میکنید و متوجه یک دلتای بزرگ میشوید.
- در جدول ردگیریها، مرتبسازی میکنید تا بزرگترین دلتاها در بالا نمایش داده شوند و درصد تغییر قابلتوجهی را مشاهده میکنید.
- هشدار ایمیلی دریافت میکنید که شما را از مشکل عملکرد مطلع میکند.
به روشهای زیر میتوانید به صفحه عیبیابی دسترسی پیدا کنید:
- در داشبورد سنجه، روی دکمه مشاهده جزئیات سنجه کلیک کنید.
- در هرکارت سنجه،
=> مشاهده جزئیات را انتخاب کنید. صفحه عیبیابی اطلاعاتی درباره سنجهای که انتخاب کردهاید نمایش میدهد. - در جدول ردگیریها، روی نام ردگیری یا هر مقدار سنجه در ردیف مربوط به آن ردگیری کلیک کنید.
- در هشدار ایمیلی، روی اکنون بررسی شود کلیک کنید.
وقتی روی نام ردیابی در جدول ردیابیها کلیک میکنید، میتوانید سنجههای موردنظرتان را بهطور دقیقتر بررسی کنید. روی دکمه
دادههای «پایشگر کارایی Firebase» براساس مشخصه فیلتر میشود» />
- براساس نسخه برنامه فیلتر کنید تا دادههای مربوط به نسخه پخش قبلی یا جدیدترین نسخه پخش را مشاهده کنید
- براساس دستگاه فیلتر کنید تا ببینید دستگاههای قدیمیتر چگونه با برنامهتان کار میکنند
- براساس کشور فیلتر کنید تا مطمئن شوید مکان پایگاه داده شما بر منطقه خاصی تأثیر نمیگذارد
درباره مشاهده دادههای ردیابیهایتان بیشتر بدانید.
مراحل بعدی
درباره استفاده از مشخصهها برای بررسی دادههای عملکرد بیشتر بدانید.
درباره نحوه ردیابی مشکلات عملکرد در کنسول Firebase بیشتر بدانید.
برای درخواستهای شبکهای که عملکرد برنامهتان را کاهش میدهند، هشدار تنظیم کنید. برای مثال، میتوانید هشدار ایمیلی برای تیمتان پیکربندی کنید تا اگر زمان پاسخ برای الگوی نشانی وب خاصی از آستانهای که تنظیم کردهاید فراتر رفت، هشدار دریافت کنند.
- گزارشهای تفصیلی جلسههای کاربر را مشاهده کنید که در آن میتوانید رد خاصی را در بافت خط زمان ردهای دیگری که درطول همان جلسه جمعآوری شدهاند ببینید.