תחילת השימוש ב-Performance Monitoring ל-Android

לפני שמתחילים

אם עדיין לא עשיתם זאת, מוסיפים את Firebase לפרויקט Android.

שלב 1: מוסיפים את ה-SDK של Performance Monitoring לאפליקציה

אחרי שמוסיפים את ה-SDK של Performance Monitoring, מערכת Firebase מתחילה לאסוף באופן אוטומטי נתונים לגבי עיבוד המסך של האפליקציה ונתונים שקשורים למחזור החיים של האפליקציה (כמו שעת הפעלת האפליקציה). כדי לאפשר ל-Firebase לעקוב אחרי בקשות לרשת, צריך גם להוסיף את הפלאגין Performance Monitoring ל-Gradle (השלב הבא).

  1. בקובץ 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:33.6.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:21.0.2")
    }
    מחפשים מודול ספרייה ספציפי ל-Kotlin? החל מ-אוקטובר 2023 (Firebase BoM 32.5.0), מפתחי Kotlin ומפתחי Java יוכלו להסתמך על מודול הספרייה הראשי (פרטים נוספים זמינים בשאלות הנפוצות לגבי היוזמה הזו).

  2. מפעילים מחדש את האפליקציה.

שלב 2: מוסיפים את הפלאגין Performance Monitoring של Gradle לאפליקציה

אחרי שמוסיפים את הפלאגין Performance Monitoring ל-Gradle, מערכת Firebase מתחילה לאסוף באופן אוטומטי נתונים לגבי בקשות רשת מסוג HTTP/S. הפלאגין מאפשר גם להוסיף כלי למעקב אחר קוד בהתאמה אישית באמצעות הערה ‎@AddTrace.

  1. בקובץ 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.2" apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id("com.google.firebase.firebase-perf") version "1.4.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.4.2' apply false
    
        // Add the dependency for the Performance Monitoring Gradle plugin
        id 'com.google.firebase.firebase-perf' version '1.4.2' apply false
    }
  2. בקובץ 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. מקמפלים מחדש את האפליקציה.

שלב 3: יוצרים אירועי ביצועים להצגת הנתונים הראשונית

Firebase מתחיל לעבד את האירועים אחרי שמוסיפים את ה-SDK לאפליקציה. אם אתם עדיין מפתחים באופן מקומי, עליכם לבצע פעולות באפליקציה כדי ליצור אירועים לצורך איסוף ועיבוד ראשוני של נתונים.

  1. כדי ליצור אירועים, אפשר להעביר את האפליקציה כמה פעמים בין הרקע לחזית, ליצור אינטראקציה עם האפליקציה על ידי ניווט בין המסכים ו/או להפעיל בקשות רשת.

  2. עוברים אל לוח הבקרה לביצועים במסוף Firebase. הנתונים הראשוניים אמורים להופיע תוך כמה דקות.

    אם הנתונים הראשוניים לא מוצגים, כדאי לעיין בטיפים לפתרון בעיות.

שלב 4: (אופציונלי) הצגת הודעות ביומן לגבי אירועי ביצועים

  1. כדי להפעיל רישום ביומן של ניפוי באגים ל-Performance Monitoring בזמן ה-build, מוסיפים את הרכיב <meta-data> לקובץ AndroidManifest.xml של האפליקציה, כך:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
  2. בודקים אם יש הודעות שגיאה בהודעות היומן.

  3. Performance Monitoring מתייג את הודעות היומן שלו באמצעות FirebasePerformance. באמצעות סינון של logcat, אפשר להציג באופן ספציפי את הנתונים של זמן המעקב ואת הרישום ביומן של בקשות הרשת מסוג HTTP/S. לשם כך, מריצים את הפקודה הבאה:

    adb logcat -s FirebasePerformance
  4. מחפשים את סוגי היומנים הבאים שמעידים על כך ש-Performance Monitoring מתעד אירועי ביצועים:

    • Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. לוחצים על כתובת ה-URL כדי להציג את הנתונים במסוף Firebase. יכול להיות שיחלפו כמה רגעים עד שהנתונים יתעדכנו במרכז הבקרה.

אם לא מתועדים ביומן אירועי ביצועים באפליקציה, כדאי לעיין בטיפים לפתרון בעיות.

שלב 5: (אופציונלי) הוספת מעקב מותאם אישית לקוד ספציפי

כדי לעקוב אחרי נתוני הביצועים שמשויכים לקוד ספציפי באפליקציה, אפשר להשתמש במעקב אחר קוד בהתאמה אישית.

בעזרת מעקב קוד מותאם אישית, אפשר למדוד את משך הזמן שלוקח לאפליקציה להשלים משימה ספציפית או קבוצה של משימות, כמו טעינת קבוצת תמונות או שליחת שאילתה למסד הנתונים. מדד ברירת המחדל של מעקב אחר קוד בהתאמה אישית הוא משך הזמן שלו, אבל אפשר גם להוסיף מדדים מותאמים אישית, כמו היטים במטמון ואזהרות זיכרון.

בקוד, מגדירים את ההתחלה והסיום של מעקב קוד בהתאמה אישית (ומוסיפים את המדדים בהתאמה אישית הרצויים) באמצעות ה-API שסופק על ידי ה-SDK של Performance Monitoring. באפליקציות ל-Android, אפשר גם לעקוב אחרי משך הזמן של שיטות ספציפיות באמצעות הערה ‎@AddTrace.

במאמר הוספת מעקב אחרי קוד ספציפי תוכלו לקרוא מידע נוסף על התכונות האלה ועל האופן שבו מוסיפים אותן לאפליקציה.

שלב 6: פורסים את האפליקציה ובודקים את התוצאות

אחרי שתאמתו את Performance Monitoring באמצעות מכשיר בדיקה אחד או יותר, תוכלו לפרוס את הגרסה המעודכנת של האפליקציה למשתמשים.

אפשר לעקוב אחרי נתוני הביצועים במרכז הבקרה לביצועים במסוף Firebase.

בעיות מוכרות

  • הפלאגין Performance Monitoring Gradle v1.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 ואילך (הגרסה העדכנית ביותר היא 1.4.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 מדווח על גודל המטען הייעודי הכולל של בקשות רשת ב-HTTP, על סמך הערך שמוגדר בכותרת content-length של HTTP. יכול להיות שהערך הזה לא תמיד יהיה מדויק.

  • Performance Monitoring תומך רק בתהליך הראשי באפליקציות Android עם תהליכים מרובים.

השלבים הבאים