Check out what’s new from Firebase at Google I/O 2022. Learn more

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

ก่อนจะเริ่ม

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

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

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

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

    Java

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

    Kotlin+KTX

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

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

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

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

  1. ในไฟล์ Gradle ของ โมดูล (ระดับแอป) (โดยปกติคือ app/build.gradle ) ให้ใช้ปลั๊กอินการตรวจสอบประสิทธิภาพ:

    apply plugin: 'com.android.application'
    apply plugin: 'com.google.gms.google-services'
    // Apply the Performance Monitoring plugin
    apply plugin: 'com.google.firebase.firebase-perf'
    
    android {
      // ...
    }
    
  2. ในไฟล์ Gradle ระดับราก (ระดับโปรเจ็กต์) ของคุณ ( build.gradle ) ให้เพิ่มกฎเพื่อรวมปลั๊กอินการตรวจสอบประสิทธิภาพ

    buildscript {
    
        repositories {
          // Check that you have the following lines (if not, add them):
          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:3.4.0'
    
          classpath 'com.google.gms:google-services:4.3.10'  // Google Services plugin
    
          // Add the dependency for the Performance Monitoring plugin
          classpath 'com.google.firebase:perf-plugin:1.4.1'  // Performance Monitoring plugin
        }
    }
    
  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 : ปรับใช้แอปของคุณแล้วตรวจสอบผลลัพธ์

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

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

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

  • ปลั๊กอิน Performance Monitoring 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.1)

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

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