เริ่มต้นใช้งานการตรวจสอบประสิทธิภาพสำหรับ Android

ก่อนเริ่มต้น

หากคุณยังไม่ได้ดำเนินการ เพิ่ม Firebase ลงในโปรเจ็กต์ Android

ขั้นตอนที่ 1: เพิ่ม Performance Monitoring SDK ลงในแอป

หลังจากที่คุณเพิ่ม Performance Monitoring SDK แล้ว Firebase จะเริ่มรวบรวมโดยอัตโนมัติ ข้อมูลสำหรับการแสดงผลหน้าจอและข้อมูลของแอป เกี่ยวข้องกับวงจรของแอป (เช่น เวลาเริ่มต้นของแอป) ถึง เปิดใช้ Firebase เพื่อตรวจสอบคำขอเครือข่าย คุณต้องเพิ่มการตรวจสอบประสิทธิภาพด้วย ปลั๊กอิน Gradle (ขั้นตอนถัดไป)

  1. ในไฟล์ Gradle ของโมดูล (ระดับแอป) (ปกติ <project>/<app-module>/build.gradle.kts หรือ <project>/<app-module>/build.gradle) เพิ่มทรัพยากร Dependency สำหรับไลบรารีการตรวจสอบประสิทธิภาพสําหรับ Android เราขอแนะนำให้ใช้ BoM ของ Firebase Android เพื่อควบคุมการกำหนดเวอร์ชันไลบรารี

    dependencies {
        // Import the BoM for the Firebase platform
        implementation(platform("com.google.firebase:firebase-bom:33.1.2"))
    
        // 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 เวอร์ชันที่เข้ากันได้เสมอ

    (ทางเลือก) เพิ่มทรัพยากร Dependency ของไลบรารี Firebase โดยไม่ต้องใช้ BoM

    หากเลือกไม่ใช้ Firebase BoM คุณต้องระบุเวอร์ชันไลบรารี Firebase แต่ละเวอร์ชัน ในบรรทัดทรัพยากร Dependency

    โปรดทราบว่าหากคุณใช้ไลบรารี 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.1")
    }
    
    หากกำลังมองหาโมดูลไลบรารีสำหรับ Kotlin โดยเฉพาะ จะเริ่มต้นใน ตุลาคม 2023 (Firebase BoM 32.5.0) ทั้งนักพัฒนาซอฟต์แวร์ Kotlin และ Java สามารถ ขึ้นอยู่กับโมดูลไลบรารีหลัก (ดูรายละเอียดได้ที่ คําถามที่พบบ่อยเกี่ยวกับโครงการริเริ่มนี้)

  2. คอมไพล์แอปอีกครั้ง

ขั้นตอนที่ 2: เพิ่มปลั๊กอิน Gradle การตรวจสอบประสิทธิภาพลงในแอป

หลังจากเพิ่มปลั๊กอิน Gradle การตรวจสอบประสิทธิภาพแล้ว Firebase จะเริ่มต้นโดยอัตโนมัติ กำลังรวบรวมข้อมูลสำหรับ คำขอเครือข่าย HTTP/S ปลั๊กอินยังช่วยให้คุณใช้การติดตามโค้ดที่กำหนดเอง คำอธิบายประกอบ@AddTrace

  1. ในไฟล์ Gradle ระดับราก (ระดับโปรเจ็กต์) (<project>/build.gradle.kts หรือ <project>/build.gradle) ให้เพิ่ม ปลั๊กอิน Gradle ของ Performance Monitoring:

    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) เพิ่มการตรวจสอบประสิทธิภาพ ปลั๊กอิน 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 อาจใช้เวลา 2-3 รอให้ข้อมูลอัปเดตในหน้าแดชบอร์ด

หากแอปไม่บันทึกเหตุการณ์ด้านประสิทธิภาพ โปรดดูการแก้ปัญหา เคล็ดลับ

ขั้นตอนที่ 5: (ไม่บังคับ) เพิ่มการตรวจสอบที่กําหนดเองสําหรับโค้ดที่ต้องการ

วิธีตรวจสอบข้อมูลประสิทธิภาพที่เชื่อมโยงกับโค้ดที่ต้องการในแอป การติดตามโค้ดที่กำหนดเอง

คุณสามารถวัดระยะเวลาที่แอปใช้ในการดำเนินการด้วยการติดตามโค้ดที่กำหนดเอง งานหรือชุดงานที่เฉพาะเจาะจง เช่น การโหลดชุดรูปภาพหรือการค้นหา ฐานข้อมูลของคุณ เมตริกเริ่มต้นสำหรับการติดตามโค้ดที่กำหนดเองคือระยะเวลาของเมตริก แต่ คุณยังสามารถเพิ่มเมตริกที่กำหนดเอง เช่น แคช Hit และคำเตือนหน่วยความจำได้

ในโค้ดของคุณ คุณจะต้องกำหนดจุดเริ่มต้นและจุดสิ้นสุดของการติดตามโค้ดที่กำหนดเอง (และ เพิ่มเมตริกที่กําหนดเองที่ต้องการ) โดยใช้ API ที่มาจาก Performance Monitoring SDK สำหรับแอป Android คุณสามารถตรวจสอบระยะเวลาของ วิธีการที่เฉพาะเจาะจงโดยใช้ คำอธิบายประกอบ@AddTrace

ไปที่หัวข้อเพิ่มการตรวจสอบสำหรับโค้ดที่ต้องการ เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์เหล่านี้ รวมถึงวิธีเพิ่มฟีเจอร์ลงในแอป

ขั้นตอนที่ 6: ทำให้แอปใช้งานได้ จากนั้นตรวจสอบผลลัพธ์

หลังจากที่คุณตรวจสอบประสิทธิภาพการตรวจสอบโดยใช้อุปกรณ์ทดสอบอย่างน้อย 1 รายการ คุณจะทำสิ่งต่อไปนี้ได้ ทำให้ผู้ใช้ของคุณใช้งานแอปเวอร์ชันที่อัปเดตแล้วได้

คุณตรวจสอบข้อมูลประสิทธิภาพได้ใน แดชบอร์ดประสิทธิภาพ ของคอนโซล Firebase

ปัญหาที่ทราบ

  • ปลั๊กอิน Gradle ของ Performance Monitoring เวอร์ชัน 1.1.0 อาจทำให้ใน Guava ไม่ตรงกัน Dependencies ที่ทำให้เกิดข้อผิดพลาดต่อไปนี้

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

    หากเห็นข้อผิดพลาดนี้ คุณอาจทำอย่างใดอย่างหนึ่งต่อไปนี้

    • อัปเกรดปลั๊กอินการตรวจสอบประสิทธิภาพเป็น v1.1.1 หรือใหม่กว่า (เวอร์ชันล่าสุดคือ v1.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'
          }
        }
      }
      
  • การตรวจสอบประสิทธิภาพจะรายงานขนาดเพย์โหลดทั้งหมดสำหรับคำขอเครือข่าย HTTP โดยอิงจาก เกี่ยวกับค่าที่ตั้งไว้ในส่วนหัวความยาวของเนื้อหา HTTP ค่านี้อาจไม่ ถูกต้องอยู่เสมอ

  • การตรวจสอบประสิทธิภาพรองรับเฉพาะกระบวนการหลักในแอป Android ที่มีการประมวลผลหลายรายการเท่านั้น

ขั้นตอนถัดไป