לפני שמתחילים
אם עדיין לא הוספתם את Firebase לפרויקט Android, אתם צריכים להוסיף אותו.
שלב 1: מוסיפים את ה-SDK של Performance Monitoring לאפליקציה
אחרי שמוסיפים את ה-SDK של Performance Monitoring, המערכת של Firebase מתחילה לאסוף באופן אוטומטי נתונים שקשורים לרינדור המסך של האפליקציה ונתונים שקשורים למחזור החיים של האפליקציה (כמו זמן הפעלת האפליקציה). כדי לאפשר ל-Firebase לעקוב אחרי בקשות לאחזור מהרשת, צריך גם להוסיף את הפלאגין Performance Monitoring Gradle (השלב הבא).
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל
<project>/<app-module>/build.gradle.ktsאו<project>/<app-module>/build.gradle), מוסיפים את התלות בספריית Performance Monitoring ל-Android. מומלץ להשתמש ב-Firebase Android BoM כדי לשלוט בניהול גרסאות של הספרייה.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.0.1")) // Add the dependency for the Performance Monitoring library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-perf") }
כשמשתמשים ב-Firebase Android BoM, האפליקציה תמיד משתמשת בגרסאות תואמות של ספריות Firebase ל-Android.
(אפשרות חלופית) מוסיפים תלות של הפרויקט בספריות של Firebase בלי להשתמש ב-BoM
אם אתם בוחרים לא להשתמש ב-Firebase BoM, אתם צריכים לציין כל גרסה של ספריית Firebase בשורת התלות שלה.
שימו לב: אם אתם משתמשים בכמה ספריות של Firebase באפליקציה, מומלץ מאוד להשתמש ב-BoM כדי לנהל את גרסאות הספרייה, וכך לוודא שכל הגרסאות תואמות.
dependencies { // Add the dependency for the Performance Monitoring library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-perf:23.0.1") }
מקמפלים מחדש את האפליקציה.
שלב 2: מוסיפים את הפלאגין של Performance Monitoring Gradle לאפליקציה
אחרי שמוסיפים את הפלאגין של Performance Monitoring ל-Gradle, מערכת Firebase מתחילה לאסוף באופן אוטומטי נתונים של בקשות HTTP/S לאחזור מהרשת. הפלאגין גם מאפשר להוסיף מעקבים של קוד בהתאמה אישית באמצעות ההערה @AddTrace.
בקובץ Gradle ברמת הבסיס (ברמת הפרויקט) (
<project>/build.gradle.ktsאו<project>/build.gradle), מוסיפים את הפלאגין של Performance Monitoring Gradle:Kotlin
plugins { // To benefit from the latest Performance Monitoring plugin features, // update your Android Gradle plugin dependency to at least v3.4.0 id("com.android.application") version "7.3.0" apply false // Make sure that you have the Google services Gradle plugin dependency id("com.google.gms.google-services") version "4.5.0" apply false // Add the dependency for the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") version "2.0.2" apply false }
Groovy
plugins { // To benefit from the latest Performance Monitoring plugin features, // update your Android Gradle plugin dependency to at least v3.4.0 id 'com.android.application' version '7.3.0' apply false // Make sure that you have the Google services Gradle plugin dependency id 'com.google.gms.google-services' version '4.5.0' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '2.0.2' apply false }
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל
<project>/<app-module>/build.gradle.ktsאו<project>/<app-module>/build.gradle), מוסיפים את הפלאגין של Performance Monitoring Gradle:Kotlin
plugins { id("com.android.application") // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") ... }
Groovy
plugins { id 'com.android.application' // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' ... }
מקמפלים מחדש את האפליקציה.
שלב 3: יצירת אירועי ביצועים להצגת נתונים ראשוניים
מערכת Firebase מתחילה לעבד את האירועים אחרי שמוסיפים את ה-SDK לאפליקציה. אם אתם עדיין מפתחים באופן מקומי, אתם צריכים לבצע פעולות באפליקציה כדי ליצור אירועים לאיסוף ולעיבוד ראשוני של נתונים.
כדי ליצור אירועים, מעבירים את האפליקציה בין הרקע לחזית כמה פעמים, מבצעים פעולות באפליקציה על ידי ניווט בין מסכים ו/או מפעילים בקשות לאחזור מהרשת.
נכנסים למרכז הבקרה Performance במסוף Firebase. הנתונים הראשוניים אמורים להופיע תוך כמה דקות.
אם הנתונים הראשוניים לא מוצגים, כדאי לעיין בטיפים לפתרון בעיות.
שלב 4: (אופציונלי) הצגת הודעות ביומן של אירועי ביצועים
כדי להפעיל את יומן ניפוי הבאגים של Performance Monitoring בזמן ה-build, מוסיפים רכיב
<meta-data>לקובץAndroidManifest.xmlשל האפליקציה, באופן הבא:<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>בודקים אם יש הודעות שגיאה בהודעות היומן.
Performance Monitoring מתייג את הודעות היומן שלו באמצעות
FirebasePerformance. באמצעות סינון Logcat, אפשר להציג באופן ספציפי את מעקב משך הצפייה ואת רישום הבקשות לאחזור מהרשת ב-HTTP/S, על ידי הרצת הפקודה הבאה:adb logcat -s FirebasePerformance
חפשו את סוגי היומנים הבאים, שמציינים ש-Performance Monitoring מתעד אירועי ביצועים:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URLLogging network request trace: URL
לוחצים על כתובת ה-URL כדי לראות את הנתונים במסוף Firebase. יכול להיות שיעברו כמה רגעים עד שהנתונים יתעדכנו במרכז הבקרה.
אם האפליקציה לא מתעדת אירועי ביצועים, כדאי לעיין בטיפים לפתרון בעיות.
שלב 5: (אופציונלי) הוספת מעקב מותאם אישית לקוד ספציפי
כדי לעקוב אחרי נתוני ביצועים שמשויכים לקוד ספציפי באפליקציה, אתם יכולים להוסיף מעקבים אחר קוד בהתאמה אישית.
בעזרת מעקב אחר קוד בהתאמה אישית, אתם יכולים למדוד כמה זמן לוקח לאפליקציה להשלים משימה ספציפית או קבוצת משימות, כמו טעינה של קבוצת תמונות או שליחת שאילתה למסד הנתונים. מדד ברירת המחדל למעקב אחר קוד בהתאמה אישית הוא משך הזמן, אבל אפשר גם להוסיף מדדים מותאמים אישית, כמו מציאה במטמון (cache hit) ואזהרות לגבי זיכרון.
בקוד, אתם מגדירים את ההתחלה והסוף של מעקב אחר קוד בהתאמה אישית (ומוסיפים את המדדים המותאמים אישית הרצויים) באמצעות ה-API שסופק על ידי ה-SDK של Performance Monitoring. באפליקציות ל-Android, אפשר גם לעקוב אחרי משך הזמן של שיטות ספציפיות באמצעות הערת@AddTrace.
במאמר הוספת מעקב אחר קוד ספציפי מוסבר בהרחבה על התכונות האלה ואיך להוסיף אותן לאפליקציה.
שלב 6: פורסים את האפליקציה ובודקים את התוצאות
אחרי שמאמתים את Performance Monitoring באמצעות מכשיר בדיקה אחד או יותר, אפשר לפרוס את הגרסה המעודכנת של האפליקציה למשתמשים.
אפשר לעקוב אחרי נתוני הביצועים בלוח הבקרה Performance במסוף Firebase.
בעיות מוכרות
פלאגין Gradle של Performance Monitoring בגרסה 1.1.0 עלול לגרום לחוסר התאמה ביחסי התלות של Guava, וכתוצאה מכך לשגיאה הבאה:
Error:Execution failed for task ':app:packageInstantRunResourcesDebug'. > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;
אם השגיאה הזו מופיעה, אתם יכולים:
משדרגים את הפלאגין Performance Monitoring לגרסה 1.1.1 ואילך (הגרסה האחרונה היא 2.0.2).
מחליפים את שורת התלות של הפלאגין Performance Monitoring בקובץ Gradle ברמת הבסיס (ברמת הפרויקט) (
<project>/build.gradle.ktsאו<project>/build.gradle), באופן הבא:Kotlin
buildscript { // ... dependencies { // ... // Replace the standard Performance Monitoring plugin dependency line, as follows: classpath("com.google.firebase:perf-plugin:1.1.0") { exclude(group = "com.google.guava", module = "guava-jdk5") } } }
Groovy
buildscript { // ... dependencies { // ... // Replace the standard Performance Monitoring plugin dependency line, as follows: classpath('com.google.firebase:perf-plugin:1.1.0') { exclude group: 'com.google.guava', module: 'guava-jdk5' } } }
Performance Monitoring מדווח על הגודל הכולל של המטען הייעודי (payload) של בקשות לאחזור מהרשת ב-HTTP, על סמך הערך שמוגדר בכותרת content-length של HTTP. יכול להיות שהערך הזה לא תמיד יהיה מדויק.
Performance Monitoring תומך רק בתהליך הראשי באפליקציות ל-Android עם כמה תהליכים.
השלבים הבאים
בודקים ומריצים את דוגמת הקוד של Performance Monitoring ל-Android ב-GitHub.
מידע נוסף על נתונים שנאספים באופן אוטומטי על ידי Performance Monitoring:
- נתונים שקשורים למחזור החיים של האפליקציה, כמו שעת התחלה של האפליקציה
- נתונים לגבי עיבוד המסך באפליקציה
- נתונים של בקשות לאחזור מהרשת מסוג HTTP/S שהאפליקציה שלחה
לצפות בנתוני הביצועים, לעקוב אחריהם ולסנן אותם במסוף Firebase.
להוסיף מעקב אחר משימות או תהליכי עבודה ספציפיים באפליקציה באמצעות הוספת מעקבי קוד בהתאמה אישית.