หน้านี้มีเคล็ดลับการแก้ปัญหาสำหรับการเริ่มต้นใช้งาน Performance Monitoring หรือ โดยใช้ฟีเจอร์และเครื่องมือของ Performance Monitoring
ตรวจหาการแก้ปัญหาในขั้นแรก
การตรวจสอบ 2 รายการต่อไปนี้เป็นแนวทางปฏิบัติแนะนำทั่วไปที่แนะนำสำหรับทุกคน ก่อนที่จะแก้ปัญหาต่อไป
1. ตรวจสอบข้อความบันทึกเพื่อดูเหตุการณ์ด้านประสิทธิภาพ
ตรวจสอบข้อความบันทึกเพื่อให้แน่ใจว่า SDK ของ Performance Monitoring กำลังบันทึก กิจกรรมด้านประสิทธิภาพ
วิธีดูข้อความบันทึกสำหรับเหตุการณ์ด้านประสิทธิภาพ
เปิดใช้การบันทึกการแก้ไขข้อบกพร่องสำหรับ Performance Monitoring ในเวลาบิลด์โดยเพิ่ม
<meta-data>
ลงในไฟล์AndroidManifest.xml
ของแอป เช่น<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
ตรวจสอบข้อความบันทึกของคุณเพื่อหาข้อความแสดงข้อผิดพลาด
Performance Monitoring ติดแท็กข้อความบันทึกด้วย
FirebasePerformance
การใช้ Logcat การกรอง คุณสามารถดูการติดตามระยะเวลาและเครือข่าย HTTP/S ขอให้บันทึกโดยเรียกใช้คำสั่งต่อไปนี้adb logcat -s FirebasePerformance
ตรวจหาบันทึกประเภทต่อไปนี้ซึ่งระบุว่า Performance Monitoring บันทึกเหตุการณ์ด้านประสิทธิภาพ:
Logging trace metric: TRACE_NAME, FIREBASE_PERFORMANCE_CONSOLE_URL
Logging network request trace: URL
คลิก URL เพื่อดูข้อมูลในคอนโซล Firebase อาจใช้เวลา 2-3 รอให้ข้อมูลอัปเดตในหน้าแดชบอร์ด
หากแอปไม่บันทึกเหตุการณ์ด้านประสิทธิภาพ โปรดดูการแก้ปัญหา เคล็ดลับ
2. ตรวจสอบแดชบอร์ดสถานะ Firebase
ตรวจสอบ แดชบอร์ดสถานะ Firebase ในกรณีที่ มีการหยุดทำงานของ Firebase หรือ Performance Monitoring
เริ่มต้นใช้งาน Performance Monitoring
หากคุณกำลังเริ่มต้นใช้งาน Performance Monitoring (iOS+ | Android | เว็บ) การแก้ปัญหาต่อไปนี้ เคล็ดลับช่วยแก้ปัญหาที่ Firebase ตรวจพบ SDK หรือแสดง ข้อมูลประสิทธิภาพแรกในคอนโซล Firebase
เพิ่ม SDK ลงในแอป แต่เพิ่มคอนโซล ยังคงบอกว่าให้เพิ่ม SDK
Firebase จะตรวจสอบได้ว่าคุณได้เพิ่ม Performance Monitoring SDK ลงในแอปเรียบร้อยแล้วหรือไม่ เมื่อได้รับข้อมูลเหตุการณ์ (เช่น การโต้ตอบกับแอป) จากแอปของคุณ โดยปกติภายใน 10 นาทีหลังจากเริ่มแอป ระบบประสิทธิภาพ แดชบอร์ด ของคอนโซล Firebase แสดงข้อความ "ตรวจพบ SDK" จากนั้นภายใน 30 นาที หน้าแดชบอร์ดจะแสดงข้อมูลเบื้องต้นที่ประมวลผล
หากเกิน 10 นาทีนับจากที่คุณเพิ่ม SDK เวอร์ชันล่าสุดลงใน แล้วแต่ยังไม่เห็นการเปลี่ยนแปลง โปรดตรวจดูบันทึก ข้อความ เพื่อให้มั่นใจว่า Performance Monitoring กำลังบันทึก กิจกรรม ลองทำตามขั้นตอนการแก้ปัญหาที่เหมาะสมตามที่อธิบายไว้ด้านล่างเพื่อ แก้ปัญหาข้อความการตรวจจับ SDK ที่ล่าช้า
แอปกำลังบันทึกเหตุการณ์: การแก้ปัญหา ก้าว
ตรวจสอบว่าคุณใช้ Performance Monitoring Android SDK 19.1.0 ขึ้นไป (หรือ Firebase BoM 26.3.0 ขึ้นไป) โปรดดูบันทึกประจำรุ่น
หากคุณยังคงพัฒนาภายในเครื่อง ให้ลองสร้างเหตุการณ์เพิ่มเติมสำหรับข้อมูล คอลเล็กชัน:
- สร้างเหตุการณ์โดยสลับแอประหว่างเบื้องหลังกับที่ทำงานอยู่เบื้องหน้า หลายๆ ครั้ง การโต้ตอบกับแอปด้วยการไปยังหน้าจอต่างๆ และ/หรือการทริกเกอร์คำขอเครือข่าย
ตรวจสอบว่าการกำหนดค่า Firebase file (
google-services.json
) คือ เพิ่มลงในแอปของคุณอย่างถูกต้อง และคุณยังไม่ได้แก้ไขไฟล์ โปรดตรวจสอบสิ่งต่อไปนี้เป็นพิเศษชื่อไฟล์การกำหนดค่าไม่ได้เพิ่มอักขระต่อท้าย เช่น
(2)
ไฟล์การกำหนดค่าอยู่ในไดเรกทอรีโมดูล (ระดับแอป) ของแอป
รหัสแอป Android ของ Firebase (
mobilesdk_app_id
) ที่แสดงในไฟล์การกำหนดค่า ที่เหมาะสมกับแอปของคุณ ค้นหารหัสแอป Firebase ในแอปของคุณ การ์ดของโปรเจ็กต์ settings ของคุณ การตั้งค่า
หากมีอะไรผิดปกติกับไฟล์การกำหนดค่าในแอป ให้ลองทำตามขั้นตอนต่อไปนี้
ลบไฟล์การกำหนดค่าที่คุณมีอยู่ในแอป
ทำตามวิธีการเหล่านี้เพื่อ ดาวน์โหลดไฟล์กำหนดค่าใหม่และเพิ่มลงในแอป Android
หาก SDK บันทึกเหตุการณ์และดูเหมือนว่าทุกอย่างได้รับการตั้งค่าอย่างถูกต้อง แต่คุณยังไม่เห็นข้อความการตรวจจับ SDK หรือข้อมูลที่ประมวลผลแล้ว (หลังผ่านไป 10 นาที) โปรดติดต่อทีมสนับสนุนของ Firebase
แอปไม่ได้บันทึกเหตุการณ์ ขั้นตอนการแก้ปัญหา
ตรวจสอบการตั้งค่าปลั๊กอิน Gradle ของ Performance Monitoring ตามขั้นตอนต่อไปนี้
โปรดตรวจสอบว่าคุณได้ เพิ่ม ปลั๊กอินอย่างถูกต้อง โปรดตรวจสอบสิ่งต่อไปนี้เป็นพิเศษ
- คุณเพิ่มปลั๊กอินแล้ว
(
) ใน ไฟล์apply plugin: 'com.google.firebase.firebase-perf' build.gradle
โมดูล (ระดับแอป) ของคุณ - คุณได้รวมทรัพยากร Dependency ของคลาสพาธสำหรับปลั๊กอินแล้ว
(
) ในไฟล์classpath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
ระดับโปรเจ็กต์
- คุณเพิ่มปลั๊กอินแล้ว
(
โปรดตรวจสอบว่า ปลั๊กอิน ไม่ได้ปิดใช้ผ่านข้อใดข้อหนึ่งต่อไปนี้ แฟล็ก:
instrumentationEnabled
ในโมดูล (ระดับแอป)build.gradle
ไฟล์firebasePerformanceInstrumentationEnabled
ในgradle.properties
ไฟล์
ตรวจสอบว่า Performance Monitoring SDK ไม่ใช่ ปิดใช้ ผ่านค่าสถานะใดค่าหนึ่งต่อไปนี้ในไฟล์
AndroidManifest.xml
firebase_performance_collection_enabled
firebase_performance_collection_deactivated
หากคุณไม่พบรายการที่ปิดใช้ในแอป ติดต่อทีมสนับสนุน Firebase
Console บอกว่า SDK ตรวจพบ แต่ไม่มีข้อมูลปรากฏ
Performance Monitoring ประมวลผลข้อมูลเหตุการณ์ด้านประสิทธิภาพก่อนแสดงใน แดชบอร์ดประสิทธิภาพ
หากตรวจพบ SDK นานกว่า 24 ชั่วโมง ข้อความที่ปรากฏขึ้น และคุณยังไม่เห็นข้อมูล ให้ตรวจสอบ แดชบอร์ดสถานะ Firebase ในกรณีที่มี การหยุดทำงานที่ทราบ หากไม่มีการหยุดชะงัก ติดต่อทีมสนับสนุน Firebase
การแก้ปัญหาทั่วไป
หากคุณเพิ่ม SDK สําเร็จและใช้ Performance Monitoring ในแอปอยู่ เคล็ดลับการแก้ไขปัญหาต่อไปนี้สามารถช่วยแก้ไขปัญหาทั่วไปที่เกี่ยวข้องกับ Performance Monitoring ฟีเจอร์และเครื่องมือ
แอปไม่บันทึก กิจกรรมด้านประสิทธิภาพ
หากคุณไม่เห็นข้อความบันทึกสำหรับประสิทธิภาพ เหตุการณ์ ให้ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้
ตรวจสอบการตั้งค่าปลั๊กอิน Gradle ของ Performance Monitoring ตามขั้นตอนต่อไปนี้
โปรดตรวจสอบว่าคุณได้ เพิ่ม ปลั๊กอินอย่างถูกต้อง โปรดตรวจสอบสิ่งต่อไปนี้เป็นพิเศษ
- คุณเพิ่มปลั๊กอินแล้ว
(
) ใน ไฟล์apply plugin: 'com.google.firebase.firebase-perf' build.gradle
โมดูล (ระดับแอป) ของคุณ - คุณได้รวมทรัพยากร Dependency ของคลาสพาธสำหรับปลั๊กอินแล้ว
(
) ในไฟล์classpath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
ระดับโปรเจ็กต์
- คุณเพิ่มปลั๊กอินแล้ว
(
โปรดตรวจสอบว่า ปลั๊กอิน ไม่ได้ปิดใช้ผ่านข้อใดข้อหนึ่งต่อไปนี้ แฟล็ก:
instrumentationEnabled
ในโมดูล (ระดับแอป)build.gradle
ไฟล์firebasePerformanceInstrumentationEnabled
ในgradle.properties
ไฟล์
ตรวจสอบว่า Performance Monitoring SDK ไม่ใช่ ปิดใช้ ผ่านค่าสถานะใดค่าหนึ่งต่อไปนี้ในไฟล์
AndroidManifest.xml
firebase_performance_collection_enabled
firebase_performance_collection_deactivated
หากคุณไม่พบรายการที่ปิดใช้ในแอป ติดต่อทีมสนับสนุน Firebase
แดชบอร์ดประสิทธิภาพคือ ไม่มีข้อมูลการติดตามหน้าจอ
หากไม่มีข้อมูลการติดตามการแสดงผลหน้าจอ ให้ลองทำตามขั้นตอนต่อไปนี้ ขั้นตอนการแก้ปัญหา:
ตรวจสอบว่าคุณใช้ Android SDK เวอร์ชันล่าสุดอยู่ (v21.0.1) การติดตามการแสดงผลหน้าจอใช้ได้เฉพาะกับ v15.2.0 ขึ้นไป
ตรวจสอบว่าคุณไม่ได้ปิดใช้ฮาร์ดแวร์ด้วยตนเอง การเร่งความเร็ว สำหรับหน้าจอ
ตรวจสอบว่าคุณไม่ได้ใช้ DexGuard หรือ Jack Performance Monitoring คือ ใช้กับ Toolchain เหล่านี้ไม่ได้
DexGuard ปิดใช้การรวบรวมการเริ่มต้นแอปโดยอัตโนมัติ และการติดตามในแอป ในเบื้องหลัง อย่างไรก็ตาม การติดตามโค้ดที่กำหนดเอง ควรทำงานตามปกติหากแอปของคุณใช้ DexGuard
Jack เลิกใช้งานแล้วและ ไม่ควรใช้ในแอปของคุณ
แดชบอร์ดประสิทธิภาพคือ ไม่มีข้อมูลการติดตามที่กำหนดเอง
คุณเห็นข้อมูลประสิทธิภาพของการติดตามที่รวบรวมโดยอัตโนมัติหรือไม่ แต่ไม่ใช่สำหรับ การติดตามโค้ดที่กำหนดเอง ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้
หากคุณติดตั้งการติดตามโค้ดที่กำหนดเองโดยใช้ Trace API ตรวจสอบการตั้งค่าของการติดตาม โดยเฉพาะรายการต่อไปนี้
- ชื่อของการติดตามโค้ดที่กำหนดเองและเมตริกที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้
ข้อกำหนด: ไม่มีช่องว่างนำหน้าหรือต่อท้าย ไม่มีขีดล่างนำหน้า
(
_
) อักขระและความยาวสูงสุดคือ 32 อักขระ - การติดตามทั้งหมดต้องเริ่มต้นและหยุดลง การติดตามที่ไม่ได้เริ่มต้น ไม่ใช่ การหยุดหรือหยุดทำงานก่อนเริ่มต้นจะไม่ได้รับการบันทึก
- ชื่อของการติดตามโค้ดที่กำหนดเองและเมตริกที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้
ข้อกำหนด: ไม่มีช่องว่างนำหน้าหรือต่อท้าย ไม่มีขีดล่างนำหน้า
(
หากคุณใช้การติดตามโค้ดที่กำหนดเองโดยใช้
@AddTrace
หมายเหตุ ตรวจสอบการตั้งค่าปลั๊กอิน Gradle ของ Performance Monitoringโปรดตรวจสอบว่าคุณได้ เพิ่ม ปลั๊กอินอย่างถูกต้อง โปรดตรวจสอบสิ่งต่อไปนี้เป็นพิเศษ
- คุณเพิ่มปลั๊กอินแล้ว
(
) ใน ไฟล์apply plugin: 'com.google.firebase.firebase-perf' build.gradle
โมดูล (ระดับแอป) ของคุณ - คุณได้รวมทรัพยากร Dependency ของคลาสพาธสำหรับปลั๊กอินแล้ว
(
) ในไฟล์classpath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
ระดับโปรเจ็กต์
- คุณเพิ่มปลั๊กอินแล้ว
(
โปรดตรวจสอบว่า ปลั๊กอิน ไม่ได้ปิดใช้ผ่านข้อใดข้อหนึ่งต่อไปนี้ แฟล็ก:
instrumentationEnabled
ในโมดูล (ระดับแอป)build.gradle
ไฟล์firebasePerformanceInstrumentationEnabled
ในgradle.properties
ไฟล์
ตรวจสอบข้อความบันทึกเพื่อให้แน่ใจว่า Performance Monitoring กำลังบันทึกการติดตามโค้ดที่กำหนดเองที่คาดไว้
หาก Performance Monitoring กำลังบันทึกเหตุการณ์ แต่ไม่มีข้อมูลแสดงขึ้นหลังจากผ่านไป 24 ชั่วโมง โปรดติดต่อทีมสนับสนุน Firebase
แดชบอร์ดประสิทธิภาพ ไม่มีข้อมูลคำขอเครือข่าย
หากข้อมูลคำขอเครือข่ายขาดหายไป ให้ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้
สำหรับแอป Android ปลั๊กอิน Performance Monitoring Gradle เปิดใช้การวัดคุมที่ ให้การตรวจสอบอัตโนมัติ คำขอเครือข่าย HTTP/S โปรดตรวจสอบสิ่งต่อไปนี้
โปรดตรวจสอบว่าคุณได้ เพิ่ม ปลั๊กอินอย่างถูกต้อง โปรดตรวจสอบสิ่งต่อไปนี้เป็นพิเศษ
- คุณเพิ่มปลั๊กอินแล้ว
(
) ใน ไฟล์apply plugin: 'com.google.firebase.firebase-perf' build.gradle
โมดูล (ระดับแอป) ของคุณ - คุณได้รวมทรัพยากร Dependency ของคลาสพาธสำหรับปลั๊กอินแล้ว
(
) ในไฟล์classpath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
ระดับโปรเจ็กต์
- คุณเพิ่มปลั๊กอินแล้ว
(
โปรดตรวจสอบว่า ปลั๊กอิน ไม่ได้ปิดใช้ผ่านข้อใดข้อหนึ่งต่อไปนี้ แฟล็ก:
instrumentationEnabled
ในโมดูล (ระดับแอป)build.gradle
ไฟล์firebasePerformanceInstrumentationEnabled
ในgradle.properties
ไฟล์
ตรวจสอบความไม่เข้ากันของไลบรารีเครือข่าย Performance Monitoringโดยอัตโนมัติ รวบรวมเมตริกสำหรับคำขอเครือข่ายที่ใช้เครือข่ายต่อไปนี้ ไลบรารี: OkHttp 3.x.x, URLConnection ของ Java และ Apache HttpClient
โปรดทราบว่าคุณสามารถเพิ่มการตรวจสอบที่กำหนดเองสำหรับเครือข่าย คำขอ
ข้อควรระวังมีดังต่อไปนี้
ขึ้นอยู่กับลักษณะการทำงานของโค้ดและไลบรารีเครือข่ายที่ใช้โดย Performance Monitoring อาจรายงานเฉพาะคำขอเครือข่ายที่ เสร็จสมบูรณ์แล้ว ซึ่งหมายความว่าการเชื่อมต่อ HTTP/S ที่เปิดทิ้งไว้อาจไม่ จะถูกรายงาน
Performance Monitoring ใช้ร่วมกับ DexGuard และ Jack ไม่ได้
- DexGuard ปิดใช้การตรวจสอบคำขอเครือข่าย HTTP/S
- Jack เลิกใช้งานแล้วและ ไม่ควรใช้ในแอปของคุณ
Performance Monitoring จะไม่รายงานเกี่ยวกับคำขอเครือข่ายที่มีข้อมูลไม่ถูกต้อง ส่วนหัว
Content-Type
อย่างไรก็ตาม คำขอเครือข่ายที่ไม่มี ระบบยังคงยอมรับส่วนหัวContent-Type
อยู่
ข้อมูลคำขอเครือข่ายไม่รวบรวมข้อมูลตามที่คาดไว้
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Performance Monitoring รวบรวมคำขอเครือข่าย ข้อมูลภายใต้รูปแบบ URL
นอกจากนี้ คุณยังสามารถลองใช้ URL ที่กำหนดเอง รูปแบบ
คำถามที่พบบ่อย
เกิดอะไรขึ้นกับปัญหาที่พบบ่อยในการ์ดประสิทธิภาพในหน้าแรกของโปรเจ็กต์
เราแทนที่ปัญหาที่พบบ่อยด้วยการแจ้งเตือนล่าสุดเพื่อติดตามผลจาก แนะนำการแจ้งเตือนล่าสุด ซึ่งแจ้งให้คุณทราบโดยอัตโนมัติเมื่อ ก็จะผ่านเกณฑ์ที่คุณตั้งไว้ เลิกใช้งานปัญหาแล้ว และแทนที่ด้วยการแจ้งเตือน
ตัวเลือกแอปที่ด้านบนของการ์ดประสิทธิภาพจะกรองการแจ้งเตือน รายการในส่วนการแจ้งเตือนล่าสุด เฉพาะการแจ้งเตือน 3 รายการล่าสุดสำหรับ แอปที่เลือกไว้จะปรากฏขึ้น
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการแจ้งเตือน โปรดดู ตั้งค่าการแจ้งเตือนปัญหาด้านประสิทธิภาพ
เกิดอะไรขึ้นกับความสามารถในการตั้งค่าเกณฑ์สำหรับปัญหาในคอนโซล
Performance Monitoring รองรับการแจ้งเตือนสำหรับเมตริกที่เกิน เกณฑ์ที่กำหนดไว้ เพื่อไม่ให้สับสนกับเกณฑ์ที่กำหนดค่าได้สำหรับ เรานำความสามารถในการกำหนดค่าเกณฑ์สำหรับ ปัญหา
เกิดอะไรขึ้นกับข้อมูลรายละเอียดและเมตริกในคอนโซล Firebase
เราได้แทนที่หน้ารายละเอียดและเมตริกด้วยการออกแบบใหม่แบบรวมศูนย์ อินเทอร์เฟซผู้ใช้ (UI) เพื่อปรับปรุงวิธีแก้ปัญหา ใหม่นี้ UI การแก้ปัญหามีฟังก์ชันการทำงานหลักแบบเดียวกับที่ เมตริกที่มีให้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการแก้ปัญหาได้ที่ ดูข้อมูลเพิ่มเติมสำหรับการติดตามที่เฉพาะเจาะจง
เหตุใดจำนวนตัวอย่างจึงไม่ใช่จำนวนที่ฉันคาดหวัง
Performance Monitoring จะรวบรวมข้อมูลประสิทธิภาพจากอุปกรณ์ของผู้ใช้แอป หาก แอปพลิเคชันมีผู้ใช้จำนวนมาก หรือหากแอปพลิเคชันสร้างประสิทธิภาพจำนวนมาก กิจกรรม Performance Monitoring อาจจำกัดการเก็บรวบรวมข้อมูลในอุปกรณ์ชุดย่อยเพื่อ ทำให้มีเหตุการณ์ที่ประมวลผลแล้วน้อยลง ขีดจำกัดเหล่านี้สูงพอที่จะทำให้ แม้ว่าจะมีเหตุการณ์น้อยกว่า แต่ค่าเมตริกจะยังคงแสดงถึง ประสบการณ์การใช้งานแอปของผู้ใช้
ในการจัดการปริมาณข้อมูลที่เรารวบรวม Performance Monitoring จะใช้สิ่งต่อไปนี้ ตัวเลือกการสุ่มตัวอย่าง:
การจำกัดอัตราคำขอในอุปกรณ์: เพื่อป้องกันไม่ให้อุปกรณ์ส่งภาพถ่ายอัจฉริยะอย่างกะทันหัน การติดตาม เราจะจำกัดจำนวนการติดตามคำขอเครือข่ายและโค้ดที่ส่งจาก อุปกรณ์เป็น 300 เหตุการณ์ทุกๆ 10 นาที วิธีนี้จะช่วยปกป้องอุปกรณ์จาก การใช้เครื่องมือแบบวนซ้ำที่สามารถส่งข้อมูลประสิทธิภาพจำนวนมาก และ เพื่อป้องกันไม่ให้อุปกรณ์หนึ่งบิดเบือนการวัดประสิทธิภาพ
การสุ่มตัวอย่างแบบไดนามิก: Performance Monitoring รวบรวมขีดจํากัดประมาณ 100 ล้าน เหตุการณ์สำหรับการติดตามโค้ดและ 100 ล้านครั้งสำหรับการติดตามคำขอเครือข่ายต่อแอปต่อวัน กับผู้ใช้แอปทั้งหมด ระบบจะดึงข้อมูลอัตราการสุ่มตัวอย่างแบบไดนามิกในอุปกรณ์ (โดยใช้ Firebase Remote Config) เพื่อพิจารณาว่าอุปกรณ์แบบสุ่มควร จับภาพและส่งการติดตาม อุปกรณ์ที่ไม่ได้เลือกเพื่อสุ่มตัวอย่างจะไม่ ส่งเหตุการณ์ใดก็ได้ อัตราการสุ่มตัวอย่างแบบไดนามิกจะเป็นแบบเฉพาะแอปและปรับให้เข้ากับ เพื่อให้มั่นใจว่าปริมาณโดยรวมของข้อมูลที่เก็บรวบรวมมายังคงต่ำกว่าขีดจำกัด
เซสชันผู้ใช้จะส่งข้อมูลโดยละเอียดเพิ่มเติมจากอุปกรณ์ของผู้ใช้ ซึ่งต้องมี มีทรัพยากรมากขึ้นในการบันทึกและส่งข้อมูล เพื่อลดผลกระทบจากผู้ใช้ Performance Monitoring อาจจำกัดจํานวนเซสชันด้วย
การจำกัดอัตราฝั่งเซิร์ฟเวอร์: เพื่อให้มั่นใจว่าแอปไม่เกินการสุ่มตัวอย่าง Performance Monitoring อาจใช้การสุ่มตัวอย่างฝั่งเซิร์ฟเวอร์เพื่อยกเลิกเหตุการณ์บางรายการ ที่ได้รับจากอุปกรณ์ แม้ว่าการจำกัดประเภทนี้จะไม่เปลี่ยน ประสิทธิภาพของเมตริกของเรา จึงอาจทำให้เกิดการเปลี่ยนแปลงรูปแบบเล็กน้อย รวมถึง ดังต่อไปนี้:
- จำนวนการติดตามอาจแตกต่างจากจำนวนครั้งที่การติดตาม มีการเรียกใช้โค้ดแล้ว
- การติดตามที่มีการเชื่อมต่ออย่างใกล้ชิดในโค้ดแต่ละรายการอาจมีจำนวนแตกต่างกัน ตัวอย่าง
เกิดอะไรขึ้นกับแท็บปัญหาในคอนโซล
เราแทนที่แท็บปัญหาด้วยการแนะนำการแจ้งเตือน แจ้งให้คุณทราบโดยอัตโนมัติเมื่อเกินเกณฑ์ที่คุณตั้งไว้ คุณไม่ใช่ ต้องตรวจสอบคอนโซล Firebase ด้วยตนเองเพื่อพิจารณาสถานะของ เกณฑ์ หากต้องการดูข้อมูลเกี่ยวกับการแจ้งเตือน โปรดดูหัวข้อตั้งค่าการแจ้งเตือนสำหรับปัญหาด้านประสิทธิภาพ
เกิดอะไรขึ้นกับแท็บในอุปกรณ์และเครือข่ายในคอนโซล ฉันจะดูการติดตามในหน้าเหล่านั้นได้อย่างไร
เราได้ออกแบบส่วน Performance Monitoring ของคอนโซล Firebase ใหม่เพื่อให้ แท็บแดชบอร์ดจะแสดงเมตริกหลักและการติดตามทั้งหมดของคุณในพื้นที่ทำงานเดียว อาส และได้นำหน้าในอุปกรณ์และเครือข่ายออกด้วย
ตารางการติดตามที่ด้านล่างของแท็บแดชบอร์ดทำงานในลักษณะเดียวกัน ที่แสดงในแท็บในอุปกรณ์และเครือข่าย แต่มีบางรายการ ฟีเจอร์ที่เพิ่มเข้ามา ซึ่งรวมถึงความสามารถในการจัดเรียงการติดตามตามเปอร์เซ็นต์ สำหรับเมตริกที่เฉพาะเจาะจง ดูเมตริกและข้อมูลทั้งหมดสำหรับ การติดตาม ให้คลิกชื่อการติดตามในตารางการติดตาม
ดูการติดตามในแท็บย่อยต่อไปนี้ของตารางการติดตาม
- การติดตามคำขอเครือข่าย (ทั้งในตัวและที่กำหนดเอง) — แท็บย่อยคำขอเครือข่าย
- การติดตามโค้ดที่กำหนดเอง — แท็บย่อยการติดตามที่กำหนดเอง
- การเริ่มแอป การติดตามในเบื้องหน้า การติดตามในแอปในเบื้องหลัง — แท็บย่อยการติดตามที่กำหนดเอง
- การติดตามการแสดงผลหน้าจอ — แท็บย่อยการแสดงผลหน้าจอ
- การติดตามการโหลดหน้าเว็บ — แท็บย่อยการโหลดหน้าเว็บ
สำหรับรายละเอียดเกี่ยวกับตารางการติดตามและการดูเมตริกและข้อมูล โปรดไปที่ หน้าภาพรวมคอนโซล (iOS+ | Android | เว็บ)
เหตุใดจำนวนเฟรมที่ช้าและค้างจึงไม่ใช่จำนวนที่คาดไว้
เฟรมที่แสดงผลช้าและเฟรมที่ค้างจะคำนวณด้วยอุปกรณ์สมมติ อัตราการรีเฟรช 60Hz หากอัตราการรีเฟรชของอุปกรณ์ต่ำกว่า 60Hz แต่ละเฟรม จะใช้เวลาในการแสดงผลช้าลงเนื่องจากมีการแสดงผลเฟรมต่อวินาทีน้อยลง เวลาแสดงผลที่ช้าลงอาจทำให้การรายงานเฟรมช้าหรือค้างมากขึ้น เพราะเฟรมจำนวนมากขึ้นจะแสดงผลช้าลงหรือค้าง แต่หากอุปกรณ์ อัตราการรีเฟรชสูงกว่า 60Hz แต่ละเฟรมจะใช้เวลาในการแสดงผลเร็วขึ้น ซึ่งอาจทําให้การรายงานเฟรมที่ช้าหรือค้างน้อยลง นี่เป็น ใน SDK ของ Performance Monitoring
ทำไมฉันจึงไม่เห็นการติดตามส่วนย่อย
หากต้องการดูประสิทธิภาพของส่วนย่อยนอกเหนือจากกิจกรรมบนแอป ให้ตรวจสอบว่า แอปของคุณใช้ Android SDK Performance Monitoring เวอร์ชัน 20.1.0 ขึ้นไป เพื่อเรียนรู้ ข้อมูลเพิ่มเติม โปรดดูหัวข้อเพิ่มการตรวจสอบประสิทธิภาพลงในแอป
ฉันจะทราบได้อย่างไรว่าการติดตามใดเกี่ยวข้องกับส่วนย่อยและกิจกรรม
ส่วนย่อยและการติดตามกิจกรรมแต่ละรายการจะขึ้นอยู่กับชื่อคลาสตามที่กำหนดไว้ ในแอปพลิเคชันของคุณ การติดตามหน้าจอแต่ละรายการจะมีคำนำหน้า st ตามด้วยชื่อชั้นเรียน ในคอนโซล Firebase คำนำหน้าคือ ลบแล้ว โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลประสิทธิภาพการแสดงผลหน้าจอ (แอป Apple และ Android)
เหตุใดฉันจึงเห็นการติดตามส่วนย่อยน้อยกว่าการติดตามอื่นๆ
Performance Monitoring ทำการสุ่มตัวอย่างเหตุการณ์ในเหตุการณ์ทั้งหมดที่รวบรวมในอุปกรณ์ วิธีนี้ช่วยให้เรารวบรวมเหตุการณ์ขั้นต่ำที่จำเป็นจากอุปกรณ์ของผู้ใช้ได้ เพื่อแสดงเมตริกประสิทธิภาพ
ฉันจะได้รับการแจ้งเตือนอย่างไรเมื่อมีปัญหาเกี่ยวกับประสิทธิภาพการแสดงผล แอปพลิเคชันของคุณ
Performance Monitoring ช่วยให้คุณสามารถตั้งค่าการแจ้งเตือนสำหรับเมตริกที่คุณสนใจ สำหรับการสร้าง การติดตามการแสดงผลบนหน้าจอ คุณสามารถตั้งค่าการแจ้งเตือนให้แจ้งให้คุณทราบเมื่อ เปอร์เซ็นต์เฟรมที่ช้าและค้างเกินเกณฑ์ที่คุณตั้งไว้
เวลาบิลด์ของฉันนานมากหลังจากเปิดใช้ปลั๊กอิน Performance Monitoring Gradle อย่างไร ฉันจะปรับปรุงเรื่องนี้ได้ไหม
Performance Monitoring สำหรับ Android ใช้เครื่องมือแบบไบต์โค้ดเพื่อมอบ ฟีเจอร์เริ่มต้นอย่าง การตรวจสอบคำขอเครือข่าย HTTP/S ในการรวบรวม กระบวนการนี้จะต้องมีการทำซ้ำในทุกชั้นเรียน ของแอป (รวมถึงทรัพยากร Dependency) เพื่อให้ทราบวิธีวัดคุมโค้ดที่สำคัญ การวัดประสิทธิภาพคำขอเครือข่ายของแอปพลิเคชันของคุณ
ตัวอย่างปัจจัยสำคัญในการเพิ่มเวลาในการสร้างมีดังนี้
- จำนวนชั้นเรียนหรือไฟล์
- ขนาดของแต่ละคลาส (บรรทัดของโค้ด)
- การกำหนดค่าเครื่องของคุณ
- การสร้างครั้งแรกเทียบกับการสร้างต่อมา (โดยปกติคือ ได้เร็วกว่าการสร้างครั้งแรก)
หากต้องการเพิ่มประสิทธิภาพเวลาบิลด์ ให้พิจารณา การแยกส่วนโค้ดเป็นโมดูล
เริ่มต้นด้วย v1.3.3 ของปลั๊กอิน Performance Monitoring เราให้ความสำคัญกับการทำให้ การปรับปรุงการประมวลผลบิลด์และการแคชอินพุตไลบรารีแบบค่อยเป็นค่อยไป เพื่อให้ได้รับการปรับปรุงเวลาบิลด์ล่าสุด ตรวจสอบว่าได้ใช้ เวอร์ชันล่าสุดของ ปลั๊กอิน (v1.4.2)
โปรดทราบว่าคุณสามารถปิดใช้ ปลั๊กอิน Performance Monitoring สำหรับบิลด์การแก้ไขข้อบกพร่องภายในเครื่องหากต้องการหลีกเลี่ยงไม่ให้ใช้เวลาสร้างนาน อย่างไรก็ตาม เราไม่แนะนำให้ใช้วิธีนี้กับบิลด์เวอร์ชันที่ใช้งานจริง เนื่องจากอาจทําให้ พลาดการวัดประสิทธิภาพสำหรับคำขอเครือข่ายในแอปของคุณ
ฉันต้องทำอย่างไรหากได้รับข้อผิดพลาดของบิลด์เนื่องจากไลบรารีที่ใช้ร่วมกันไม่ได้กับปลั๊กอิน Gradle ของ Performance Monitoring
Performance Monitoring สำหรับ Android ใช้เครื่องมือแบบไบต์โค้ดเพื่อมอบ ฟีเจอร์เริ่มต้นอย่าง การตรวจสอบคำขอเครือข่าย HTTP/S ในการรวบรวม กระบวนการนี้จะต้องมีการทำซ้ำในทุกชั้นเรียน ของแอป (รวมถึงทรัพยากร Dependency) เพื่อให้ทราบวิธีวัดคุมโค้ดที่สำคัญ การวัดประสิทธิภาพคำขอเครือข่ายของแอปพลิเคชันของคุณ
หากคุณพบข้อผิดพลาดเกี่ยวกับบิลด์ เช่น JSR/RET are not supported with
computeFrames option
หรือข้อผิดพลาดที่คล้ายกันหลังจากผสานรวมกับปลั๊กอิน Performance Monitoring
อาจเป็นเพราะคุณมีทรัพยากร Dependency ในไลบรารีที่ไม่สามารถทำงานร่วมกันได้
ด้วยปลั๊กอิน Performance Monitoring Gradle
หากต้องการหลีกเลี่ยงปัญหานี้ คุณสามารถยกเว้นชั้นเรียน/ไลบรารีที่ใช้ร่วมกันไม่ได้จากการใช้เครื่องมือโดยทำตามขั้นตอนต่อไปนี้
- อัปเดตเป็นปลั๊กอิน Gradle ของ Performance Monitoring เวอร์ชันล่าสุด (ขั้นต่ำ v1.4.0)
- อัปเดตปลั๊กอิน Android Gradle เป็นเวอร์ชัน 7.2.0 ขึ้นไป
- เพิ่ม Flag ต่อไปนี้ลงในไฟล์
build.gradle
ของโมดูล (ระดับแอป) เพื่อยกเว้นคลาส/ไลบรารีที่ใช้ร่วมกันไม่ได้จากการใช้งานเครื่องมือ: วันที่android { // ... androidComponents { onVariants(selector().all(), { instrumentation.excludes.add("example.incompatible.library") }) } }
ดูข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้exclude
ของInstrumentation
API ของปลั๊กอิน Android Gradle ได้ที่การวัดคุม
โปรดแจ้งปัญหาเกี่ยวกับ GitHub เมื่อคุณพบข้อผิดพลาดในการสร้างเนื่องจากไลบรารีที่ใช้ร่วมกันไม่ได้ เพื่อให้ข้อผิดพลาดเหล่านี้ ถูกยกเว้นไม่ให้ใช้เป็นเครื่องมือในปลั๊กอิน Performance Monitoring
ข้อมูล Performance Monitoring ของฉันใช้เวลานานกว่าที่คาดไว้ในการส่งออกไป BigQuery นี่ไม่ใช่แบบเรียลไทม์ใช่ไหม
หากคุณเปิดใช้การผสานรวม BigQuery สำหรับ Firebase Performance Monitoring ข้อมูลของคุณ จะส่งออกไปยัง BigQuery ใน 12 ถึง 24 ชั่วโมงหลังจากสิ้นสุดวัน (แปซิฟิก Time)
ตัวอย่างเช่น ข้อมูลของวันที่ 19 เมษายนจะพร้อมใช้งานใน BigQuery ในวันที่ 20 เมษายน ระหว่าง 12:00 น. ถึงเที่ยงคืน (วันที่และเวลาทั้งหมดเป็นเวลาแปซิฟิก)
การประมวลผลและการแสดงผลข้อมูลแบบเกือบเรียลไทม์
"เกือบเรียลไทม์" คืออะไร ข้อมูลประสิทธิภาพหมายถึงอะไร
Firebase Performance Monitoring จะประมวลผลข้อมูลประสิทธิภาพที่ได้รับการรวบรวมข้อมูลทันที ซึ่ง ทำให้ระบบแสดงข้อมูลแบบเกือบเรียลไทม์ในคอนโซล Firebase ประมวลผลแล้ว ข้อมูลจะแสดงในคอนโซลภายในไม่กี่นาทีหลังการเก็บรวบรวม ดังนั้น คำว่า "เกือบเรียลไทม์"
ในการใช้ประโยชน์จากการประมวลผลข้อมูลแบบเกือบเรียลไทม์ ให้ตรวจสอบว่าแอปของคุณใช้ SDK ที่เข้ากันได้แบบเรียลไทม์ version
ฉันจะรับข้อมูลประสิทธิภาพแบบเกือบเรียลไทม์ของแอปได้อย่างไร
เพื่อใช้ประโยชน์จากการประมวลผลข้อมูลแบบเกือบเรียลไทม์ คุณเพียงต้องแน่ใจว่า แอปของคุณใช้ SDK Performance Monitoring เวอร์ชันที่เข้ากันได้แบบเรียลไทม์ การประมวลผลข้อมูล
ต่อไปนี้คือเวอร์ชัน SDK ที่เข้ากันได้แบบเรียลไทม์
- iOS — v7.3.0 ขึ้นไป
- tvOS — v8.9.0 ขึ้นไป
- Android — v19.0.10 ขึ้นไป (หรือ Firebase Android BoM v26.1.0 ขึ้นไป)
- เว็บ — v7.14.0 ขึ้นไป
โปรดทราบว่าเราแนะนำให้ใช้ SDK เวอร์ชันล่าสุดเสมอ แต่ เวอร์ชันที่ระบุไว้ด้านบนจะทำให้ Performance Monitoring ประมวลผลข้อมูลของคุณได้แทบจะเป็นจริง
Performance Monitoring SDK เวอร์ชันใดที่เราถือว่าเข้ากันได้แบบเรียลไทม์
เวอร์ชัน SDK ต่อไปนี้คือเวอร์ชันที่รองรับการประมวลผลข้อมูลแบบเรียลไทม์
- iOS — v7.3.0 ขึ้นไป
- tvOS — v8.9.0 ขึ้นไป
- Android — v19.0.10 ขึ้นไป (หรือ Firebase Android BoM v26.1.0 ขึ้นไป)
- เว็บ — v7.14.0 ขึ้นไป
โปรดทราบว่าเราแนะนำให้ใช้ SDK เวอร์ชันล่าสุดเสมอ แต่ เวอร์ชันที่ระบุไว้ด้านบนจะทำให้ Performance Monitoring ประมวลผลข้อมูลของคุณได้แทบจะเป็นจริง
จะเกิดอะไรขึ้นหากฉันไม่อัปเดตแอปเพื่อใช้ SDK เวอร์ชันที่เข้ากันได้แบบเรียลไทม์
หากแอปไม่ได้ใช้ SDK เวอร์ชันที่เข้ากันได้แบบเรียลไทม์ คุณจะยังคงเห็น ข้อมูลประสิทธิภาพของแอปทั้งหมดในคอนโซล Firebase อย่างไรก็ตาม จอแสดงผล ข้อมูลประสิทธิภาพอาจล่าช้าประมาณ 36 ชั่วโมงนับจาก คอลเล็กชัน
ฉันอัปเดตเป็น SDK เวอร์ชันที่เข้ากันได้แบบเรียลไทม์ แต่ผู้ใช้บางส่วนของฉันใช้ ยังอยู่บนแอปเวอร์ชันเก่าๆ ของฉันอยู่ ฉันยังคงดูประสิทธิภาพของพวกเขาต่อไปไหม ในคอนโซล Firebase หรือไม่
แน่นอน ไม่ว่าอินสแตนซ์ของแอปจะใช้ SDK เวอร์ชันใด คุณจะเห็นข้อมูลต่อไปนี้ ข้อมูลประสิทธิภาพจากผู้ใช้ทั้งหมดของคุณ
แต่หากคุณดูข้อมูลล่าสุด (ไม่เกิน 36 ชั่วโมงโดยประมาณ) ข้อมูลที่แสดงก็มาจากผู้ใช้อินสแตนซ์ของแอปที่ใช้แบบเรียลไทม์ เวอร์ชัน SDK ที่เข้ากันได้ อย่างไรก็ตาม ข้อมูลที่ไม่ใช่ล่าสุดจะรวมข้อมูลประสิทธิภาพ จากแอปทุกเวอร์ชัน
การติดต่อทีมสนับสนุน Firebase
หากคุณ ติดต่อทีมสนับสนุนของ Firebase ใส่รหัสแอป Firebase เสมอ ค้นหารหัสแอป Firebase ใน การ์ดแอปของคุณ settings โครงการ การตั้งค่า