หน้านี้มีเคล็ดลับการแก้ปัญหาเกี่ยวกับการเริ่มต้นใช้งาน 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 (
google-services.json
) ลงในแอปอย่างถูกต้องและคุณไม่ได้แก้ไขไฟล์ โปรดตรวจสอบสิ่งต่อไปนี้เป็นพิเศษชื่อไฟล์การกำหนดค่าไม่ได้เพิ่มอักขระต่อท้าย เช่น
(2)
ไฟล์การกำหนดค่าอยู่ในไดเรกทอรีโมดูล (ระดับแอป) ของแอป
รหัสแอป Firebase สำหรับ Android (
mobilesdk_app_id
) ที่แสดงในไฟล์การกําหนดค่าถูกต้องสําหรับแอปของคุณ ค้นหารหัสแอป Firebase ในการ์ดแอปของคุณของsettingsการตั้งค่าโปรเจ็กต์
หากมีอะไรผิดปกติกับไฟล์การกำหนดค่าในแอป ให้ลองทำตามขั้นตอนต่อไปนี้
ลบไฟล์การกำหนดค่าที่คุณมีอยู่ในแอป
ทำตามวิธีการเหล่านี้เพื่อ ดาวน์โหลดไฟล์กำหนดค่าใหม่และเพิ่มลงในแอป Android
หาก SDK บันทึกเหตุการณ์และดูเหมือนว่าทุกอย่างจะตั้งค่าอย่างถูกต้องแล้ว แต่คุณยังไม่เห็นข้อความการตรวจหา SDK หรือข้อมูลที่ประมวลผลแล้ว (หลังจากผ่านไป 10 นาที) ให้ติดต่อทีมสนับสนุนของ Firebase
แอปไม่ได้บันทึกเหตุการณ์ ขั้นตอนการแก้ปัญหา
ตรวจสอบการตั้งค่าของPerformance Monitoring ปลั๊กอิน Gradle ดังนี้
โปรดตรวจสอบว่าคุณได้ เพิ่ม ปลั๊กอินอย่างถูกต้อง โปรดตรวจสอบสิ่งต่อไปนี้เป็นพิเศษ
- คุณเพิ่มปลั๊กอินแล้ว
(
) ใน ไฟล์apply plugin: 'com.google.firebase.firebase-perf' build.gradle
โมดูล (ระดับแอป) ของคุณ - คุณรวมการพึ่งพา classpath สําหรับปลั๊กอิน (
) ไว้ในไฟล์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
คอนโซลระบุว่าตรวจพบ SDK แต่ไม่มีข้อมูลแสดง
Performance Monitoring ประมวลผลข้อมูลเหตุการณ์ด้านประสิทธิภาพก่อนแสดงใน แดชบอร์ดประสิทธิภาพ
หากผ่านไปนานกว่า 24 ชั่วโมงนับตั้งแต่ที่ข้อความ "ตรวจพบ SDK" ปรากฏขึ้น แต่คุณยังไม่เห็นข้อมูล ให้ตรวจสอบหน้าแดชบอร์ดสถานะของ 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
ระดับโปรเจ็กต์
- คุณเพิ่มปลั๊กอินแล้ว
(
ตรวจสอบว่าปลั๊กอินไม่ได้ปิดใช้ผ่าน Flag ต่อไปนี้
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
โมดูล (ระดับแอป) ของคุณ - คุณรวมการพึ่งพา classpath สําหรับปลั๊กอิน (
) ไว้ในไฟล์classpath 'com.google.firebase:perf-plugin:1.4.2' build.gradle
ระดับโปรเจ็กต์
- คุณเพิ่มปลั๊กอินแล้ว
(
ตรวจสอบว่าปลั๊กอินไม่ได้ปิดใช้ผ่าน Flag ใด Flag หนึ่งต่อไปนี้
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
หากต้องการหลีกเลี่ยงปัญหานี้ คุณสามารถยกเว้นชั้นเรียน/ไลบรารีที่ใช้ร่วมกันไม่ได้จากการใช้เครื่องมือโดยทำตามขั้นตอนต่อไปนี้
- อัปเดตPerformance Monitoringปลั๊กอิน Gradle เป็นเวอร์ชันล่าสุด (อย่างน้อย 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 โครงการ การตั้งค่า