Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

ก่อนจะเริ่ม

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

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

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

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

    Java

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

    คอตลิน+KTX

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

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

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

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

  1. ในโมดูลของคุณ (app ระดับ) ไฟล์ 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 line (if not, add it):
          google()  // Google's Maven repository
          // Add the Bintray repository
          jcenter()
        }
    
        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.0'  // 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: (ตัวเลือก) เพิ่มการกำหนดตรวจสอบรหัสที่เฉพาะเจาะจง

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

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

ในโค้ดของคุณ คุณกำหนดจุดเริ่มต้นและจุดสิ้นสุดของการติดตามโค้ดที่กำหนดเอง (และเพิ่มเมตริกที่กำหนดเองที่ต้องการ) โดยใช้ 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.0)

    • แทนที่การตรวจสอบผลการดำเนินงานปลั๊กอินสายการพึ่งพาในระดับรากของคุณ (ระดับโครงการ) ไฟล์ 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 แบบหลายกระบวนการ

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