לפני שמתחילים
אם עדיין לא עשיתם זאת, עליכם להוסיף את Firebase לפרויקט Android שלכם.
שלב 1: מוסיפים את Performance Monitoring SDK לאפליקציה
אחרי שמוסיפים את Performance Monitoring SDK, 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:34.0.0")) // 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:22.0.0") }
קומפילציה מחדש של האפליקציה.
שלב 2: מוסיפים את הפלאגין Performance Monitoring Gradle לאפליקציה
אחרי שמוסיפים את Performance Monitoring Gradle plugin, 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.4.3" apply false // Add the dependency for the Performance Monitoring Gradle plugin id("com.google.firebase.firebase-perf") version "2.0.0" 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.4.3' apply false // Add the dependency for the Performance Monitoring Gradle plugin id 'com.google.firebase.firebase-perf' version '2.0.0' apply false }
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל
<project>/<app-module>/build.gradle.kts
או<project>/<app-module>/build.gradle
), מוסיפים את הפלאגין Performance MonitoringGradle: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 לאפליקציה. אם אתם עדיין מפתחים באופן מקומי, כדאי ליצור אינטראקציה עם האפליקציה כדי ליצור אירועים לאיסוף ועיבוד נתונים ראשוניים.
כדי ליצור אירועים, מעבירים את האפליקציה בין הרקע לחזית כמה פעמים, יוצרים אינטראקציה עם האפליקציה על ידי ניווט בין מסכים ו/או מפעילים בקשות לרשת.
עוברים אל לוח הבקרה לביצועים במסוף Firebase. הנתונים הראשוניים אמורים להופיע תוך כמה דקות.
אם לא מוצגים הנתונים הראשוניים, כדאי לעיין בטיפים לפתרון בעיות.
שלב 4: (אופציונלי) הצגת הודעות יומן לאירועי ביצועים
מפעילים רישום ביומן של ניפוי הבאגים עבור Performance Monitoring בזמן הבנייה על ידי הוספת רכיב
<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_URL
Logging network request trace: URL
לוחצים על כתובת ה-URL כדי לראות את הנתונים במסוף Firebase. יכול להיות שיחלפו כמה רגעים עד שהנתונים יתעדכנו בלוח הבקרה.
אם האפליקציה לא מתעדת אירועי ביצועים, כדאי לעיין בטיפים לפתרון בעיות.
שלב 5: (אופציונלי) מוסיפים מעקב מותאם אישית לקוד ספציפי
כדי לעקוב אחרי נתוני ביצועים שמשויכים לקוד ספציפי באפליקציה, אפשר להטמיע מעקב אחרי קוד בהתאמה אישית.
באמצעות מעקב מותאם אישית אחר קוד, אפשר למדוד כמה זמן לוקח לאפליקציה להשלים משימה ספציפית או קבוצה של משימות, כמו טעינה של קבוצת תמונות או שליחת שאילתה למסד הנתונים. מדד ברירת המחדל למעקב אחר קוד בהתאמה אישית הוא משך הזמן, אבל אפשר גם להוסיף מדדים מותאמים אישית, כמו פגיעות במטמון ואזהרות לגבי זיכרון.
בקוד, מגדירים את ההתחלה והסוף של מעקב קוד בהתאמה אישית (ומוסיפים מדדים בהתאמה אישית שרוצים) באמצעות ה-API שמופיע ב-Performance Monitoring SDK. באפליקציות ל-Android, אפשר גם לעקוב אחרי משך הזמן של שיטות ספציפיות באמצעות ההערה @AddTrace.
במאמר הוספת מעקב לקוד ספציפי אפשר לקבל מידע נוסף על התכונות האלה ועל אופן ההוספה שלהן לאפליקציה.
שלב 6: פורסים את האפליקציה ואז בודקים את התוצאות
אחרי שמאמתים את Performance Monitoring באמצעות מכשיר בדיקה אחד או יותר, אפשר לפרוס את הגרסה המעודכנת של האפליקציה למשתמשים.
אפשר לעקוב אחרי נתוני הביצועים בלוח הבקרה לביצועים במסוף Firebase.
בעיות מוכרות
תוסף Gradle v1.1.0 Performance Monitoring עלול לגרום לחוסר התאמה בתלות של 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.0).
מחליפים את שורת התלות של הפלאגין 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 על סמך הערך שמוגדר בכותרת HTTP content-length. יכול להיות שהערך הזה לא תמיד מדויק.
Performance Monitoring תומך רק בתהליך הראשי באפליקציות Android מרובות תהליכים.
השלבים הבאים
בודקים ומריצים את Performance Monitoring קוד לדוגמה ל-Android ב-GitHub.
Performance Monitoringמידע נוסף על נתונים שנאספים באופן אוטומטי:
- נתונים שקשורים למחזור החיים של האפליקציה, כמו זמן הפעלת האפליקציה
- נתונים לגבי רינדור המסך באפליקציה
- נתונים של בקשות רשת מסוג HTTP/S שהונפקו על ידי האפליקציה
הצגה, מעקב וסינון של נתוני הביצועים במסוף Firebase.
כדי להוסיף מעקב אחרי משימות או תהליכי עבודה ספציפיים באפליקציה, צריך להוסיף כלי מעקב לקוד מותאם אישית.