Performance Monitoring משתמש במעקבים כדי לאסוף נתונים על תהליכים מנוטרים באפליקציה. מעקב הוא דוח שמכיל נתונים שנאספו בין שתי נקודות זמן באפליקציה.
בכל סוגי האפליקציות, Performance Monitoring אוסף באופן אוטומטי מעקב לכל בקשה לאחזור מהרשת שהאפליקציה שולחת, שנקרא מעקב אחר בקשות לאחזור מהרשת ב-HTTP/S. המעקבים האלה אוספים מדדים לגבי הזמן שחולף מרגע שהאפליקציה שולחת בקשה לנקודת קצה (endpoint) של שירות ועד שהתגובה מנקודת הקצה הזו הושלמה. לכל נקודת קצה שהאפליקציה שולחת אליה בקשה, Performance Monitoring מתעד כמה מדדים:
זמן תגובה – הזמן שעובר מרגע שליחת הבקשה ועד לקבלת התשובה המלאה
גודל המטען הייעודי (payload) של התגובה – גודל המטען הייעודי של הרשת בבייטים שהאפליקציה הורידה
גודל המטען הייעודי (payload) של הבקשה – גודל המטען הייעודי של הרשת בבייטים שהאפליקציה העלתה
שיעור ההצלחה – אחוז התגובות המוצלחות (קודי תגובה בטווח 100 עד 399) בהשוואה לסך כל התגובות
אפשר לראות את הנתונים מהמעקבים האלה בכרטיסיית המשנה בקשות לאחזור מהרשת בטבלת המעקבים, שנמצאת בתחתית לוח הבקרה ביצועים (בהמשך הדף מוסבר בהרחבה על השימוש במסוף).
Performance Monitoring אוסף באופן אוטומטי מדדים של בקשות לאחזור מהרשת שמשתמשות בספריות הרשת הבאות:
OkHttp3, ובמיוחד צד הלקוח ב-HTTP בגרסה 3.x.x
URLConnection של Java, במיוחד 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
תבניות URL יכולות להיות:
- תבניות שנגזרות מ-Firebase – נקראות תבניות URL אוטומטיות
- תבניות שמוגדרות על ידי המשתמש – נקראות תבניות URL מותאמות אישית
לדוגמה: כל אחת מהבקשות הבאות של כתובות URL יכולה להתאים לתבנית כתובת ה-URL example.com/*/animals/**.
example.com/singapore/animalsexample.com/australia/animals/spidersexample.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/bearsexample.com/germany/animals/birdsexample.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 מותאמות אישית.
מעקב, צפייה וסינון של נתוני ביצועים
כדי להציג נתוני ביצועים בזמן אמת, צריך לוודא שהאפליקציה משתמשת בגרסה של Performance Monitoring SDK שתואמת לעיבוד נתונים בזמן אמת. מידע נוסף על נתוני ביצועים בזמן אמת
מעקב אחרי מדדים ספציפיים במרכז הבקרה
כדי לראות את המגמות של המדדים העיקריים, אתם יכולים להוסיף אותם ללוח המדדים בחלק העליון של מרכז הבקרה ביצועים. אתם יכולים לזהות במהירות רגרסיות על ידי הצגת שינויים משבוע לשבוע, או לוודא שהשינויים האחרונים בקוד משפרים את הביצועים.
מרכז הבקרה של מעקב אחר ביצועים ב-Firebase" />
כדי להוסיף מדד ללוח המדדים, פועלים לפי השלבים הבאים:
- נכנסים ללוח הבקרה Performance במסוף Firebase.
- לוחצים על כרטיס מדד ריק ובוחרים מדד קיים שרוצים להוסיף ללוח.
- כדי לראות אפשרויות נוספות, כמו החלפה או הסרה של מדד, לוחצים על בכרטיס מדד מאוכלס.
בלוח המדדים מוצגים נתוני המדדים שנאספו לאורך זמן, גם בצורה גרפית וגם כשינוי מספרי באחוזים.
הצגת נתוני המעקב
כדי לראות את המעקבים, נכנסים ללוח הבקרה Performance במסוף Firebase, גוללים למטה לטבלת המעקבים ולוחצים על כרטיסיית המשנה המתאימה. בטבלה מוצגים כמה מדדים מובילים לכל מעקב, ואפשר אפילו למיין את הרשימה לפי אחוז השינוי של מדד ספציפי.
במסוף Firebase יש דף לפתרון בעיות ב-Performance Monitoring שמדגיש שינויים במדדים, כדי שתוכלו לטפל במהירות בבעיות בביצועים ולצמצם את ההשפעה שלהן על האפליקציות והמשתמשים שלכם. אתם יכולים להשתמש בדף פתרון הבעיות כשאתם מזהים בעיות פוטנציאליות בביצועים, למשל בתרחישים הבאים:
- אתם בוחרים מדדים רלוונטיים בלוח הבקרה ומבחינים בהפרש גדול.
- בטבלת המעקבים, אתם ממיינים את הנתונים כך שההפרשים הגדולים ביותר יוצגו בחלק העליון, ואתם רואים שינוי משמעותי באחוזים.
- אתם מקבלים התראה באימייל על בעיה בביצועים.
אפשר לגשת לדף פתרון הבעיות בדרכים הבאות:
- במרכז הבקרה של המדדים, לוחצים על הכפתור הצגת פרטי המדד.
- בכרטיס של מדד כלשהו, לוחצים על
=> הצגת פרטים . בדף פתרון הבעיות מוצג מידע על המדד שבחרתם. - בטבלת המעקבים, לוחצים על שם של מעקב או על ערך של מדד כלשהו בשורה שמשויכת למעקב הזה.
- בהתראה באימייל, לוחצים על בדיקה.
כשלוחצים על שם של מעקב בטבלת המעקבים, אפשר להציג פירוט של המדדים הרלוונטיים. לוחצים על הלחצן
נתוני המעקב אחר ביצועים ב-Firebase מסוננים לפי מאפיין" />
- לסנן לפי גרסת האפליקציה כדי לראות נתונים על גרסה קודמת או על הגרסה האחרונה
- מסננים לפי מכשיר כדי לראות איך מכשירים ישנים יותר מתמודדים עם האפליקציה
- מסננים לפי Country כדי לוודא שמיקום מסד הנתונים לא משפיע על אזור ספציפי.
השלבים הבאים
איך עוקבים אחרי בעיות בביצועים במסוף Firebase
הגדירו התראות לבקשות לאחזור מהרשת שפוגעות בביצועים של האפליקציה. לדוגמה, אתם יכולים להגדיר התראה באימייל לצוות אם זמן התגובה לתבנית URL ספציפית חורג מהסף שהגדרתם.
- לצפות בדוחות מפורטים של סשנים של משתמשים, שבהם אפשר לראות מעקב ספציפי בהקשר של ציר הזמן של מעקבים אחרים שנאספו במהלך אותו סשן.