Catch up on highlights from Firebase at Google I/O 2023. Learn more

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

ก่อนที่คุณจะเริ่มต้น

หากคุณยังไม่ได้ ดำเนินการ ให้เพิ่ม Firebase ในโครงการ Android ของคุณ

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

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

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

    Kotlin+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:32.1.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-ktx'
    }
    

    เมื่อใช้ 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-ktx:20.3.2'
    }
    

    Java

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:32.1.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:20.3.2'
    }
    

  2. คอมไพล์แอปของคุณใหม่

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

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

  1. ในไฟล์ Gradle ระดับรูท (ระดับโปรเจ็กต์) ( <project>/build.gradle ) ให้เพิ่มปลั๊กอิน Gradle การตรวจสอบประสิทธิภาพเป็นการพึ่งพา buildscript:

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            // To benefit from the latest Performance Monitoring plugin features,
            // update your Android Gradle plugin dependency to at least v3.4.0
            classpath 'com.android.tools.build:gradle:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.15'
    
            // Add the dependency for the Performance Monitoring Gradle plugin
            classpath 'com.google.firebase:perf-plugin:1.4.2'
        }
    }
  2. ในไฟล์ Gradle ของ โมดูล (ระดับแอป) (โดยปกติคือ <project>/<app-module>/build.gradle ) ให้เพิ่มปลั๊กอิน Gradle สำหรับการตรวจสอบประสิทธิภาพการทำงาน:

    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. ตรวจสอบชนิดของบันทึกต่อไปนี้ซึ่งบ่งชี้ว่า Performance Monitoring กำลังบันทึกเหตุการณ์ประสิทธิภาพ:

    • Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
    • Logging network request trace: URL
  5. คลิกที่ URL เพื่อดูข้อมูลของคุณในคอนโซล Firebase อาจใช้เวลาสักครู่เพื่อให้ข้อมูลอัปเดตในแดชบอร์ด

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

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

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

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

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

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

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

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

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

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

  • ปลั๊กอิน Gradle การตรวจสอบประสิทธิภาพ v1.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)

    • แทนที่บรรทัดการพึ่งพาปลั๊กอินการตรวจสอบประสิทธิภาพในไฟล์ Gradle ระดับรูท (ระดับโครงการ) ของคุณ ( build.gradle ) ดังนี้:

      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 แบบหลายกระบวนการ

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