ابدأ مع مراقبة الأداء لنظام Android

قبل ان تبدأ

إذا لم تكن قد قمت بذلك بالفعل، فأضف Firebase إلى مشروع Android الخاص بك .

الخطوة 1 : أضف SDK لمراقبة الأداء إلى تطبيقك

بعد إضافة SDK لمراقبة الأداء، يبدأ Firebase تلقائيًا في جمع البيانات لعرض شاشة تطبيقك والبيانات المتعلقة بدورة حياة تطبيقك (مثل وقت بدء التطبيق ). لتمكين Firebase من مراقبة طلبات الشبكة، يجب عليك أيضًا إضافة المكوّن الإضافي Performance Monitoring Gradle (الخطوة التالية).

  1. في ملف Gradle الخاص بالوحدة النمطية (على مستوى التطبيق) (عادةً <project>/<app-module>/build.gradle.kts أو <project>/<app-module>/build.gradle )، أضف التبعية لمراقبة الأداء مكتبة لالروبوت. نوصي باستخدام Firebase Android BoM للتحكم في إصدار المكتبة.

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:32.7.4"))
    
        // 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:20.5.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.1" 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.1' 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. قم بتمكين تسجيل تصحيح الأخطاء لمراقبة الأداء في وقت الإنشاء عن طريق إضافة عنصر <meta-data> إلى ملف AndroidManifest.xml الخاص بتطبيقك، كما يلي:

    <application>
        <meta-data
          android:name="firebase_performance_logcat_enabled"
          android:value="true" />
    </application>
    
  2. تحقق من رسائل السجل الخاصة بك بحثًا عن أي رسائل خطأ.

  3. تقوم مراقبة الأداء بوضع علامة على رسائل السجل الخاصة بها باستخدام FirebasePerformance . باستخدام تصفية logcat، يمكنك على وجه التحديد عرض تتبع المدة وتسجيل طلبات شبكة HTTP/S عن طريق تشغيل الأمر التالي:

    adb logcat -s FirebasePerformance
  4. تحقق من أنواع السجلات التالية التي تشير إلى أن مراقبة الأداء تقوم بتسجيل أحداث الأداء:

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. انقر على عنوان URL لعرض بياناتك في وحدة تحكم Firebase. قد يستغرق الأمر بضع دقائق حتى يتم تحديث البيانات في لوحة المعلومات.

إذا كان تطبيقك لا يسجل أحداث الأداء، فراجع نصائح استكشاف الأخطاء وإصلاحها .

الخطوة 5 : (اختياري) أضف مراقبة مخصصة لرمز محدد

لمراقبة بيانات الأداء المرتبطة بتعليمات برمجية محددة في تطبيقك، يمكنك استخدام أدوات تتبع التعليمات البرمجية المخصصة .

باستخدام تتبع التعليمات البرمجية المخصص، يمكنك قياس المدة التي يستغرقها تطبيقك لإكمال مهمة معينة أو مجموعة من المهام، مثل تحميل مجموعة من الصور أو الاستعلام عن قاعدة البيانات الخاصة بك. المقياس الافتراضي لتتبع التعليمات البرمجية المخصصة هو مدته، ولكن يمكنك أيضًا إضافة مقاييس مخصصة، مثل نتائج ذاكرة التخزين المؤقت وتحذيرات الذاكرة.

في التعليمات البرمجية الخاصة بك، يمكنك تحديد بداية ونهاية تتبع التعليمات البرمجية المخصصة (وإضافة أي مقاييس مخصصة مطلوبة) باستخدام واجهة برمجة التطبيقات التي توفرها SDK لمراقبة الأداء. بالنسبة لتطبيقات Android، يمكنك أيضًا مراقبة مدة طرق معينة باستخدام التعليق التوضيحي @AddTrace .

قم بزيارة إضافة مراقبة لرمز محدد لمعرفة المزيد حول هذه الميزات وكيفية إضافتها إلى تطبيقك.

الخطوة 6 : انشر تطبيقك ثم قم بمراجعة النتائج

بعد التحقق من صحة مراقبة الأداء باستخدام جهاز اختبار واحد أو أكثر، يمكنك نشر الإصدار المحدث من تطبيقك للمستخدمين.

يمكنك مراقبة بيانات الأداء في لوحة معلومات الأداء بوحدة تحكم Firebase.

مشاكل معروفة

  • يمكن أن يتسبب الإصدار 1.1.0 من البرنامج المساعد Performance Monitoring Gradle في عدم تطابق في تبعيات Guava، مما يؤدي إلى الخطأ التالي:

    Error:Execution failed for task ':app:packageInstantRunResourcesDebug'.
    > com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava/util/concurrent/Executor;

    إذا رأيت هذا الخطأ، فيمكنك إما:

    • قم بترقية البرنامج الإضافي لمراقبة الأداء إلى الإصدار 1.1.1 أو الأحدث (الأحدث هو الإصدار 1.4.2).

    • استبدل سطر تبعية البرنامج الإضافي لمراقبة الأداء في ملف 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'
          }
        }
      }
      
  • تقوم مراقبة الأداء بالإبلاغ عن إجمالي حجم الحمولة لطلبات شبكة HTTP استنادًا إلى القيمة المحددة في رأس طول محتوى HTTP. قد لا تكون هذه القيمة دقيقة دائمًا.

  • تدعم مراقبة الأداء العملية الرئيسية فقط في تطبيقات Android متعددة العمليات.

الخطوات التالية