หน้านี้มีเคล็ดลับในการแก้ปัญหาเพื่อเริ่มต้นใช้งาน Performance Monitoring หรือใช้ฟีเจอร์และเครื่องมือของ Performance Monitoring
การตรวจสอบเบื้องต้นเพื่อแก้ปัญหา
การตรวจสอบ 2 อย่างต่อไปนี้เป็นแนวทางปฏิบัติแนะนำทั่วไปสำหรับทุกคน ก่อนที่จะแก้ปัญหาเพิ่มเติม
1. ตรวจสอบข้อความบันทึกสำหรับเหตุการณ์ด้านประสิทธิภาพ
ตรวจสอบข้อความบันทึกเพื่อให้แน่ใจว่า Performance Monitoring SDK บันทึก เหตุการณ์ประสิทธิภาพ
วิธีดูข้อความบันทึกสำหรับเหตุการณ์ด้านประสิทธิภาพ
เปิดใช้การบันทึกการแก้ไขข้อบกพร่องสำหรับ 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_URLLogging network request trace: URL
คลิก URL เพื่อดูข้อมูลในคอนโซล Firebase ระบบอาจใช้เวลาสักครู่ในการอัปเดตข้อมูลในแดชบอร์ด
หากแอปไม่ได้บันทึกเหตุการณ์ประสิทธิภาพ โปรดอ่านเคล็ดลับในการแก้ปัญหา
2. ตรวจสอบแดชบอร์ดสถานะ Firebase
ตรวจสอบแดชบอร์ดสถานะ Firebase ในกรณีที่ Firebase หรือ Performance Monitoring หยุดให้บริการโดยปัญหาเป็นที่รับทราบแล้ว
เริ่มต้นใช้งาน Performance Monitoring
หากคุณเพิ่งเริ่มต้นใช้งาน Performance Monitoring (iOS+ | Android | Web) เคล็ดลับในการแก้ปัญหาต่อไปนี้ จะช่วยแก้ไขปัญหาที่เกี่ยวข้องกับ 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 (
google-services.json) ของคุณถูกเพิ่มลงในแอปของคุณอย่างถูกต้อง และคุณไม่ได้แก้ไขไฟล์นั้น โดยเฉพาะอย่างยิ่ง ให้ตรวจสอบสิ่งต่อไปนี้:ชื่อไฟล์ config จะไม่ถูกผนวกด้วยอักขระเพิ่มเติม เช่น
(2)ไฟล์ config อยู่ในไดเร็กทอรีโมดูล (ระดับแอป) ของแอปของคุณ
ID แอป Android ของ Firebase (
mobilesdk_app_id) ที่ระบุไว้ในไฟล์ config นั้นถูกต้องสำหรับแอปของคุณ ค้นหา Firebase App ID ของคุณในแอปของคุณ บัตรของคุณsettings การตั้งค่าโครงการ -
หากดูเหมือนว่ามีสิ่งใดผิดปกติกับไฟล์ config ในแอปของคุณ ลองทำดังต่อไปนี้:
ลบไฟล์ config ที่คุณมีอยู่ในปัจจุบันในแอปของคุณ
ทำตามคำแนะนำเหล่านี้เพื่อดาวน์โหลดไฟล์ config ใหม่และเพิ่มลงในแอป Android ของคุณ
หาก SDK กำลังบันทึกเหตุการณ์และดูเหมือนว่าทุกอย่างได้รับการตั้งค่าอย่างถูกต้อง แต่คุณยังคงไม่เห็นข้อความการตรวจจับ SDK หรือข้อมูลที่ประมวลผล (หลังจาก 10 นาที) ให้ติดต่อฝ่ายสนับสนุน Firebase
แอปไม่ได้บันทึกเหตุการณ์ ขั้นตอนการแก้ปัญหา
ตรวจสอบการตั้งค่าของPerformance Monitoringปลั๊กอิน Gradle ดังนี้
ตรวจสอบว่าคุณ เพิ่ม ปลั๊กอินอย่างถูกต้อง โปรดตรวจสอบสิ่งต่อไปนี้
- คุณได้เพิ่มปลั๊กอิน
(
) ใน ไฟล์ โมดูล (ระดับแอป)apply plugin: 'com.google.firebase.firebase-perf' build.gradle - คุณรวมทรัพยากร Dependency ของ Classpath สำหรับปลั๊กอิน
(
) ในไฟล์classpath 'com.google.firebase:perf-plugin:2.0.2' build.gradleระดับโปรเจ็กต์
- คุณได้เพิ่มปลั๊กอิน
(
ตรวจสอบว่าปลั๊กอิน ไม่ได้ถูกปิดใช้ผ่านค่าสถานะต่อไปนี้
instrumentationEnabledในโมดูล (ระดับแอป)build.gradlefirebasePerformanceInstrumentationEnabledในไฟล์gradle.properties
ตรวจสอบว่า Performance Monitoring SDK ไม่ได้ ปิดใช้ ผ่านค่าสถานะใดค่าสถานะหนึ่งต่อไปนี้ในไฟล์
AndroidManifest.xmlfirebase_performance_collection_enabledfirebase_performance_collection_deactivated
ตรวจสอบว่าไม่ได้ปิดใช้ Performance Monitoring ที่รันไทม์
หากไม่พบฟีเจอร์ที่ถูกปิดใช้ในแอป โปรดติดต่อทีมสนับสนุนของ Firebase
คอนโซลระบุว่าตรวจพบ SDK แต่ไม่มีข้อมูลแสดง
Performance Monitoring ประมวลผลข้อมูลเหตุการณ์ด้านประสิทธิภาพก่อนที่จะแสดงในแดชบอร์ดประสิทธิภาพ
หากผ่านไปนานกว่า 24 ชั่วโมงนับตั้งแต่ข้อความ "ตรวจพบ SDK" ปรากฏขึ้น และคุณยังไม่เห็นข้อมูล ให้ตรวจสอบแดชบอร์ดสถานะของ Firebase ในกรณีที่ เกิดการหยุดทำงานที่ทราบสาเหตุ หากไม่มีการหยุดทำงาน โปรดติดต่อทีมสนับสนุน Firebase
การแก้ปัญหาทั่วไป
หากเพิ่ม SDK เรียบร้อยแล้วและใช้ Performance Monitoring ในแอป เคล็ดลับการแก้ปัญหาต่อไปนี้จะช่วยแก้ปัญหาทั่วไปที่เกี่ยวข้องกับฟีเจอร์และเครื่องมือของ Performance Monitoring ได้
แอปไม่ได้บันทึกเหตุการณ์ด้านประสิทธิภาพ
หากไม่เห็นข้อความบันทึกสำหรับเหตุการณ์ ประสิทธิภาพ ให้ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้
ตรวจสอบการตั้งค่าของPerformance Monitoringปลั๊กอิน Gradle ดังนี้
ตรวจสอบว่าคุณ เพิ่ม ปลั๊กอินอย่างถูกต้อง โปรดตรวจสอบสิ่งต่อไปนี้
- คุณได้เพิ่มปลั๊กอิน
(
) ใน ไฟล์ โมดูล (ระดับแอป)apply plugin: 'com.google.firebase.firebase-perf' build.gradle - คุณรวมทรัพยากร Dependency ของ Classpath สำหรับปลั๊กอิน
(
) ในไฟล์classpath 'com.google.firebase:perf-plugin:2.0.2' build.gradleระดับโปรเจ็กต์
- คุณได้เพิ่มปลั๊กอิน
(
ตรวจสอบว่าปลั๊กอิน ไม่ได้ถูกปิดใช้ผ่านค่าสถานะต่อไปนี้
instrumentationEnabledในโมดูล (ระดับแอป)build.gradlefirebasePerformanceInstrumentationEnabledในไฟล์gradle.properties
ตรวจสอบว่า Performance Monitoring SDK ไม่ได้ ปิดใช้ ผ่านค่าสถานะใดค่าสถานะหนึ่งต่อไปนี้ในไฟล์
AndroidManifest.xmlfirebase_performance_collection_enabledfirebase_performance_collection_deactivated
ตรวจสอบว่าไม่ได้ปิดใช้ Performance Monitoring ที่รันไทม์
หากไม่พบฟีเจอร์ที่ถูกปิดใช้ในแอป โปรดติดต่อทีมสนับสนุนของ Firebase
แดชบอร์ดประสิทธิภาพ ไม่มีข้อมูลการติดตามหน้าจอ
หากไม่มีข้อมูลสำหรับการติดตามการแสดงผลหน้าจอ ให้ลองทำตาม ขั้นตอนการแก้ปัญหาต่อไปนี้
ตรวจสอบว่าคุณใช้ Android SDK เวอร์ชันล่าสุด (v22.0.3) การติดตามการแสดงผลหน้าจอจะใช้ได้กับ v15.2.0 ขึ้นไปเท่านั้น
ตรวจสอบว่าคุณไม่ได้ปิดการเร่งฮาร์ดแวร์ สำหรับหน้าจอด้วยตนเอง
ตรวจสอบให้แน่ใจว่าคุณไม่ได้ใช้ DexGuard หรือ Jack Performance Monitoring ไม่เข้ากันกับเครื่องมือเหล่านี้
DexGuard จะปิดใช้การรวบรวมร่องรอยการเริ่มต้นแอป แอปที่ทำงานอยู่เบื้องหน้า และแอปที่ทำงานอยู่เบื้องหลังโดยอัตโนมัติ อย่างไรก็ตาม การติดตามโค้ดที่กำหนดเองควรทำงานตามปกติหากแอปของคุณใช้ DexGuard
Jack ไม่ได้รับการสนับสนุนอีกต่อไปและโดยทั่วไปไม่ควรใช้ในแอปของคุณ
แผงควบคุมประสิทธิภาพขาดข้อมูลการติดตามที่กำหนดเอง
คุณกำลังเห็นข้อมูลประสิทธิภาพสำหรับการติดตามที่รวบรวมโดยอัตโนมัติหรือไม่ แต่ไม่เห็นสำหรับการติดตามโค้ดที่กำหนดเอง ลองทำตามขั้นตอนการแก้ไขปัญหาต่อไปนี้:
หากคุณใช้เครื่องมือติดตามโค้ดที่กำหนดเองผ่าน Trace API ให้ตรวจสอบการตั้งค่าการติดตาม โดยเฉพาะอย่างยิ่งรายการต่อไปนี้
- ชื่อสำหรับการติดตามโค้ดที่กำหนดเองและเมตริกที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้
ไม่มีช่องว่างนำหน้าหรือต่อท้าย ไม่มีขีดล่างนำหน้า
(
_) และความยาวสูงสุดคือ 32 อักขระ - ทุกร่องรอยจะต้องเริ่มและหยุด ร่องรอยใดๆ ที่ไม่ได้เริ่มต้น ไม่หยุด หรือหยุดก่อนเริ่มต้น จะไม่ถูกบันทึก
- ชื่อสำหรับการติดตามโค้ดที่กำหนดเองและเมตริกที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้
ไม่มีช่องว่างนำหน้าหรือต่อท้าย ไม่มีขีดล่างนำหน้า
(
หากคุณใช้การติดตามโค้ดที่กำหนดเองผ่าน
@AddTraceสัญกรณ์ ให้ตรวจสอบการตั้งค่าของปลั๊กอิน Performance Monitoring Gradle ดังนี้ตรวจสอบให้แน่ใจว่าคุณเพิ่มปลั๊กอินอย่างถูกต้อง โปรดตรวจสอบสิ่งต่อไปนี้
- คุณได้เพิ่มปลั๊กอิน
(
) ใน ไฟล์ โมดูล (ระดับแอป)apply plugin: 'com.google.firebase.firebase-perf' build.gradle - คุณได้รวมการอ้างอิงคลาสพาธสำหรับปลั๊กอิน (
) ไว้ในไฟล์ project-levelclasspath 'com.google.firebase:perf-plugin:2.0.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 สำหรับปลั๊กอิน
(
) ในไฟล์classpath 'com.google.firebase:perf-plugin:2.0.2' build.gradleระดับโปรเจ็กต์
- คุณได้เพิ่มปลั๊กอิน
(
ตรวจสอบว่าปลั๊กอิน ไม่ได้ถูกปิดใช้ผ่านค่าสถานะต่อไปนี้
instrumentationEnabledในโมดูล (ระดับแอป)build.gradlefirebasePerformanceInstrumentationEnabledในไฟล์gradle.properties
ตรวจสอบว่าไลบรารีเครือข่ายไม่เข้ากัน Performance Monitoring รวบรวมเมตริกสำหรับคำขอเครือข่ายที่ใช้ไลบรารีเครือข่ายต่อไปนี้โดยอัตโนมัติ OkHttp 3.x.x, URLConnection ของ Java และ HttpClient ของ Apache
โปรดทราบว่าคุณเพิ่มการตรวจสอบที่กำหนดเองสำหรับคำขอเครือข่ายได้
ข้อควรระวังมีดังต่อไปนี้
Performance Monitoring อาจรายงานเฉพาะคำขอเครือข่ายที่เสร็จสมบูรณ์เท่านั้น ขึ้นอยู่กับพฤติกรรมของโค้ดและไลบรารีเครือข่ายที่โค้ดของคุณใช้ ซึ่งหมายความว่าระบบอาจไม่รายงานการเชื่อมต่อ HTTP/S ที่เปิดทิ้งไว้
Performance Monitoring ไม่เข้ากันได้กับ DexGuard และ Jack
- DexGuard ปิดการใช้งานการตรวจสอบคำขอเครือข่าย HTTP/S
- Jack ไม่ได้รับการสนับสนุนอีกต่อไปและโดยทั่วไปไม่ควรใช้ในแอปของคุณ
Performance Monitoring ไม่รายงานคำขอเครือข่ายที่มีส่วนหัว
Content-Typeที่ไม่ถูกต้อง อย่างไรก็ตาม คำขอเครือข่ายที่ไม่มีส่วนหัวContent-Typeจะยังคงได้รับการยอมรับ
ข้อมูลคำขอเครือข่ายไม่ได้รวมกันตามที่คาดหวัง
เรียนรู้เพิ่มเติมเกี่ยวกับวิธีที่ Performance Monitoring รวบรวมข้อมูลคำขอเครือข่ายภายใต้รูปแบบ URL
คุณยังสามารถลองใช้รูปแบบ URL แบบกำหนดเองได้อีกด้วย!
คำถามที่พบบ่อย
เกิดอะไรขึ้นกับปัญหาหลักในการ์ดประสิทธิภาพบนหน้าแรกของโปรเจกต์?
เราได้แทนที่ปัญหาที่พบบ่อยด้วยการแจ้งเตือนล่าสุดเพื่อติดตามผลการ เปิดตัวการแจ้งเตือนเมื่อเร็วๆ นี้ ซึ่งจะแจ้งให้คุณทราบโดยอัตโนมัติเมื่อ มีการละเมิดเกณฑ์ที่คุณตั้งไว้ ปัญหาต่างๆ จะไม่ได้รับการแก้ไขอีกต่อไปแล้ว และจะถูกแทนที่ด้วยการแจ้งเตือน
ตัวเลือกแอปที่ด้านบนของการ์ดประสิทธิภาพจะกรองรายการการแจ้งเตือนภายใต้การแจ้งเตือนล่าสุด จะแสดงเฉพาะการแจ้งเตือนสามรายการล่าสุดสำหรับแอปที่เลือกเท่านั้น
ดูข้อมูลเพิ่มเติมเกี่ยวกับการแจ้งเตือนได้ที่ตั้งค่าการแจ้งเตือนสำหรับปัญหาด้านประสิทธิภาพ
เกิดอะไรขึ้นกับความสามารถในการกำหนดเกณฑ์สำหรับปัญหาในคอนโซล?
Performance Monitoring รองรับการแจ้งเตือนสำหรับเมตริกที่เกินเกณฑ์ที่กำหนด เราได้นำความสามารถในการกำหนดค่าเกณฑ์สำหรับปัญหาออกเพื่อไม่ให้เกิดความสับสนกับเกณฑ์ที่กำหนดค่าได้เหล่านี้สำหรับ เมตริกประสิทธิภาพ
เกิดอะไรขึ้นกับข้อมูลรายละเอียดและเมตริกในคอนโซล Firebase
เราได้แทนที่หน้ารายละเอียดและเมตริกด้วยอินเทอร์เฟซผู้ใช้ (UI) แบบรวมศูนย์ที่ได้รับการออกแบบใหม่เพื่อปรับปรุงวิธีแก้ไขปัญหาของคุณ UI การแก้ไขปัญหาใหม่นี้มีฟังก์ชันหลักแบบเดียวกับที่รายละเอียดและเมตริกมี ดูข้อมูลเพิ่มเติมเกี่ยวกับการแก้ปัญหาได้ที่ดูข้อมูลเพิ่มเติมสำหรับการติดตามที่เฉพาะเจาะจง
เหตุใดจำนวนตัวอย่างจึงไม่เป็นไปตามที่คาดไว้
Performance Monitoring รวบรวมข้อมูลประสิทธิภาพจากอุปกรณ์ผู้ใช้แอปของคุณ หากแอปพลิเคชันมีผู้ใช้จำนวนมากหรือหากแอปสร้างกิจกรรมด้านประสิทธิภาพจำนวนมาก Performance Monitoring อาจจำกัดการเก็บรวบรวมข้อมูลไว้ในอุปกรณ์บางส่วนเพื่อลดจำนวนเหตุการณ์ที่ประมวลผล ขีดจำกัดเหล่านี้สูงเพียงพอที่แม้จะมีเหตุการณ์น้อยลง แต่ค่าเมตริกยังคงแสดงถึงประสบการณ์แอปของผู้ใช้ของคุณ
เพื่อจัดการปริมาณข้อมูลที่เรารวบรวม Performance Monitoring ใช้ตัวเลือกการสุ่มตัวอย่างดังต่อไปนี้:
การจํากัดอัตราในอุปกรณ์: เพื่อป้องกันไม่ให้อุปกรณ์ส่งร่องรอย อย่างรวดเร็ว เราจํากัดจํานวนร่องรอยของโค้ดและคําขอเครือข่ายที่ส่งจาก อุปกรณ์เป็น 300 เหตุการณ์ทุกๆ 10 นาที แนวทางนี้จะช่วยปกป้องอุปกรณ์จากเครื่องมือวัดแบบวนซ้ำที่สามารถส่งข้อมูลประสิทธิภาพจำนวนมากได้ และยังป้องกันไม่ให้อุปกรณ์เพียงเครื่องเดียวทำให้การวัดประสิทธิภาพเบี่ยงเบนไป
การสุ่มตัวอย่างแบบไดนามิก: Performance Monitoring รวบรวมการติดตามโค้ดและการติดตามคำขอเครือข่ายจำนวนจำกัดต่อแอปในแต่ละวันสำหรับผู้ใช้งานแอปทั้งหมด ระบบจะดึงข้อมูลอัตราการสุ่มตัวอย่างแบบไดนามิกในอุปกรณ์ (โดยใช้ Firebase Remote Config) เพื่อพิจารณาว่าอุปกรณ์แบบสุ่มควรบันทึกและส่งการติดตามหรือไม่ อุปกรณ์ที่ไม่ได้ เลือกสำหรับการสุ่มตัวอย่างจะไม่ส่งเหตุการณ์ใดๆ อัตราการสุ่มตัวอย่างแบบไดนามิกนั้นเฉพาะตามแอปและจะปรับเพื่อให้แน่ใจว่าปริมาณข้อมูลทั้งหมดที่รวบรวมไว้ยังคงต่ำกว่าขีดจำกัด
โปรเจ็กต์ที่เปิดใช้การผสานรวม BigQuery จะได้รับขีดจํากัดที่สูงขึ้นสําหรับ จํานวนการติดตามคําขอเครือข่าย
เซสชันผู้ใช้จะส่งข้อมูลรายละเอียดเพิ่มเติมจากอุปกรณ์ของผู้ใช้ ซึ่งต้องใช้ทรัพยากรเพิ่มเติมในการรวบรวมและส่งข้อมูล เพื่อลดผลกระทบของเซสชันผู้ใช้ Performance Monitoring อาจจำกัดจำนวนเซสชันด้วย
การจำกัดอัตราฝั่งเซิร์ฟเวอร์: เพื่อให้แน่ใจว่าแอปจะไม่เกินขีดจำกัดการสุ่มตัวอย่าง Performance Monitoring อาจใช้การสุ่มตัวอย่างฝั่งเซิร์ฟเวอร์เพื่อลบเหตุการณ์บางอย่างที่ได้รับจากอุปกรณ์ แม้ว่าการจำกัดประเภทนี้จะไม่เปลี่ยนประสิทธิภาพของเมตริกของเรา แต่ก็อาจทำให้เกิดการเปลี่ยนแปลงรูปแบบเล็กน้อยได้ ซึ่งรวมถึงต่อไปนี้:
- จำนวนการติดตามอาจแตกต่างจากจำนวนครั้งที่มีการเรียกใช้โค้ด
- การติดตามที่เชื่อมโยงกันอย่างใกล้ชิดในโค้ดอาจมีจำนวนตัวอย่างแตกต่างกัน
เกิดอะไรขึ้นกับแท็บปัญหาในคอนโซล
เราได้แทนที่แท็บปัญหาด้วยการเปิดตัวการแจ้งเตือน ซึ่งจะ แจ้งให้คุณทราบโดยอัตโนมัติเมื่อมีการเกินเกณฑ์ที่คุณตั้งไว้ คุณไม่จำเป็นต้องตรวจสอบFirebaseคอนโซลด้วยตนเองเพื่อดูสถานะของ เกณฑ์การชำระเงินอีกต่อไป หากต้องการเรียนรู้เกี่ยวกับการแจ้งเตือน โปรดดูที่ตั้งค่าการแจ้งเตือนสำหรับปัญหาประสิทธิภาพการทำงาน
เกิดอะไรขึ้นกับแท็บในอุปกรณ์และเครือข่ายในคอนโซล ฉันจะดูการติดตามที่อยู่ในหน้าเหล่านั้นได้อย่างไร
เราได้ออกแบบส่วน Performance Monitoring ของคอนโซล Firebase ใหม่เพื่อให้แท็บแดชบอร์ดแสดงเมตริกหลักและการติดตามทั้งหมดของคุณในที่เดียว เราได้นำหน้าในอุปกรณ์และเครือข่ายออกจากการออกแบบใหม่
ตารางการติดตามที่ด้านล่างของแท็บแดชบอร์ดมีข้อมูลทั้งหมดเหมือนกับที่แท็บในอุปกรณ์และเครือข่ายแสดง แต่มีฟีเจอร์เพิ่มเติมบางอย่าง รวมถึงความสามารถในการจัดเรียงการติดตามตามการเปลี่ยนแปลงเปอร์เซ็นต์สำหรับเมตริกที่เฉพาะเจาะจง หากต้องการดูเมตริกและข้อมูลทั้งหมดของร่องรอยที่เฉพาะเจาะจง ให้คลิกชื่อร่องรอยในตารางร่องรอย
ดูการติดตามในแท็บย่อยต่อไปนี้ของตารางการติดตาม
- การติดตามคำขอเครือข่าย (ทั้งแบบสำเร็จรูปและแบบกำหนดเอง) - แท็บย่อยคำขอเครือข่าย
- การติดตามโค้ดที่กำหนดเอง - แท็บย่อยการติดตามที่กำหนดเอง
- การติดตามการเริ่มต้นแอป แอปที่ทำงานอยู่เบื้องหน้า และแอปที่ทำงานอยู่เบื้องหลัง — แท็บย่อยการติดตามที่กำหนดเอง
- การติดตามการแสดงผลของหน้าจอ - แท็บย่อยการแสดงผลของหน้าจอ
- การติดตามการโหลดหน้าเว็บ - แท็บย่อยการโหลดหน้าเว็บ
ดูรายละเอียดเกี่ยวกับตารางการติดตาม รวมถึงเมตริกและข้อมูลได้ที่ หน้าภาพรวมของคอนโซล (iOS+ | Android | เว็บ)
เหตุใดจำนวนเฟรมที่ช้าและหยุดนิ่งจึงไม่เป็นไปตามที่ฉันคาดไว้
ระบบจะคำนวณเฟรมที่แสดงผลช้าและเฟรมที่ค้างโดยใช้อัตราการรีเฟรชของอุปกรณ์ที่สมมติไว้ที่ 60Hz หากอัตราการรีเฟรชของอุปกรณ์ต่ำกว่า 60Hz แต่ละเฟรม จะมีเวลาในการแสดงผลช้าลงเนื่องจากมีการแสดงผลเฟรมน้อยลงต่อวินาที เวลาในการแสดงผลที่ช้าลงอาจทำให้มีการรายงานเฟรมที่ช้าหรือหยุดนิ่งมากขึ้น เนื่องจากเฟรมจำนวนมากขึ้นจะแสดงผลช้าลงหรือหยุดนิ่ง อย่างไรก็ตาม หากอัตราการรีเฟรชของอุปกรณ์สูงกว่า 60Hz แต่ละเฟรมจะมีเวลาในการแสดงผลที่เร็วขึ้น ซึ่งอาจทำให้มีการรายงานเฟรมที่ช้าหรือหยุดนิ่งน้อยลง นี่คือข้อจำกัดปัจจุบันใน Performance Monitoring SDK
ทำไมฉันจึงดูการติดตาม Fragment ไม่ได้
หากต้องการดูประสิทธิภาพของ Fragment นอกเหนือจากกิจกรรมในแอป ให้ตรวจสอบว่า แอปใช้ Performance Monitoring Android SDK เวอร์ชัน 20.1.0 ขึ้นไป ดูข้อมูลเพิ่มเติมได้ที่เพิ่มการตรวจสอบประสิทธิภาพลงในแอป
ฉันจะทราบได้อย่างไรว่าการติดตามใดที่เกี่ยวข้องกับ Fragment และกิจกรรม
การติดตาม Fragment และกิจกรรมแต่ละรายการจะอิงตามชื่อคลาสตามที่กำหนดไว้ ในแอปพลิเคชัน การติดตามหน้าจอแต่ละรายการจะมีคำนำหน้า st ตามด้วยชื่อของคลาส ในคอนโซล Firebase ระบบจะนำคำนำหน้าออก ดูข้อมูลเพิ่มเติมได้ที่ดูข้อมูลประสิทธิภาพการแสดงผลหน้าจอ (แอป Apple และ Android)
เหตุใดฉันจึงเห็นการติดตาม Fragment น้อยกว่าการติดตามอื่นๆ
Performance Monitoring จะทําการสุ่มตัวอย่างเหตุการณ์ในเหตุการณ์ทั้งหมดที่รวบรวมในอุปกรณ์ แนวทางนี้ช่วยให้เรารวบรวมเหตุการณ์ขั้นต่ำที่จำเป็นจากอุปกรณ์ของผู้ใช้ เพื่อแสดงเมตริกประสิทธิภาพได้
ฉันจะได้รับการแจ้งเตือนเมื่อมีปัญหาเกี่ยวกับประสิทธิภาพการแสดงผลของแอปพลิเคชัน ได้อย่างไร
Performance Monitoring ช่วยให้คุณตั้งค่าการแจ้งเตือนสำหรับเมตริกที่คุณสนใจได้ สำหรับร่องรอยการแสดงผลหน้าจอที่สร้างขึ้น คุณสามารถตั้งค่าการแจ้งเตือนเพื่อแจ้งให้คุณทราบเมื่อเปอร์เซ็นต์เฟรมที่ช้าและหยุดนิ่งเกินเกณฑ์ที่คุณตั้งไว้
เวลาในการบิลด์สูงหลังจากเปิดใช้ปลั๊กอิน Performance Monitoring Gradle ฉันจะปรับปรุงได้อย่างไร
Performance Monitoring สำหรับ Android ใช้การวัดไบต์โค้ดเพื่อมอบฟีเจอร์สำเร็จรูปบางอย่าง เช่น การตรวจสอบคำขอเครือข่าย HTTP/S กระบวนการนี้ต้องวนซ้ำผ่านคลาสทั้งหมดของแอป (รวมถึงการอ้างอิง) เพื่อวัดประสิทธิภาพคำขอเครือข่ายของแอปพลิเคชัน ซึ่งเป็นส่วนสำคัญในการคอมไพล์
สาเหตุสำคัญบางประการที่ทำให้เวลาในการสร้างเพิ่มขึ้นมีดังนี้
- จำนวนชั้นเรียนหรือไฟล์
- ขนาดของแต่ละคลาส (บรรทัดของโค้ด)
- การกำหนดค่าเครื่อง
- บิลด์เริ่มต้นเทียบกับบิลด์ถัดไป (โดยปกติแล้วบิลด์ถัดไปจะเร็วกว่าบิลด์เริ่มต้น)
หากต้องการเพิ่มประสิทธิภาพเวลาบิลด์ ให้ลองแยกโค้ดออกเป็นโมดูล
ตั้งแต่v1.3.3 ของPerformance Monitoringปลั๊กอิน เรามุ่งเน้นการปรับปรุงที่สำคัญ ในการประมวลผลการสร้างแบบเพิ่มทีละรายการและการแคชอินพุตของไลบรารี หากต้องการรับการปรับปรุงเวลาบิลด์ล่าสุด โปรดตรวจสอบว่าคุณใช้ ปลั๊กอิน เวอร์ชันล่าสุด (v2.0.2)
โปรดทราบว่าคุณสามารถปิดใช้Performance Monitoringปลั๊กอิน สำหรับการสร้างการแก้ไขข้อบกพร่องในเครื่องได้หากต้องการหลีกเลี่ยงเวลาในการสร้างที่นาน อย่างไรก็ตาม เราไม่แนะนำให้ใช้วิธีนี้สำหรับการสร้างเวอร์ชันที่ใช้งานจริง เนื่องจากอาจทำให้การวัดประสิทธิภาพสำหรับคำขอเครือข่ายในแอปพลาดไป
ฉันควรทำอย่างไรหากได้รับข้อผิดพลาดในการสร้างเนื่องจากไลบรารีไม่เข้ากันกับปลั๊กอิน Performance Monitoring Gradle
Performance Monitoring สำหรับ Android ใช้การวัดไบต์โค้ดเพื่อมอบฟีเจอร์สำเร็จรูปบางอย่าง เช่น การตรวจสอบคำขอเครือข่าย HTTP/S กระบวนการนี้ต้องวนซ้ำผ่านคลาสทั้งหมดของแอป (รวมถึงการอ้างอิง) เพื่อวัดประสิทธิภาพคำขอเครือข่ายของแอปพลิเคชัน ซึ่งเป็นส่วนสำคัญในการคอมไพล์
หากได้รับข้อผิดพลาดในการสร้าง เช่น JSR/RET are not supported with
computeFrames option หรือข้อผิดพลาดที่คล้ายกันหลังจากผสานรวมกับปลั๊กอิน Performance Monitoring
อาจเป็นเพราะคุณมีทรัพยากร Dependency ในไลบรารีที่ไม่เข้ากัน
กับปลั๊กอิน Performance Monitoring Gradle ด้วย
หากต้องการหลีกเลี่ยงปัญหานี้ คุณสามารถยกเว้นคลาส/ไลบรารีที่ไม่รองรับไม่ให้มีการวัดโดยทำตามขั้นตอนต่อไปนี้
- อัปเดตเป็นPerformance Monitoringปลั๊กอิน Gradle เวอร์ชันล่าสุด (ขั้นต่ำ v1.4.0)
- อัปเดตปลั๊กอิน Android Gradle เป็นเวอร์ชัน v7.2.0 ขึ้นไป
- เพิ่ม Flag ต่อไปนี้ลงในไฟล์
build.gradleของโมดูล (ระดับแอป) เพื่อยกเว้นไม่ให้มีการวัดประสิทธิภาพคลาส/ไลบรารีที่ไม่เข้ากัน ดูข้อมูลเพิ่มเติมเกี่ยวกับพร็อพเพอร์ตี้android { // ... androidComponents { onVariants(selector().all(), { instrumentation.excludes.add("example.incompatible.library") }) } }
excludeของ APIInstrumentationของปลั๊กอิน Android Gradle ได้ที่การตรวจสอบ
โปรดยื่นปัญหาใน Github เมื่อพบข้อผิดพลาดในการสร้างเนื่องจากไลบรารีที่เข้ากันไม่ได้ เพื่อให้ระบบยกเว้นไลบรารีเหล่านั้น จากการวัดผลในปลั๊กอิน Performance Monitoring ได้ด้วย
Performance Monitoring ข้อมูลของฉันใช้เวลานานกว่าที่คาดไว้ในการส่งออกไปยัง BigQuery เหตุใดจึงไม่ใช่แบบเรียลไทม์
หากคุณเปิดใช้การผสานรวม BigQuery สำหรับ Firebase Performance Monitoring ระบบจะส่งออกข้อมูลไปยัง BigQuery ภายใน 12-24 ชั่วโมงหลังจากสิ้นสุดวัน (เวลาแปซิฟิก)
เช่น ข้อมูลของวันที่ 19 เมษายนจะพร้อมใช้งานใน BigQuery ในวันที่ 20 เมษายน ระหว่างเวลา 12:00 น. ถึงเที่ยงคืน (วันที่และเวลาทั้งหมดเป็นเวลาแปซิฟิก)
การประมวลผลและการแสดงข้อมูลแบบแทบจะเรียลไทม์
ข้อมูลประสิทธิภาพ "แบบเกือบเรียลไทม์" หมายถึงอะไร
Firebase Performance Monitoring ประมวลผลข้อมูลประสิทธิภาพที่รวบรวมเมื่อได้รับ ซึ่ง ส่งผลให้ข้อมูลแสดงแบบเกือบเรียลไทม์ในคอนโซล Firebase ข้อมูลที่ประมวลผลแล้วจะแสดงในคอนโซลภายในไม่กี่นาทีหลังจากที่รวบรวม จึงเป็นที่มาของคำว่า "แทบจะเรียลไทม์"
หากต้องการใช้ประโยชน์จากการประมวลผลข้อมูลแบบเกือบเรียลไทม์ โปรดตรวจสอบว่าแอปใช้ SDK เวอร์ชันที่เข้ากันได้กับเรียลไทม์
ฉันจะดูข้อมูลประสิทธิภาพของแอปแบบเรียลไทม์ได้ที่ไหน
หากต้องการใช้ประโยชน์จากการประมวลผลข้อมูลแบบเกือบเรียลไทม์ คุณเพียงต้องตรวจสอบ ว่าแอปใช้ 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 เวอร์ชันล่าสุดเสมอ แต่ 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 เวอร์ชันล่าสุดเสมอ แต่ SDK เวอร์ชันใดก็ตามที่ระบุไว้ข้างต้นจะช่วยให้ Performance Monitoring ประมวลผลข้อมูลของคุณได้แบบเกือบเรียลไทม์
จะเกิดอะไรขึ้นหากฉันไม่อัปเดตแอปให้ใช้ SDK เวอร์ชันที่ใช้งานร่วมกันได้แบบเรียลไทม์
หากแอปไม่ได้ใช้ SDK เวอร์ชันที่เข้ากันได้แบบเรียลไทม์ คุณจะยังเห็น ข้อมูลประสิทธิภาพทั้งหมดของแอปในFirebaseคอนโซล อย่างไรก็ตาม การแสดงข้อมูลประสิทธิภาพจะล่าช้าประมาณ 36 ชั่วโมงนับจากเวลาที่รวบรวมข้อมูล
ฉันอัปเดตเป็น SDK เวอร์ชันที่เข้ากันได้แบบเรียลไทม์แล้ว แต่ผู้ใช้บางรายยังคงใช้แอปเวอร์ชันเก่าอยู่ ฉันจะยังเห็นข้อมูลประสิทธิภาพของผู้ใช้เหล่านั้นในคอนโซล Firebase ไหม
แน่นอน ไม่ว่าอินสแตนซ์ของแอปจะใช้ SDK เวอร์ชันใด คุณจะเห็น ข้อมูลประสิทธิภาพจากผู้ใช้ทั้งหมด
อย่างไรก็ตาม หากคุณดูข้อมูลล่าสุด (เก่าไม่เกินประมาณ 36 ชั่วโมง) ข้อมูลที่แสดงจะเป็นข้อมูลจากผู้ใช้ของอินสแตนซ์แอปที่ใช้ SDK เวอร์ชันที่เข้ากันได้กับเรียลไทม์ แต่ข้อมูลที่ไม่ใช่ข้อมูลล่าสุดจะรวมข้อมูลประสิทธิภาพ จากแอปทุกเวอร์ชัน
การติดต่อทีมสนับสนุน Firebase
หากคุณติดต่อทีมสนับสนุนของ Firebase โปรดระบุรหัสแอป Firebase เสมอ ค้นหารหัสแอป Firebase ในการ์ดแอปของคุณของsettings การตั้งค่าโปรเจ็กต์