Performance Monitoring از ردیابیها برای جمعآوری دادهها در مورد فرآیندهای تحت نظارت در برنامه شما استفاده میکند. ردیابی گزارشی است که شامل دادههای ثبت شده بین دو نقطه زمانی در برنامه شما است.
برای همه انواع برنامهها، Performance Monitoring به طور خودکار برای هر درخواست شبکهای که توسط برنامه شما صادر میشود، ردیابی انجام میدهد که به آن ردیابی درخواست شبکه HTTP/S میگویند. این ردیابیها، معیارهایی را برای زمان بین ارسال درخواست توسط برنامه شما به یک نقطه پایانی سرویس و تکمیل پاسخ از آن نقطه پایانی جمعآوری میکنند. برای هر نقطه پایانی که برنامه شما درخواستی به آن ارسال میکند، Performance Monitoring چندین معیار را ثبت میکند:
زمان پاسخ - زمان بین ارسال درخواست و دریافت کامل پاسخ
اندازه بار پاسخ - اندازه بایت بار شبکه دانلود شده توسط برنامه
اندازه بار درخواستی — اندازه بایت بار شبکه آپلود شده توسط برنامه
میزان موفقیت — درصد پاسخهای موفق (کدهای پاسخ در محدوده ۱۰۰ تا ۳۹۹) در مقایسه با کل پاسخها
میتوانید دادههای این ردیابیها را در زیربرگه درخواستهای شبکه از جدول ردیابیها، که در پایین داشبورد عملکرد قرار دارد، مشاهده کنید (در ادامه این صفحه درباره استفاده از کنسول بیشتر بدانید).
Performance Monitoring به طور خودکار معیارهایی را برای درخواستهای شبکهای که از کتابخانههای شبکه زیر استفاده میکنند، جمعآوری میکند:
OkHttp3 ، به طور خاص HTTP client نسخه ۳.xx
URLConnection جاوا ، به طور خاص HttpURLConnection و HttpsURLConnection
اگر از این کتابخانه استفاده میکنید، حتماً در مورد حذف Apache HTTP Client و منسوخ شدن Apache HTTP Client مطالعه کنید.
سفارشیسازی تجمیع دادههای درخواست شبکه
علاوه بر ابزارهای آماده و تجمیع دادهها برای درخواستهای شبکه، Performance Monitoring از گزینههای زیر نیز پشتیبانی میکند:
- ردیابی دستی درخواستهای شبکه: نظارت اولیه شامل اکثر درخواستهای شبکه برای برنامه شما میشود. با این حال، ممکن است برخی از درخواستها گزارش نشوند یا ممکن است از کتابخانه دیگری برای ارسال درخواستهای شبکه استفاده کنید. در این موارد، میتوانید از API Performance Monitoring برای ردیابی دستی درخواستهای سفارشی شبکه استفاده کنید.
- جمعآوری دادهها تحت الگوهای URL سفارشی: اگر URLهای خاصی وجود دارند که Firebase با تطبیق خودکار الگوی URL خود آنها را ثبت نمیکند، میتوانید الگوهای URL سفارشی ایجاد کنید تا مجموعهای خاص از URLها را در طول زمان رصد کنید.
- نحوه محاسبه نرخ موفقیت را سفارشی کنید: گاهی اوقات یک کد خطا برای نقاط پایانی API خاصی پیشبینی میشود یا از قبل در برنامه شما مدیریت میشود. در این موارد، میتوانید نحوه محاسبه نرخ موفقیت را پیکربندی کنید و نرخ موفقیت فراخوانیهای شبکه برنامه خود را با دقت بیشتری رصد کنید.
تجمیع دادهها تحت الگوهای URL
Firebase Performance Monitoring به طور خودکار دادههای مربوط به درخواستهای مشابه شبکه را جمعآوری میکند تا به شما در درک روند عملکرد درخواستهای شبکهتان کمک کند.
برای هر درخواست، Firebase بررسی میکند که آیا URL درخواست شبکه با الگوی URL مطابقت دارد یا خیر. اگر URL درخواست با الگوی URL مطابقت داشته باشد، Firebase به طور خودکار دادههای درخواست را تحت الگوی URL جمع میکند. Firebase الگوهای URL و دادههای جمعشده آنها را در برگه Network در داشبورد Performance کنسول Firebase نمایش میدهد.
الگوی URL چیست؟
یک الگوی URL شامل یک دامنه به علاوهی الگویی است که میتواند با یک مسیر URL مطابقت داشته باشد، برای مثال: example.com/*/animals/** .
الگوهای URL میتوانند شامل بخشهای مسیر زیر باشند:
- متن ساده - با یک رشته دقیق مطابقت دارد
-
*— با هر رشتهای در یک بخش مسیر واحد مطابقت دارد. -
**— با یک پسوند مسیر دلخواه مطابقت دارد
الگوهای URL میتوانند یکی از موارد زیر باشند:
- الگوهای مشتق شده از Firebase - به نام الگوهای URL خودکار
- الگوهای تعریفشده توسط کاربر - که الگوهای URL سفارشی نامیده میشوند
برای مثال: هر یک از درخواستهای URL زیر میتواند با الگوی URL example.com/*/animals/** مطابقت داشته باشد.
-
example.com/singapore/animals -
example.com/australia/animals/spiders -
example.com/australia/animals/marsupials/koala.png
دامنه یک الگوی URL همچنین میتواند شامل * به عنوان بخش اول خود باشد، برای مثال: *.example.com/*/fruits/** .
فایربیس هر درخواست را فقط به یک الگوی URL نگاشت میکند. اگر هرگونه الگوی URL سفارشی پیکربندی کرده باشید، فایربیس ابتدا سعی میکند URLهای درخواست را با آن الگوها مطابقت دهد. اگر فایربیس هیچ الگوی URL سفارشی مطابقی پیدا نکند، یک URL درخواست را با الگوی URL خودکاری که بیشترین نماینده را دارد، مطابقت میدهد. در بخشهای بعدی درباره الگوهای URL خودکار و سفارشی بیشتر بیاموزید.
الگوهای URL خودکار
بدون هیچ گونه پیکربندی توسط شما، Performance Monitoring تلاش میکند تا با تطبیق درخواستهای برنامه شما با الگوهای URL خودکار ، آخرین رفتار مصرف برنامه شما را منعکس کند.
تطبیق خودکار الگوی URL چگونه کار میکند؟
فایربیس هر درخواست را با الگوی URL خودکاری که از درخواستهای ارسالی توسط برنامه شما استخراج شده است، مطابقت میدهد. البته توجه داشته باشید که فایربیس ابتدا سعی میکند URLهای درخواست را با هر الگوی URL سفارشی پیکربندی شده مطابقت دهد.
در ادامه، یک مثال ساده برای نحوهی تلاش فایربیس برای تطبیق درخواستها با الگوی URL خودکارِ مناسب برای برنامهی شما، ارائه شده است.
برنامه شما درخواستهای زیادی را به URLهایی مانند موارد زیر ارسال میکند:
-
example.com/germany/animals/bears -
example.com/germany/animals/birds -
example.com/germany/cars
فایربیس تشخیص میدهد که
example.com/germany/**یک الگوی درخواست رایج برای برنامه شما است و آن را به عنوان یک الگوی URL خودکار در پروژه شما اضافه میکند.برای هرگونه درخواست جدید منطبق با این الگوی URL، Firebase دادههای درخواستها را تحت الگوی URL خودکار
example.com/germany/**جمعآوری میکند.-
بعد از یک هفته، اکثر درخواستهای برنامه شما به
example.com/germany/animals/bearsوexample.com/germany/animals/birdsاست. بنابراین، Firebase الگوی URL مناسبتری ازexample.com/germany/animals/**استخراج میکند.برای هرگونه درخواست جدید منطبق با این الگوی URL جدید، Firebase دادههای درخواستها را فقط تحت الگوی URL جدید جمعآوری میکند. 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/**میکند.فایربیس هیچ داده درخواست دیگری را در
example.com/germany/animals/**جمع نمیکند، زیرا دیگر الگوی URL خودکارِ نمونه نیست.
از آنجا که تطبیق خودکار الگوی URL پویا است، از موارد زیر آگاه باشید:
دادههای منطبق و تجمیعشده از درخواستهای قبلی تحت تأثیر الگوهای URL جدید قرار نمیگیرند. فایربیس دادههای درخواست را به صورت گذشتهنگر دوباره تجمیع نمیکند.
فقط درخواستهای آینده تحت تأثیر الگوهای URL جدید قرار میگیرند. فایربیس هر درخواست جدید را به الگوی URL خودکار که بیشترین نماینده را دارد، نگاشت میکند. البته توجه داشته باشید که فایربیس ابتدا سعی میکند URLهای درخواست را با هر الگوی URL سفارشی پیکربندی شده مطابقت دهد.
مشاهده الگوهای URL خودکار و دادههای آنها
فایربیس تمام الگوهای URL و دادههای تجمیعشدهی آنها را در زیربرگهی Network requests از جدول traces نمایش میدهد، که در پایین داشبورد Performance کنسول Firebase قرار دارد.
ممکن است الگوهای URL را با برچسب «دستهبندی نشده » ببینید. اینها الگوهای URL خودکار «کلی» هستند که Firebase میتواند تحت آنها دادهها را برای درخواستهایی که با هیچ الگوی URL خاصتری مطابقت ندارند، جمعآوری کند.
وقتی دوره نگهداری دادهها برای دادههای جمعآوریشده تحت یک الگوی URL به پایان میرسد، Firebase آن دادهها را از الگوی URL حذف میکند. اگر تمام دادههای جمعآوریشده تحت یک الگوی URL خودکار منقضی شوند، Firebase آن الگوی URL را از کنسول Firebase حذف میکند.
الگوهای URL سفارشی
شما میتوانید الگوهای URL سفارشی ایجاد کنید تا الگوهای URL خاصی را که Firebase با تطبیق خودکار الگوی URL خود ثبت نمیکند، رصد کنید. به عنوان مثال، میتوانید از یک الگوی URL سفارشی برای عیبیابی یک URL خاص یا رصد مجموعهای خاص از URLها در طول زمان استفاده کنید.
برای کسب اطلاعات بیشتر، به بخش ایجاد الگوهای URL سفارشی مراجعه کنید.
ردیابی، مشاهده و فیلتر کردن دادههای عملکرد
برای مشاهده دادههای عملکرد در لحظه، مطمئن شوید که برنامه شما از نسخهای از SDK نظارت بر عملکرد استفاده میکند که با پردازش دادههای در لحظه سازگار است. درباره دادههای عملکرد در لحظه بیشتر بدانید .
معیارهای خاص را در داشبورد خود پیگیری کنید
برای اطلاع از روند تغییرات معیارهای کلیدی خود، آنها را به تابلوی معیارهای خود در بالای داشبورد عملکرد اضافه کنید. میتوانید با مشاهده تغییرات هفته به هفته، به سرعت رگرسیونها را شناسایی کنید یا تأیید کنید که تغییرات اخیر در کد شما باعث بهبود عملکرد میشوند.
داشبورد نظارت بر عملکرد فایربیس" />برای اضافه کردن یک معیار به جدول معیارهای خود، این مراحل را دنبال کنید:
- به داشبورد Performance در کنسول Firebase بروید.
- روی یک کارت معیار خالی کلیک کنید، سپس یک معیار موجود را برای اضافه کردن به صفحه خود انتخاب کنید.
- برای گزینههای بیشتر، مثلاً برای جایگزینی یا حذف یک معیار، روی روی یک کارت معیار پر شده کلیک کنید.
صفحه معیارها، دادههای معیار جمعآوریشده را در طول زمان، هم به صورت گرافیکی و هم به صورت درصد تغییر عددی، نشان میدهد.
درباره استفاده از داشبورد بیشتر بدانید.
مشاهده ردپاها و دادههای آنها
برای مشاهدهی ردپاهای خود، به داشبورد Performance در کنسول Firebase بروید، به پایین صفحه بروید تا به جدول ردپاها برسید، سپس روی زیربرگهی مربوطه کلیک کنید. جدول، برخی از معیارهای برتر را برای هر ردپا نمایش میدهد و حتی میتوانید لیست را بر اساس درصد تغییر برای یک معیار خاص مرتب کنید.
Performance Monitoring یک صفحه عیبیابی در کنسول Firebase ارائه میدهد که تغییرات معیارها را برجسته میکند و رسیدگی سریع و به حداقل رساندن تأثیر مشکلات عملکرد بر برنامهها و کاربران شما را آسان میکند. میتوانید از صفحه عیبیابی هنگام اطلاع از مشکلات عملکرد بالقوه، به عنوان مثال، در سناریوهای زیر استفاده کنید:
- شما معیارهای مرتبط را در داشبورد انتخاب میکنید و متوجه یک اختلاف بزرگ میشوید.
- در جدول ردپاها، شما مرتبسازی را طوری انجام میدهید که بزرگترین دلتاها در بالا نمایش داده شوند و تغییر درصد قابل توجهی را مشاهده خواهید کرد.
- شما یک هشدار ایمیلی دریافت میکنید که شما را از یک مشکل عملکردی مطلع میکند.
شما میتوانید از طریق روشهای زیر به صفحه رفع مشکلات دسترسی پیدا کنید:
- در داشبورد معیار، روی دکمه مشاهده جزئیات معیار کلیک کنید.
- روی هر کارت متریک، انتخاب کنید
=> مشاهده جزئیات . صفحه عیبیابی اطلاعات مربوط به معیار انتخابی شما را نمایش میدهد. - در جدول ردها، روی نام رد یا هر مقدار معیار در ردیف مرتبط با آن رد کلیک کنید.
- در هشدار ایمیلی، روی «اکنون بررسی کنید» کلیک کنید.
وقتی روی نام یک رد در جدول ردها کلیک میکنید، میتوانید معیارهای مورد علاقه خود را بررسی کنید. روی
دادههای نظارت بر عملکرد Firebase بر اساس ویژگی فیلتر میشوند" />- برای مشاهده اطلاعات مربوط به نسخه قبلی یا آخرین نسخه، بر اساس نسخه برنامه فیلتر کنید
- برای اطلاع از نحوه مدیریت برنامه توسط دستگاههای قدیمیتر، آن را بر اساس دستگاه فیلتر کنید
- بر اساس کشور فیلتر کنید تا مطمئن شوید موقعیت مکانی پایگاه داده شما بر منطقه خاصی تأثیر نمیگذارد
درباره مشاهده دادههای ردپاهایتان بیشتر بدانید.
مراحل بعدی
درباره استفاده از ویژگیها برای بررسی دادههای عملکرد بیشتر بدانید.
درباره نحوه ردیابی مشکلات عملکرد در کنسول Firebase بیشتر بدانید.
برای درخواستهای شبکهای که عملکرد برنامه شما را کاهش میدهند ، هشدار تنظیم کنید . به عنوان مثال، میتوانید یک هشدار ایمیلی برای تیم خود پیکربندی کنید اگر زمان پاسخگویی برای یک الگوی URL خاص از آستانهای که شما تعیین کردهاید فراتر رود.
- گزارشهای دقیقی از جلسات کاربر مشاهده کنید که در آن میتوانید یک ردپای خاص را در یک چارچوب زمانی از سایر ردپاهای جمعآوریشده در همان جلسه مشاهده کنید.