Performance Monitoring از ردیابیها برای جمعآوری دادهها در مورد فرآیندهای تحت نظارت در برنامه شما استفاده میکند. ردیابی گزارشی است که شامل دادههای ثبت شده بین دو نقطه زمانی در برنامه شما است.
برای همه انواع برنامهها، Performance Monitoring به طور خودکار برای هر درخواست شبکهای که توسط برنامه شما صادر میشود، ردیابی انجام میدهد که به آن ردیابی درخواست شبکه HTTP/S میگویند. این ردیابیها، معیارهایی را برای زمان بین ارسال درخواست توسط برنامه شما به یک نقطه پایانی سرویس و تکمیل پاسخ از آن نقطه پایانی جمعآوری میکنند. برای هر نقطه پایانی که برنامه شما درخواستی به آن ارسال میکند، Performance Monitoring چندین معیار را ثبت میکند:
زمان پاسخ - زمان بین ارسال درخواست و دریافت کامل پاسخ
اندازه بار پاسخ - اندازه بایت بار شبکه دانلود شده توسط برنامه
اندازه بار درخواستی — اندازه بایت بار شبکه آپلود شده توسط برنامه
میزان موفقیت — درصد پاسخهای موفق (کدهای پاسخ در محدوده ۱۰۰ تا ۳۹۹) در مقایسه با کل پاسخها
میتوانید دادههای این ردیابیها را در زیربرگه درخواستهای شبکه از جدول ردیابیها، که در پایین داشبورد عملکرد قرار دارد، مشاهده کنید (در ادامه این صفحه درباره استفاده از کنسول بیشتر بدانید).
Performance Monitoring به طور خودکار معیارهایی را برای درخواستهای شبکهای که از کتابخانههای شبکه زیر استفاده میکنند، جمعآوری میکند:
سویفت
- جلسه URL
- اتصال URL
هدف-سی
- جلسه NSURL
- اتصال NSURL
سفارشیسازی تجمیع دادههای درخواست شبکه
علاوه بر ابزارهای آماده و تجمیع دادهها برای درخواستهای شبکه، 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 خاص از آستانهای که شما تعیین کردهاید فراتر رود.
- گزارشهای دقیقی از جلسات کاربر مشاهده کنید که در آن میتوانید یک ردپای خاص را در یک چارچوب زمانی از سایر ردپاهای جمعآوریشده در همان جلسه مشاهده کنید.
Performance Monitoring از ردیابیها برای جمعآوری دادهها در مورد فرآیندهای تحت نظارت در برنامه شما استفاده میکند. ردیابی گزارشی است که شامل دادههای ثبت شده بین دو نقطه زمانی در برنامه شما است.
برای همه انواع برنامهها، Performance Monitoring به طور خودکار برای هر درخواست شبکهای که توسط برنامه شما صادر میشود، ردیابی انجام میدهد که به آن ردیابی درخواست شبکه HTTP/S میگویند. این ردیابیها، معیارهایی را برای زمان بین ارسال درخواست توسط برنامه شما به یک نقطه پایانی سرویس و تکمیل پاسخ از آن نقطه پایانی جمعآوری میکنند. برای هر نقطه پایانی که برنامه شما درخواستی به آن ارسال میکند، Performance Monitoring چندین معیار را ثبت میکند:
زمان پاسخ - زمان بین ارسال درخواست و دریافت کامل پاسخ
اندازه بار پاسخ - اندازه بایت بار شبکه دانلود شده توسط برنامه
اندازه بار درخواستی — اندازه بایت بار شبکه آپلود شده توسط برنامه
میزان موفقیت — درصد پاسخهای موفق (کدهای پاسخ در محدوده ۱۰۰ تا ۳۹۹) در مقایسه با کل پاسخها
میتوانید دادههای این ردیابیها را در زیربرگه درخواستهای شبکه از جدول ردیابیها، که در پایین داشبورد عملکرد قرار دارد، مشاهده کنید (در ادامه این صفحه درباره استفاده از کنسول بیشتر بدانید).
Performance Monitoring به طور خودکار معیارهایی را برای درخواستهای شبکهای که از کتابخانههای شبکه زیر استفاده میکنند، جمعآوری میکند:
سویفت
- جلسه URL
- اتصال URL
هدف-سی
- جلسه NSURL
- اتصال NSURL
سفارشیسازی تجمیع دادههای درخواست شبکه
علاوه بر ابزارهای آماده و تجمیع دادهها برای درخواستهای شبکه، 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 خاص از آستانهای که شما تعیین کردهاید فراتر رود.
- گزارشهای دقیقی از جلسات کاربر مشاهده کنید که در آن میتوانید یک ردپای خاص را در یک چارچوب زمانی از سایر ردپاهای جمعآوریشده در همان جلسه مشاهده کنید.
Performance Monitoring از ردیابیها برای جمعآوری دادهها در مورد فرآیندهای تحت نظارت در برنامه شما استفاده میکند. ردیابی گزارشی است که شامل دادههای ثبت شده بین دو نقطه زمانی در برنامه شما است.
برای همه انواع برنامهها، Performance Monitoring به طور خودکار برای هر درخواست شبکهای که توسط برنامه شما صادر میشود، ردیابی انجام میدهد که به آن ردیابی درخواست شبکه HTTP/S میگویند. این ردیابیها، معیارهایی را برای زمان بین ارسال درخواست توسط برنامه شما به یک نقطه پایانی سرویس و تکمیل پاسخ از آن نقطه پایانی جمعآوری میکنند. برای هر نقطه پایانی که برنامه شما درخواستی به آن ارسال میکند، Performance Monitoring چندین معیار را ثبت میکند:
زمان پاسخ - زمان بین ارسال درخواست و دریافت کامل پاسخ
اندازه بار پاسخ - اندازه بایت بار شبکه دانلود شده توسط برنامه
اندازه بار درخواستی — اندازه بایت بار شبکه آپلود شده توسط برنامه
میزان موفقیت — درصد پاسخهای موفق (کدهای پاسخ در محدوده ۱۰۰ تا ۳۹۹) در مقایسه با کل پاسخها
میتوانید دادههای این ردیابیها را در زیربرگه درخواستهای شبکه از جدول ردیابیها، که در پایین داشبورد عملکرد قرار دارد، مشاهده کنید (در ادامه این صفحه درباره استفاده از کنسول بیشتر بدانید).
Performance Monitoring automatically collects metrics for network requests that use the following networking libraries:
Swift
- URLSession
- URLConnection
Objective-C
- NSURLSession
- NSURLConnection
Customize network request data aggregation
In addition to the out-of-the-box tooling and data aggregation for network requests, Performance Monitoring also supports the following options:
- Manually instrument network request traces: The out-of-the-box monitoring includes most network requests for your app. However, some requests might not be reported or you might use a different library to make network requests. In these cases, you can use the Performance Monitoring API to manually instrument custom network request traces .
- Aggregate data under custom URL patterns: If there are specific URLs that Firebase isn't capturing with its derived automatic URL pattern matching, you can create custom URL patterns to monitor a specific set of URLs over time.
- Customize how success rate is calculated: Sometimes an error code is expected for certain API endpoints or is already handled in your app. In these cases, you can configure how the success rate is calculated and monitor the success rate of your app's network calls more accurately.
Data aggregation under URL patterns
Firebase Performance Monitoring automatically aggregates data for similar network requests to help you understand trends in your network request performance.
For each request, Firebase checks if the network request's URL matches a URL pattern. If the request URL matches a URL pattern, Firebase automatically aggregates the request's data under the URL pattern. Firebase displays URL patterns and their aggregated data in the Network tab in the Performance dashboard of the Firebase console.
What's a URL pattern?
A URL pattern contains a domain plus a pattern that can match a URL path, for instance: example.com/*/animals/** .
URL patterns can contain the following path segments:
- plain text — matches an exact string
-
*— matches any string in a single path segment -
**— matches an arbitrary path suffix
URL patterns can be either:
- Firebase-derived patterns — called automatic URL patterns
- User-defined patterns — called custom URL patterns
For example: Any of the following URL requests could match the URL pattern example.com/*/animals/** .
-
example.com/singapore/animals -
example.com/australia/animals/spiders -
example.com/australia/animals/marsupials/koala.png
The domain for a URL pattern can also contain * as its first segment, for instance: *.example.com/*/fruits/** .
Firebase maps each request to only one URL pattern . If you've configured any custom URL patterns , Firebase attempts to match request URLs to those patterns first. If Firebase finds no matching custom URL pattern, then it matches a request URL to the most representative automatic URL pattern . Learn more about automatic and custom URL patterns in the following sections.
Automatic URL patterns
Without any configuration by you, Performance Monitoring attempts to reflect your app's latest usage behavior by matching your app's requests to automatic URL patterns .
How does automatic URL pattern matching work?
Firebase matches each request to the most representative automatic URL pattern that it has derived from requests sent by your app. Note, though, that Firebase attempts to match request URLs to any configured custom URL patterns first.
The following is a basic example for how Firebase attempts to match requests to the most representative automatic URL pattern for your app.
Your app sends many requests to URLs like:
-
example.com/germany/animals/bears -
example.com/germany/animals/birds -
example.com/germany/cars
Firebase determines that
example.com/germany/**is a common request pattern for your app and adds it as an automatic URL pattern in your project.For any new matching requests to this URL pattern, Firebase aggregates the requests' data under the automatic URL pattern
example.com/germany/**.-
After one week, the majority of your app's requests are to
example.com/germany/animals/bearsandexample.com/germany/animals/birds. So, Firebase derives a more representative URL pattern ofexample.com/germany/animals/**.For any new matching requests to this new URL pattern, Firebase aggregates the requests' data only under the new URL pattern. Firebase continues to aggregate data for requests to
example.com/germany/carsunderexample.com/germany/**.However, over the next several weeks, your app's requests to
example.com/germany/animals/bearsandexample.com/germany/animals/birdsdecrease substantially. Firebase determines thatexample.com/germany/animals/**is not representative of your app's latest usage behavior, so Firebase starts matching these two requests back toexample.com/germany/**.Firebase does not aggregate any further request data under
example.com/germany/animals/**because it's no longer the most representative automatic URL pattern.
Because automatic URL pattern matching is dynamic, be aware of the following:
Matches and aggregated data from previous requests aren't affected by new URL patterns. Firebase does not retroactively re-aggregate request data.
Only future requests are affected by new URL patterns. Firebase maps each new request to the most representative automatic URL pattern. Note, though, that Firebase attempts to match request URLs to any configured custom URL patterns first.
View automatic URL patterns and their data
Firebase displays all URL patterns and their aggregated data in the Network requests subtab of the traces table, which is at the bottom of the Performance dashboard of the Firebase console.
You might see URL patterns with an Uncategorized label. These are "broad" automatic URL patterns under which Firebase can aggregate data for requests that don't match to any more specific URL pattern.
When the data retention period ends for the data aggregated under a URL pattern, Firebase deletes that data from the URL pattern. If all the data aggregated under an automatic URL pattern expires, then Firebase deletes that URL pattern from the Firebase console.
Custom URL patterns
You can create custom URL patterns to monitor specific URL patterns that Firebase isn't capturing with its derived automatic URL pattern matching . For example, you can use a custom URL pattern to troubleshoot a specific URL or to monitor a specific set of URLs over time.
Visit Create custom URL patterns to learn more.
Track, view, and filter performance data
To view real-time performance data, make sure that your app uses a Performance Monitoring SDK version that's compatible with real-time data processing. Learn more about real-time performance data .
Track specific metrics in your dashboard
To learn how your key metrics are trending, add them to your metrics board at the top of the Performance dashboard. You can quickly identify regressions by seeing week-over-week changes or verify that recent changes in your code are improving performance.
Firebase Performance Monitoring dashboard" />To add a metric to your metrics board, follow these steps:
- Go to the Performance dashboard in the Firebase console.
- Click an empty metric card, then select an existing metric to add to your board.
- Click on a populated metric card for more options, for example to replace or remove a metric.
The metrics board shows collected metric data over time, both in graphical form and as a numerical percentage change.
Learn more about using the dashboard .
View traces and their data
To view your traces, go to the Performance dashboard in the Firebase console, scroll down to the traces table, then click the appropriate subtab. The table displays some top metrics for each trace, and you can even sort the list by the percentage change for a specific metric.
Performance Monitoring provides a troubleshooting page in the Firebase console that highlights metric changes, making it easy to quickly address and minimize the impact of performance issues on your apps and users. You can use the troubleshooting page when you learn about potential performance issues, for example, in the following scenarios:
- You select relevant metrics on the dashboard and you notice a big delta.
- In the traces table you sort to display the largest deltas at the top, and you see a significant percentage change.
- You receive an email alert notifying you of a performance issue.
You can access the troubleshooting page in the following ways:
- On the metric dashboard, click the View metric details button.
- On any metric card, select
=> View details . The troubleshooting page displays information about the metric you selected. - In the traces table, click a trace name or any metric value in the row associated with that trace.
- In an email alert, click Investigate now .
When you click a trace name in the traces table, you can then drill down into metrics of interest. Click the
Firebase Performance Monitoring data being filtered by attribute" />- Filter by App version to view data about a past release or your latest release
- Filter by Device to learn how older devices handle your app
- Filter by Country to make sure your database location isn't affecting a specific region
Learn more about viewing data for your traces .
Next Steps
Learn more about using attributes to examine performance data.
Learn more about how to track performance issues in the Firebase console.
Set up alerts for network requests that are degrading the performance of your app. For example, you can configure an email alert for your team if the response time for a specific URL pattern exceeds a threshold that you set.
- View detailed reports of user sessions in which you can see a specific trace in a timeline context of other traces collected during the same session.
Performance Monitoring uses traces to collect data about monitored processes in your app. A trace is a report that contains data captured between two points in time in your app.
For all app types, Performance Monitoring automatically collects a trace for each network request issued by your app, called an HTTP/S network request trace . These traces collect metrics for the time between when your app issues a request to a service endpoint and when the response from that endpoint is complete. For any endpoint to which your app makes a request, Performance Monitoring captures several metrics:
Response time — Time between when the request is made and when the response is fully received
Response payload size — Byte size of the network payload downloaded by the app
Request payload size — Byte size of the network payload uploaded by the app
Success rate — Percentage of successful responses (response codes in the 100 - 399 range) compared to total responses
You can view data from these traces in the Network requests subtab of the traces table, which is at the bottom of the Performance dashboard (learn more about using the console later on this page).
Performance Monitoring automatically collects metrics for network requests that use the following networking libraries:
Swift
- URLSession
- URLConnection
Objective-C
- NSURLSession
- NSURLConnection
Customize network request data aggregation
In addition to the out-of-the-box tooling and data aggregation for network requests, Performance Monitoring also supports the following options:
- Manually instrument network request traces: The out-of-the-box monitoring includes most network requests for your app. However, some requests might not be reported or you might use a different library to make network requests. In these cases, you can use the Performance Monitoring API to manually instrument custom network request traces .
- Aggregate data under custom URL patterns: If there are specific URLs that Firebase isn't capturing with its derived automatic URL pattern matching, you can create custom URL patterns to monitor a specific set of URLs over time.
- Customize how success rate is calculated: Sometimes an error code is expected for certain API endpoints or is already handled in your app. In these cases, you can configure how the success rate is calculated and monitor the success rate of your app's network calls more accurately.
Data aggregation under URL patterns
Firebase Performance Monitoring automatically aggregates data for similar network requests to help you understand trends in your network request performance.
For each request, Firebase checks if the network request's URL matches a URL pattern. If the request URL matches a URL pattern, Firebase automatically aggregates the request's data under the URL pattern. Firebase displays URL patterns and their aggregated data in the Network tab in the Performance dashboard of the Firebase console.
What's a URL pattern?
A URL pattern contains a domain plus a pattern that can match a URL path, for instance: example.com/*/animals/** .
URL patterns can contain the following path segments:
- plain text — matches an exact string
-
*— matches any string in a single path segment -
**— matches an arbitrary path suffix
URL patterns can be either:
- Firebase-derived patterns — called automatic URL patterns
- User-defined patterns — called custom URL patterns
For example: Any of the following URL requests could match the URL pattern example.com/*/animals/** .
-
example.com/singapore/animals -
example.com/australia/animals/spiders -
example.com/australia/animals/marsupials/koala.png
The domain for a URL pattern can also contain * as its first segment, for instance: *.example.com/*/fruits/** .
Firebase maps each request to only one URL pattern . If you've configured any custom URL patterns , Firebase attempts to match request URLs to those patterns first. If Firebase finds no matching custom URL pattern, then it matches a request URL to the most representative automatic URL pattern . Learn more about automatic and custom URL patterns in the following sections.
Automatic URL patterns
Without any configuration by you, Performance Monitoring attempts to reflect your app's latest usage behavior by matching your app's requests to automatic URL patterns .
How does automatic URL pattern matching work?
Firebase matches each request to the most representative automatic URL pattern that it has derived from requests sent by your app. Note, though, that Firebase attempts to match request URLs to any configured custom URL patterns first.
The following is a basic example for how Firebase attempts to match requests to the most representative automatic URL pattern for your app.
Your app sends many requests to URLs like:
-
example.com/germany/animals/bears -
example.com/germany/animals/birds -
example.com/germany/cars
Firebase determines that
example.com/germany/**is a common request pattern for your app and adds it as an automatic URL pattern in your project.For any new matching requests to this URL pattern, Firebase aggregates the requests' data under the automatic URL pattern
example.com/germany/**.-
After one week, the majority of your app's requests are to
example.com/germany/animals/bearsandexample.com/germany/animals/birds. So, Firebase derives a more representative URL pattern ofexample.com/germany/animals/**.For any new matching requests to this new URL pattern, Firebase aggregates the requests' data only under the new URL pattern. Firebase continues to aggregate data for requests to
example.com/germany/carsunderexample.com/germany/**.However, over the next several weeks, your app's requests to
example.com/germany/animals/bearsandexample.com/germany/animals/birdsdecrease substantially. Firebase determines thatexample.com/germany/animals/**is not representative of your app's latest usage behavior, so Firebase starts matching these two requests back toexample.com/germany/**.Firebase does not aggregate any further request data under
example.com/germany/animals/**because it's no longer the most representative automatic URL pattern.
Because automatic URL pattern matching is dynamic, be aware of the following:
Matches and aggregated data from previous requests aren't affected by new URL patterns. Firebase does not retroactively re-aggregate request data.
Only future requests are affected by new URL patterns. Firebase maps each new request to the most representative automatic URL pattern. Note, though, that Firebase attempts to match request URLs to any configured custom URL patterns first.
View automatic URL patterns and their data
Firebase displays all URL patterns and their aggregated data in the Network requests subtab of the traces table, which is at the bottom of the Performance dashboard of the Firebase console.
You might see URL patterns with an Uncategorized label. These are "broad" automatic URL patterns under which Firebase can aggregate data for requests that don't match to any more specific URL pattern.
When the data retention period ends for the data aggregated under a URL pattern, Firebase deletes that data from the URL pattern. If all the data aggregated under an automatic URL pattern expires, then Firebase deletes that URL pattern from the Firebase console.
Custom URL patterns
You can create custom URL patterns to monitor specific URL patterns that Firebase isn't capturing with its derived automatic URL pattern matching . For example, you can use a custom URL pattern to troubleshoot a specific URL or to monitor a specific set of URLs over time.
Visit Create custom URL patterns to learn more.
Track, view, and filter performance data
To view real-time performance data, make sure that your app uses a Performance Monitoring SDK version that's compatible with real-time data processing. Learn more about real-time performance data .
Track specific metrics in your dashboard
To learn how your key metrics are trending, add them to your metrics board at the top of the Performance dashboard. You can quickly identify regressions by seeing week-over-week changes or verify that recent changes in your code are improving performance.
Firebase Performance Monitoring dashboard" />To add a metric to your metrics board, follow these steps:
- Go to the Performance dashboard in the Firebase console.
- Click an empty metric card, then select an existing metric to add to your board.
- Click on a populated metric card for more options, for example to replace or remove a metric.
The metrics board shows collected metric data over time, both in graphical form and as a numerical percentage change.
Learn more about using the dashboard .
View traces and their data
To view your traces, go to the Performance dashboard in the Firebase console, scroll down to the traces table, then click the appropriate subtab. The table displays some top metrics for each trace, and you can even sort the list by the percentage change for a specific metric.
Performance Monitoring provides a troubleshooting page in the Firebase console that highlights metric changes, making it easy to quickly address and minimize the impact of performance issues on your apps and users. You can use the troubleshooting page when you learn about potential performance issues, for example, in the following scenarios:
- You select relevant metrics on the dashboard and you notice a big delta.
- In the traces table you sort to display the largest deltas at the top, and you see a significant percentage change.
- You receive an email alert notifying you of a performance issue.
You can access the troubleshooting page in the following ways:
- On the metric dashboard, click the View metric details button.
- On any metric card, select
=> View details . The troubleshooting page displays information about the metric you selected. - In the traces table, click a trace name or any metric value in the row associated with that trace.
- In an email alert, click Investigate now .
When you click a trace name in the traces table, you can then drill down into metrics of interest. Click the
Firebase Performance Monitoring data being filtered by attribute" />- Filter by App version to view data about a past release or your latest release
- Filter by Device to learn how older devices handle your app
- Filter by Country to make sure your database location isn't affecting a specific region
Learn more about viewing data for your traces .
Next Steps
Learn more about using attributes to examine performance data.
Learn more about how to track performance issues in the Firebase console.
Set up alerts for network requests that are degrading the performance of your app. For example, you can configure an email alert for your team if the response time for a specific URL pattern exceeds a threshold that you set.
- View detailed reports of user sessions in which you can see a specific trace in a timeline context of other traces collected during the same session.