เริ่มต้นใช้งานการตรวจสอบประสิทธิภาพสำหรับ 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 สำหรับไลบรารี Performance Monitoring สำหรับ Android เราขอแนะนำให้ใช้ Firebase Android BoM เพื่อควบคุมการกำหนดเวอร์ชันไลบรารี

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

    (ทางเลือก) เพิ่มทรัพยากร 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.0")
    }
    
    หากกำลังมองหาโมดูลไลบรารีสำหรับ 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 การตรวจสอบประสิทธิภาพ ดังนี้

    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 ระบบอาจใช้เวลา 2-3 นาทีในการอัปเดตข้อมูลในหน้าแดชบอร์ด

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

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

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

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

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

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

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

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

คุณตรวจสอบข้อมูลประสิทธิภาพได้ในแดชบอร์ดประสิทธิภาพของคอนโซล 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;

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

    • อัปเกรดปลั๊กอินการตรวจสอบประสิทธิภาพเป็น v1.1.1 หรือใหม่กว่า (เวอร์ชันล่าสุดคือ v1.4.2)

    • แทนที่บรรทัดทรัพยากร Dependency ของปลั๊กอินการตรวจสอบประสิทธิภาพในไฟล์ 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 ที่มีการประมวลผลหลายรายการเท่านั้น

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