Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

เริ่มต้นใช้งานการตรวจสอบประสิทธิภาพสำหรับ 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:28.4.2')
    
        // 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.3'
    }
    

    คอตลิน+KTX

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

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

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