Performance Monitoring משתמש במעקבים כדי לאסוף נתונים על תהליכים במעקב באפליקציה. מעקב הוא דוח שמכיל נתונים שנאספו בין שתי נקודות זמן באפליקציה.
בכל סוגי האפליקציות, Performance Monitoring אוסף באופן אוטומטי נתיב לכל בקשת רשת שהאפליקציה שלכם מנפיקה, שנקרא נתיב של בקשת רשת מסוג HTTP/S. ב-traces האלה נאספים מדדים לגבי הזמן שחלף מהרגע שבו האפליקציה שולחת בקשה לנקודת קצה בשירות ועד שהתגובה מנקודת הקצה הזו הושלמה. לכל נקודת קצה שאליה האפליקציה שולחת בקשה, המערכת מתעדת ב-Performance Monitoring כמה מדדים:
זמן תגובה – הזמן שחלף מהרגע שבו נשלחה הבקשה ועד שהתקבלה התשובה במלואה
גודל המטען הייעודי של התגובה – גודל המטען הייעודי של הרשת (payload) שהאפליקציה הורידה, בבייטים
גודל המטען הייעודי (payload) של הבקשה – גודל המטען הייעודי של הרשת שהאפליקציה העלתה, בבייט
שיעור הצלחה – אחוז התגובות שבוצעו בהצלחה (קודי תגובה בטווח 100-399) בהשוואה למספר התגובות הכולל
אפשר להציג נתונים מהמעקבים האלה בכרטיסייה המשנית Network requests בטבלת המעקבים, שנמצאת בחלק התחתון של לוח הבקרה Performance (מידע נוסף על שימוש במסוף מופיע בהמשך הדף).
Performance Monitoring אוסף באופן אוטומטי מדדים של בקשות רשת שמשתמשות בספריות הרשת הבאות:
Swift
- URLSession
- URLConnection
Objective-C
- NSURLSession
- NSURLConnection
התאמה אישית של צבירת הנתונים של בקשות הרשת
בנוסף לכלים המוכנים לשימוש ולצבירת הנתונים של בקשות הרשת, Performance Monitoring תומך גם באפשרויות הבאות:
- הוספת מעקב ידני אחר נתוני טרייסים של בקשות לרשת: המעקב המובנה כולל את רוב הבקשות לרשת של האפליקציה. עם זאת, יכול להיות שלא ידווחו על בקשות מסוימות, או שאתם משתמשים בספרייה אחרת כדי לשלוח בקשות לרשת. במקרים כאלה, אפשר להשתמש ב-Performance Monitoring API כדי להטמיע באופן ידני מעקב אחר בקשות רשת בהתאמה אישית.
- צבירה של נתונים לפי תבניות URL בהתאמה אישית: אם יש כתובות URL ספציפיות שמערכת Firebase לא מתעדת באמצעות ההתאמה האוטומטית שלה לתבניות URL, תוכלו ליצור תבניות URL בהתאמה אישית כדי לעקוב אחרי קבוצה ספציפית של כתובות URL לאורך זמן.
- התאמה אישית של אופן החישוב של שיעור ההצלחה: לפעמים צפוי שיופיע קוד שגיאה בנקודות קצה מסוימות של API, או שהוא כבר מטופל באפליקציה. במקרים כאלה, אפשר להגדיר את אופן החישוב של שיעור ההצלחה ולעקוב אחרי שיעור ההצלחה של קריאות הרשת של האפליקציה בצורה מדויקת יותר.
צבירת נתונים לפי תבניות של כתובות URL
Firebase Performance Monitoring אוסף באופן אוטומטי נתונים של בקשות רשת דומות כדי לעזור לכם להבין מגמות בביצועים של בקשות הרשת.
לכל בקשה, מערכת Firebase בודקת אם כתובת ה-URL של בקשת הרשת תואמת לדפוס של כתובת URL. אם כתובת ה-URL של הבקשה תואמת לדפוס URL, מערכת Firebase תצבור באופן אוטומטי את נתוני הבקשה לפי דפוס ה-URL. תבניות של כתובות URL ונתונים מצטברים שלהן מוצגים ב-Firebase בכרטיסייה 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/**
.
מערכת Firebase ממפה כל בקשה לתבנית URL אחת בלבד. אם הגדרתם תבניות URL בהתאמה אישית, מערכת Firebase תנסה להתאים קודם את כתובות ה-URL של הבקשות לתבניות האלה. אם מערכת Firebase לא מוצאת תבנית מותאמת אישית תואמת של כתובת URL, היא מתאימה את כתובת ה-URL של הבקשה לתבנית האוטומטית של כתובת ה-URL שהכי מייצגת. בהמשך מפורט מידע נוסף על תבניות אוטומטיות ומותאמות אישית של כתובות URL.
דפוסי כתובות URL אוטומטיים
בלי הגדרה מצדכם, Performance Monitoring מנסה לשקף את התנהגות השימוש האחרונה של האפליקציה על ידי התאמת הבקשות של האפליקציה לדפוסי כתובות URL אוטומטיים.
איך פועלת ההתאמה האוטומטית של תבניות של כתובות URL?
מערכת Firebase מתאימה כל בקשה לדפוס כתובת ה-URL האוטומטי שהכי מייצג אותה, שהיא הפיקה מהבקשות שנשלחו מהאפליקציה. עם זאת, חשוב לזכור שמערכת Firebase מנסה קודם להתאים את כתובות ה-URL של הבקשות לכל דפוסי כתובות ה-URL המותאמים אישית שהוגדרו.
בהמשך מופיעה דוגמה בסיסית לאופן שבו מערכת Firebase מנסה להתאים בקשות לדפוס כתובת ה-URL האוטומטי שהכי מייצג את האפליקציה שלכם.
האפליקציה שולחת הרבה בקשות לכתובות URL כמו:
example.com/germany/animals/bears
example.com/germany/animals/birds
example.com/germany/cars
מערכת Firebase קובעת ש-
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/**
לא מייצג את התנהגות השימוש האחרונה של האפליקציה, ולכן היא מתחילה להתאים את שתי הבקשות האלה חזרה ל-example.com/germany/**
.מערכת Firebase לא תצבור נתוני בקשות נוספים בקטע
example.com/germany/animals/**
כי הוא כבר לא הדפוס האוטומטי הכי מייצג של כתובות URL.
מאחר שההתאמה האוטומטית לתבנית של כתובת URL היא דינמית, חשוב לזכור את הדברים הבאים:
התאמות ונתונים נצברים מבקשות קודמות לא מושפעים מדפוסי כתובות URL חדשים. מערכת Firebase לא מבצעת צבירה חוזרת של נתוני הבקשות באופן רטרואקטיבי.
רק בקשות עתידיות מושפעות מתבניות ה-URL החדשות. מערכת Firebase ממפה כל בקשה חדשה לתבנית ה-URL האוטומטית הכי מייצגת. עם זאת, חשוב לזכור שמערכת Firebase מנסה קודם להתאים את כתובות ה-URL של הבקשות לכל תבניות כתובות URL בהתאמה אישית שהוגדרו.
הצגת תבניות URL אוטומטיות והנתונים שלהן
מערכת Firebase מציגה את כל דפוסי כתובות ה-URL ואת הנתונים המצטברים שלהם בכרטיסייה המשנית בקשות רשת בטבלת המעקב, שנמצאת בתחתית לוח הבקרה של ביצועים במסוף Firebase.
יכול להיות שתראו תבניות של כתובות URL עם התווית ללא שיוך. אלה דפוסים אוטומטיים 'רחבים' של כתובות URL, שבאמצעותם מערכת Firebase יכולה לצבור נתונים לבקשות שלא תואמות לדפוס כתובת URL ספציפי יותר.
כשתקופת השמירה של הנתונים מסתיימת לגבי הנתונים שנצברו בתבנית URL, מערכת Firebase מוחקת את הנתונים האלה מתבנית ה-URL. אם התוקף של כל הנתונים שנצברו לפי תבנית URL אוטומטית יפוג, מערכת Firebase תמחק את תבנית ה-URL הזו מהמסוף Firebase.
דפוסי כתובות URL בהתאמה אישית
אתם יכולים ליצור תבניות URL בהתאמה אישית כדי לעקוב אחרי תבניות URL ספציפיות ש-Firebase לא מתעד באמצעות התאמה אוטומטית של תבניות URL. לדוגמה, אפשר להשתמש בתבנית מותאמת אישית של כתובת URL כדי לפתור בעיות בכתובת URL ספציפית או כדי לעקוב אחרי קבוצה ספציפית של כתובות URL לאורך זמן.
מידע נוסף זמין במאמר יצירת תבניות של כתובות URL בהתאמה אישית.
מעקב אחר נתוני הביצועים, הצגה שלהם וסינון שלהם
כדי להציג נתוני ביצועים בזמן אמת, צריך לוודא שהאפליקציה משתמשת בגרסת SDK למעקב ביצועים שתואמת לעיבוד נתונים בזמן אמת. מידע נוסף על נתוני ביצועים בזמן אמת
מעקב אחר מדדים ספציפיים בלוח הבקרה
כדי לראות את המגמות של מדדי המפתח, מוסיפים אותם ללוח המדדים בחלק העליון של מרכז הבקרה ביצועים. תוכלו לזהות במהירות נסיגה בביצועים על ידי הצגת השינויים השבועיים, או לוודא שהשינויים האחרונים בקוד משפרים את הביצועים.
מרכז הבקרה של מעקב הביצועים ב-Firebase" />כדי להוסיף מדד ללוח המדדים:
- נכנסים ללוח הבקרה Performance במסוף Firebase.
- לוחצים על כרטיס מדד ריק ובוחרים מדד קיים להוספה ללוח.
- לוחצים על בכרטיס מדדים מאוכלס כדי להציג אפשרויות נוספות, למשל החלפה או הסרה של מדד.
בלוח המדדים מוצגים נתוני המדדים שנאספו לאורך זמן, גם בצורה גרפית וגם בתור שינוי באחוזים.
הצגת נתוני המעקב והנתונים שלהם
כדי להציג את הטרייסים, עוברים למרכז הבקרה Performance במסוף Firebase, גוללים למטה לטבלת הטרייסים ולוחצים על כרטיסיית המשנה המתאימה. בטבלה מוצגים כמה מהמדדים המובילים לכל מעקב, ואפשר גם למיין את הרשימה לפי השינוי באחוזים של מדד ספציפי.
ב-Performance Monitoring יש דף פתרון בעיות במסוף Firebase שמציג שינויים במדדים, כך שקל לטפל במהירות בבעיות בביצועים ולצמצם את ההשפעה שלהן על האפליקציות והמשתמשים. אפשר להשתמש בדף פתרון הבעיות כשמתגלות בעיות פוטנציאליות בביצועים, למשל בתרחישים הבאים:
- בוחרים מדדים רלוונטיים בלוח הבקרה ומבחינים בתנודות גדולות.
- בטבלת המעקב, ממיינים כך שהפערים הגדולים ביותר יופיעו בחלק העליון, ותראו שינוי משמעותי באחוזים.
- תקבלו התראה באימייל על בעיה בביצועים.
אפשר לגשת לדף פתרון הבעיות בדרכים הבאות:
- בלוח הבקרה של המדדים, לוחצים על הלחצן הצגת פרטי המדד.
- בכרטיס מדד כלשהו, בוחרים באפשרות
. בדף פתרון הבעיות מוצג מידע על המדד שבחרתם. => הצגת פרטים - בטבלת המעקב, לוחצים על שם מעקב או על ערך של מדד כלשהו בשורה שמשויכת למעקב הזה.
- בהתראה באימייל, לוחצים על בדיקה.
כשלוחצים על שם של מעקב בטבלת המעקבים, אפשר להציג פירוט של המדדים שמעניינים אתכם. לוחצים על הלחצן
- סינון לפי גרסת האפליקציה כדי להציג נתונים לגבי גרסה קודמת או לגבי הגרסה האחרונה להפצה
- סינון לפי מכשיר כדי לבדוק איך המכשירים הישנים מטפלים באפליקציה
- סינון לפי מדינה כדי לוודא שמיקום מסד הנתונים לא משפיע על אזור ספציפי
מידע נוסף על הצגת נתונים של שרטוטים
השלבים הבאים
מידע נוסף על שימוש במאפיינים לבדיקה של נתוני הביצועים
מידע נוסף על מעקב אחר בעיות בביצועים במסוף Firebase
להגדיר התראות לבקשות רשת שגורמות לירידה בביצועים של האפליקציה. לדוגמה, אפשר להגדיר התראה באימייל לצוות אם זמן התגובה של דפוס כתובת URL ספציפי חורג מסף שהגדרתם.
- הצגת דוחות מפורטים של סשנים של משתמשים שבהם אפשר לראות נתיב ספציפי בהקשר של ציר זמן של נתיבים אחרים שנאספו במהלך אותו סשן.