หน้านี้มีเคล็ดลับในการแก้ปัญหาเพื่อเริ่มต้นใช้งาน 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) ลงในแอปอย่างถูกต้องและคุณไม่ได้แก้ไขไฟล์ โดยให้ตรวจสอบสิ่งต่อไปนี้ชื่อไฟล์การกำหนดค่าไม่มีอักขระต่อท้ายเพิ่มเติม เช่น
(2)ไฟล์การกำหนดค่าอยู่ในไดเรกทอรีโมดูล (ระดับแอป) ของแอป
รหัสแอป Android ของ Firebase (
mobilesdk_app_id) ที่ระบุไว้ในไฟล์กำหนดค่า ถูกต้องสำหรับแอปของคุณ ค้นหารหัสแอป Firebase ในการ์ดแอปของคุณ ในการ์ดsettings การตั้งค่าโปรเจ็กต์
หากพบว่าไฟล์การกำหนดค่าในแอปมีปัญหา ให้ลองทำดังนี้
ลบไฟล์การกำหนดค่าที่คุณมีอยู่ในแอป
ทำตามวิธีการเหล่านี้เพื่อ ดาวน์โหลดไฟล์การกำหนดค่าใหม่และเพิ่มลงในแอป 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.gradleไฟล์firebasePerformanceInstrumentationEnabledในไฟล์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.gradleไฟล์firebasePerformanceInstrumentationEnabledในไฟล์gradle.properties
ตรวจสอบว่า Performance Monitoring SDK ไม่ได้ ปิดใช้ ผ่านค่าสถานะใดค่าสถานะหนึ่งต่อไปนี้ในไฟล์
AndroidManifest.xmlfirebase_performance_collection_enabledfirebase_performance_collection_deactivated
ตรวจสอบว่าไม่ได้ปิดใช้ Performance Monitoring ที่ รันไทม์
หากไม่พบฟีเจอร์ที่ถูกปิดใช้ในแอป โปรดติดต่อทีมสนับสนุนของ Firebase
แดชบอร์ดประสิทธิภาพ ไม่มีข้อมูลการติดตามหน้าจอ
หากไม่มีข้อมูลสำหรับการติดตามการแสดงผลหน้าจอ ให้ลองทำตาม ขั้นตอนการแก้ปัญหาต่อไปนี้
ตรวจสอบว่าคุณใช้ Android SDK เวอร์ชันล่าสุด (v22.0.6) การติดตามการแสดงผลหน้าจอจะใช้ได้กับ v15.2.0 ขึ้นไปเท่านั้น
ตรวจสอบว่าคุณไม่ได้ปิดการเร่งฮาร์ดแวร์ สำหรับหน้าจอด้วยตนเอง
ตรวจสอบว่าคุณไม่ได้ใช้ DexGuard หรือ Jack Performance Monitoring ใช้ร่วมกับ Toolchain เหล่านี้ไม่ได้
DexGuard จะปิดใช้การรวบรวมร่องรอยการเริ่มต้นแอป แอปที่ทำงานอยู่เบื้องหน้า และแอปที่ทำงานอยู่เบื้องหลังโดยอัตโนมัติ อย่างไรก็ตาม ร่องรอยโค้ดที่กำหนดเอง ควรทํางานได้ตามปกติหากแอปใช้ DexGuard
Jack เลิกใช้งานแล้วและ โดยทั่วไปไม่ควรใช้ในแอป
แดชบอร์ดประสิทธิภาพ ไม่มีข้อมูลการติดตามที่กำหนดเอง
คุณเห็นข้อมูลประสิทธิภาพของร่องรอยที่รวบรวมโดยอัตโนมัติแต่ไม่เห็นข้อมูลของร่องรอยโค้ดที่กำหนดเองใช่ไหม ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้
หากคุณใช้เครื่องมือติดตามโค้ดที่กำหนดเองผ่าน Trace API ให้ตรวจสอบการตั้งค่าการติดตาม โดยเฉพาะอย่างยิ่งรายการต่อไปนี้
- ชื่อสำหรับการติดตามโค้ดที่กำหนดเองและเมตริกที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้
ต้องไม่มีช่องว่างนำหน้าหรือต่อท้าย ต้องไม่มีขีดล่างนำหน้า
(
_) และมีความยาวสูงสุด 32 อักขระ - ต้องเริ่มและหยุดการติดตามทั้งหมด ระบบจะไม่บันทึกร่องรอยที่ไม่ได้เริ่ม ไม่ได้ หยุด หรือหยุดก่อนเริ่ม
- ชื่อสำหรับการติดตามโค้ดที่กำหนดเองและเมตริกที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้
ต้องไม่มีช่องว่างนำหน้าหรือต่อท้าย ต้องไม่มีขีดล่างนำหน้า
(
หากคุณใช้การติดตามโค้ดที่กำหนดเองผ่าน
@AddTraceรูปแบบ ให้ตรวจสอบการตั้งค่าปลั๊กอิน 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.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.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 รวบรวมการติดตามโค้ดและ การติดตามคำขอเครือข่ายจำนวนจำกัดต่อแอปในแต่ละวันสำหรับผู้ใช้แอปทั้งหมด ระบบจะดึงข้อมูลอัตราการสุ่มตัวอย่างแบบไดนามิกในอุปกรณ์ (โดยใช้ 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 ขึ้นไป ดูข้อมูลเพิ่มเติมได้ที่เพิ่ม Performance Monitoring ลงในแอป
ฉันจะเข้าใจได้อย่างไรว่าการติดตามใดที่เกี่ยวข้องกับ Fragment และกิจกรรม
การติดตาม Fragment และ Activity แต่ละรายการจะอิงตามชื่อคลาสตามที่กำหนด ในแอปพลิเคชัน การติดตามหน้าจอแต่ละรายการจะมีคำนำหน้า 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 กระบวนการนี้ต้องวนซ้ำผ่านคลาสทั้งหมดของแอป (รวมถึงทรัพยากร Dependency) เพื่อวัดประสิทธิภาพคำขอเครือข่ายของแอปพลิเคชัน ซึ่งเป็นส่วนสำคัญในการคอมไพล์
หากได้รับข้อผิดพลาดในการสร้าง เช่น 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 น. ถึงเที่ยงคืน (วันที่และเวลาทั้งหมดเป็นเวลาแปซิฟิก)
ฉันสร้างรูปแบบ URL ที่กำหนดเองได้กี่รูปแบบ
คุณสร้างรูปแบบ URL ที่กำหนดเองได้สูงสุด 400 รูปแบบต่อแอป และสร้างรูปแบบ URL ที่กำหนดเองได้สูงสุด 100 รูปแบบต่อโดเมนสำหรับแอปนั้น
การประมวลผลและการแสดงข้อมูลแบบเกือบเรียลไทม์
ข้อมูลประสิทธิภาพ "แบบเกือบเรียลไทม์" หมายถึงอะไร
Firebase Performance Monitoring ประมวลผลข้อมูลประสิทธิภาพที่รวบรวมเมื่อได้รับ ซึ่งจะส่งผลให้ข้อมูลแสดงในคอนโซล Firebase แบบเกือบเรียลไทม์ ข้อมูลที่ประมวลผลแล้วจะแสดงในคอนโซลภายในไม่กี่นาทีหลังจากที่รวบรวม จึงเป็นที่มาของคำว่า "แทบจะเรียลไทม์"
หากต้องการใช้ประโยชน์จากการประมวลผลข้อมูลแบบเกือบเรียลไทม์ โปรดตรวจสอบว่าแอปใช้ SDK เวอร์ชันที่เข้ากันได้แบบเรียลไทม์
ฉันจะรับข้อมูลประสิทธิภาพแบบเกือบเรียลไทม์สำหรับแอปได้อย่างไร
หากต้องการใช้ประโยชน์จากการประมวลผลข้อมูลแบบเกือบเรียลไทม์ คุณเพียงต้องตรวจสอบ ว่าแอปใช้ Performance MonitoringSDK เวอร์ชันที่เข้ากันได้กับการประมวลผลข้อมูลแบบเรียลไทม์
เวอร์ชัน 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 Console อย่างไรก็ตาม การแสดงข้อมูลประสิทธิภาพจะล่าช้าประมาณ 36 ชั่วโมงนับจากเวลาที่รวบรวมข้อมูล
ฉันอัปเดตเป็น SDK เวอร์ชันที่ใช้งานร่วมกันได้แบบเรียลไทม์แล้ว แต่ผู้ใช้บางรายยังใช้แอปเวอร์ชันเก่าอยู่ ฉันจะยังเห็นข้อมูลประสิทธิภาพของผู้ใช้เหล่านั้นในคอนโซล Firebase ไหม
แน่นอน ไม่ว่าอินสแตนซ์ของแอปจะใช้ SDK เวอร์ชันใด คุณจะเห็น ข้อมูลประสิทธิภาพจากผู้ใช้ทั้งหมด
อย่างไรก็ตาม หากคุณดูข้อมูลล่าสุด (เก่าไม่เกินประมาณ 36 ชั่วโมง) ข้อมูลที่แสดงจะเป็นข้อมูลจากผู้ใช้ของอินสแตนซ์แอปที่ใช้ 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 ประมวลผลข้อมูลของคุณได้แบบเกือบเรียลไทม์
การติดต่อทีมสนับสนุน Firebase
หากคุณติดต่อทีมสนับสนุนของ Firebase โปรดระบุรหัสแอป Firebase เสมอ ค้นหารหัสแอป Firebase ในการ์ด แอปของคุณใน settings การตั้งค่า โปรเจ็กต์