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

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

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

ขั้นตอนที่ 1 : เพิ่ม SDK การตรวจสอบประสิทธิภาพลงในแอปของคุณ

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

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

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

    (ทางเลือก) เพิ่มการพึ่งพาไลบรารี 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 : (ไม่บังคับ) เพิ่มการตรวจสอบแบบกำหนดเองสำหรับโค้ดเฉพาะ

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

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

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

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

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

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

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

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

  • ปลั๊กอิน Gradle การตรวจสอบประสิทธิภาพ v1.1.0 อาจทำให้เกิดความไม่ตรงกันในการขึ้นต่อกันของ 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)

    • แทนที่บรรทัดการพึ่งพาปลั๊กอิน 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 แบบหลายกระบวนการเท่านั้น

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