หน้านี้ให้คำแนะนำในการแก้ไขปัญหาสำหรับการเริ่มต้นใช้งานการตรวจสอบประสิทธิภาพหรือการใช้คุณสมบัติและเครื่องมือการตรวจสอบประสิทธิภาพ
ตรวจสอบการแก้ไขปัญหาเบื้องต้น
การตรวจสอบสองรายการต่อไปนี้เป็นแนวทางปฏิบัติที่ดีที่สุดโดยทั่วไปที่แนะนำสำหรับทุกคนก่อนที่จะแก้ไขปัญหาเพิ่มเติม
1. ตรวจสอบข้อความบันทึกเพื่อดูเหตุการณ์ด้านประสิทธิภาพ
ตรวจสอบข้อความบันทึกของคุณเพื่อให้แน่ใจว่า SDK การตรวจสอบประสิทธิภาพกำลังบันทึกเหตุการณ์ประสิทธิภาพการทำงาน
เปิดใช้การบันทึกการแก้ไขข้อบกพร่องสำหรับการตรวจสอบประสิทธิภาพในขณะสร้างโดยการเพิ่มองค์ประกอบ
<meta-data>
ลงในไฟล์AndroidManifest.xml
ของแอป ดังนี้<application> <meta-data android:name="firebase_performance_logcat_enabled" android:value="true" /> </application>
ตรวจสอบข้อความบันทึกของคุณเพื่อดูข้อความแสดงข้อผิดพลาด
การตรวจสอบประสิทธิภาพแท็กข้อความบันทึกด้วย
FirebasePerformance
เมื่อใช้การกรอง logcat คุณสามารถดูการติดตามระยะเวลาและการบันทึกคำขอเครือข่าย HTTP/S โดยเฉพาะได้โดยการรันคำสั่งต่อไปนี้:adb logcat -s FirebasePerformance
ตรวจสอบบันทึกประเภทต่อไปนี้ซึ่งระบุว่าการตรวจสอบประสิทธิภาพกำลังบันทึกเหตุการณ์ประสิทธิภาพ:
-
Logging trace metric: TRACE_NAME , FIREBASE_PERFORMANCE_CONSOLE_URL
-
Logging network request trace: URL
-
คลิกที่ URL เพื่อดูข้อมูลของคุณในคอนโซล Firebase อาจใช้เวลาสักครู่ในการอัปเดตข้อมูลในแดชบอร์ด
หากแอปของคุณไม่บันทึกเหตุการณ์ประสิทธิภาพ โปรดดู เคล็ดลับการแก้ปัญหา
2. ตรวจสอบแดชบอร์ดสถานะ Firebase
ตรวจสอบ แดชบอร์ดสถานะ Firebase ในกรณีที่ทราบว่ามีการหยุดทำงานของ Firebase หรือสำหรับการตรวจสอบประสิทธิภาพ
เริ่มต้นใช้งานการตรวจสอบประสิทธิภาพ
หากคุณเริ่มต้นใช้งานการตรวจสอบประสิทธิภาพ ( iOS+ | Android | เว็บ ) เคล็ดลับการแก้ปัญหาต่อไปนี้สามารถช่วยแก้ไขปัญหาที่เกี่ยวข้องกับ Firebase การตรวจจับ SDK หรือการแสดงข้อมูลประสิทธิภาพครั้งแรกของคุณในคอนโซล Firebase
Firebase สามารถตรวจจับได้ว่าคุณเพิ่ม SDK การตรวจสอบประสิทธิภาพลงในแอปสำเร็จหรือไม่ เมื่อได้รับข้อมูลเหตุการณ์ (เช่น การโต้ตอบของแอป) จากแอปของคุณ โดยปกติภายใน 10 นาทีหลังจากเริ่มแอป แดชบอร์ด ประสิทธิภาพ ของคอนโซล Firebase จะแสดงข้อความ "ตรวจพบ SDK" จากนั้นภายใน 30 นาที แดชบอร์ดจะแสดงข้อมูลที่ประมวลผลเริ่มต้น
หากเวลาผ่านไปเกิน 10 นาทีแล้วนับตั้งแต่คุณเพิ่ม SDK เวอร์ชันล่าสุดลงในแอปของคุณ และยังไม่เห็นการเปลี่ยนแปลงใดๆ ให้ตรวจสอบข้อความบันทึกของคุณ เพื่อให้แน่ใจว่าการตรวจสอบประสิทธิภาพกำลังบันทึกเหตุการณ์อยู่ ลองขั้นตอนการแก้ปัญหาที่เหมาะสมตามที่อธิบายไว้ด้านล่างเพื่อแก้ไขข้อความการตรวจจับ SDK ที่ล่าช้า
ตรวจสอบให้แน่ใจว่าคุณใช้ Performance Monitoring Android SDK 19.1.0 หรือใหม่กว่า (หรือ Firebase BoM 26.3.0 หรือใหม่กว่า) ดู บันทึกประจำรุ่น
หากคุณยังคงพัฒนาในพื้นที่ ให้ลองสร้างกิจกรรมเพิ่มเติมสำหรับการรวบรวมข้อมูล:
- สร้างเหตุการณ์โดยการสลับแอปของคุณระหว่างพื้นหลังและเบื้องหน้าหลายครั้ง โต้ตอบกับแอปของคุณโดยการนำทางข้ามหน้าจอ และ/หรือทริกเกอร์คำขอเครือข่าย
ตรวจสอบให้แน่ใจว่า ไฟล์การกำหนดค่า Firebase (
google-services.json
) ได้รับการเพิ่มลงในแอปของคุณอย่างถูกต้อง และคุณไม่ได้แก้ไขไฟล์ โดยเฉพาะ ให้ตรวจสอบสิ่งต่อไปนี้:ชื่อไฟล์กำหนดค่าไม่ได้ต่อท้ายด้วยอักขระเพิ่มเติม เช่น
(2)
ไฟล์กำหนดค่าอยู่ใน ไดเรกทอรีโมดูล (ระดับแอป) ของแอปของคุณ
รหัสแอป Android ของ Firebase (
mobilesdk_app_id
) ที่แสดงอยู่ในไฟล์กำหนดค่านั้นถูกต้องสำหรับแอปของคุณ ค้นหารหัสแอป Firebase ของคุณในการ์ด แอปของ คุณของ การตั้งค่าโครงการ
หากมีสิ่งผิดปกติเกิดขึ้นกับไฟล์กำหนดค่าในแอปของคุณ ให้ลองดำเนินการดังนี้:
ลบไฟล์กำหนดค่าที่คุณมีอยู่ในแอปของคุณในปัจจุบัน
ทำตาม คำแนะนำเหล่านี้ เพื่อดาวน์โหลดไฟล์กำหนดค่าใหม่และเพิ่มลงในแอป 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
ของคุณ
-
ตรวจสอบว่าไม่ได้ ปิด ใช้งาน SDK การตรวจสอบประสิทธิภาพ ผ่านแฟล็กอย่างใดอย่างหนึ่งต่อไปนี้ในไฟล์
AndroidManifest.xml
ของคุณ:-
firebase_performance_collection_enabled
-
firebase_performance_collection_deactivated
-
ตรวจสอบให้แน่ใจว่าไม่ได้ ปิด ใช้งานการตรวจสอบประสิทธิภาพในขณะรันไทม์
หากคุณไม่พบสิ่งใดที่ถูกปิดใช้งานในแอปของคุณ โปรดติดต่อฝ่ายสนับสนุนของ Firebase
การตรวจสอบประสิทธิภาพจะประมวลผลข้อมูลเหตุการณ์ประสิทธิภาพก่อนที่จะแสดงใน แดชบอร์ด ประสิทธิภาพ
หากผ่านไป นานกว่า 24 ชั่วโมงแล้วนับตั้งแต่ข้อความ "ตรวจพบ SDK" ปรากฏขึ้น แต่คุณยังคงไม่เห็นข้อมูล ให้ตรวจสอบ แดชบอร์ดสถานะ Firebase ในกรณีที่ทราบว่ามีการหยุดทำงาน หากไม่มีไฟฟ้าดับ โปรด ติดต่อฝ่ายสนับสนุนของ Firebase
การแก้ไขปัญหาทั่วไป
หากคุณเพิ่ม SDK สำเร็จแล้วและกำลังใช้การตรวจสอบประสิทธิภาพในแอปของคุณ เคล็ดลับการแก้ปัญหาต่อไปนี้สามารถช่วยแก้ไขปัญหาทั่วไปที่เกี่ยวข้องกับฟีเจอร์และเครื่องมือการตรวจสอบประสิทธิภาพได้
หากคุณไม่เห็น ข้อความบันทึกสำหรับเหตุการณ์ด้านประสิทธิภาพ ให้ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้:
ตรวจสอบการตั้งค่าปลั๊กอิน 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
ของคุณ
-
ตรวจสอบว่าไม่ได้ ปิด ใช้งาน SDK การตรวจสอบประสิทธิภาพ ผ่านแฟล็กอย่างใดอย่างหนึ่งต่อไปนี้ในไฟล์
AndroidManifest.xml
ของคุณ:-
firebase_performance_collection_enabled
-
firebase_performance_collection_deactivated
-
ตรวจสอบให้แน่ใจว่าไม่ได้ ปิด ใช้งานการตรวจสอบประสิทธิภาพในขณะรันไทม์
หากคุณไม่พบสิ่งใดที่ถูกปิดใช้งานในแอปของคุณ โปรดติดต่อฝ่ายสนับสนุนของ Firebase
หากคุณไม่มีข้อมูลสำหรับการติดตามการแสดงผลหน้าจอ ให้ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้:
ตรวจสอบให้แน่ใจว่าคุณใช้ Android SDK เวอร์ชันล่าสุด (v20.5.1) การติดตามการเรนเดอร์หน้าจอใช้ได้เฉพาะกับเวอร์ชัน 15.2.0 หรือใหม่กว่าเท่านั้น
ตรวจสอบให้แน่ใจว่าคุณไม่ได้ปิดใช้ งานการเร่งด้วยฮาร์ดแวร์ สำหรับหน้าจอด้วยตนเอง
ตรวจสอบให้แน่ใจว่าคุณไม่ได้ใช้ DexGuard หรือ Jack การตรวจสอบประสิทธิภาพเข้ากันไม่ได้กับ toolchas เหล่านี้
DexGuard ปิดใช้งานการรวบรวมการเริ่มต้นแอป การติดตามแอปในเบื้องหน้า และแอปในเบื้องหลังโดยอัตโนมัติ อย่างไรก็ตาม การติดตามโค้ดที่กำหนดเอง ควรทำงานตามปกติหากแอปของคุณใช้ DexGuard
Jack เลิกใช้งานแล้ว และโดยทั่วไปไม่ควรใช้ในแอปของคุณ
คุณเห็นข้อมูลประสิทธิภาพสำหรับการติดตามที่รวบรวมโดยอัตโนมัติ แต่ไม่ใช่สำหรับการติดตามโค้ดที่กำหนดเอง หรือไม่ ลองทำตามขั้นตอนการแก้ไขปัญหาต่อไปนี้:
หากคุณติดตั้งการติดตามโค้ดที่กำหนดเองผ่าน Trace API ให้ตรวจสอบการตั้งค่าการติดตาม โดยเฉพาะสิ่งต่อไปนี้:
- ชื่อสำหรับการติดตามโค้ดที่กำหนดเองและเมตริกที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้: ไม่มีช่องว่างนำหน้าหรือต่อท้าย ไม่มีอักขระขีดล่างนำหน้า (
_
) และความยาวสูงสุดคือ 32 อักขระ - การติดตามทั้งหมดจะต้องเริ่มต้นและหยุด การติดตามใดๆ ที่ไม่ได้เริ่มต้น ไม่หยุด หรือหยุดก่อนเริ่มต้นจะไม่ถูกบันทึก
- ชื่อสำหรับการติดตามโค้ดที่กำหนดเองและเมตริกที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้: ไม่มีช่องว่างนำหน้าหรือต่อท้าย ไม่มีอักขระขีดล่างนำหน้า (
หากคุณติดตั้งการติดตามโค้ดแบบกำหนดเองผ่าน
@AddTrace
ให้ตรวจสอบการตั้งค่าปลั๊กอิน 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
ของคุณ
-
ตรวจสอบข้อความบันทึกของคุณ เพื่อให้แน่ใจว่าการตรวจสอบประสิทธิภาพกำลังบันทึกการติดตามโค้ดแบบกำหนดเองที่คาดไว้
หากการตรวจสอบประสิทธิภาพกำลังบันทึกเหตุการณ์ แต่ไม่มีข้อมูลแสดงหลังจาก 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
ระดับโครงการ ของคุณ
- คุณเพิ่มปลั๊กอิน (
ตรวจสอบให้แน่ใจว่า ปลั๊กอิน ไม่ ได้ปิดใช้งาน ผ่านแฟล็กอย่างใดอย่างหนึ่งต่อไปนี้:
-
instrumentationEnabled
ในไฟล์build.gradle
ของโมดูล (ระดับแอป) -
firebasePerformanceInstrumentationEnabled
ในไฟล์gradle.properties
ของคุณ
-
ตรวจสอบความไม่เข้ากันของไลบรารีเครือข่าย การตรวจสอบประสิทธิภาพจะรวบรวมตัววัดสำหรับคำขอเครือข่ายที่ใช้ไลบรารีเครือข่ายต่อไปนี้โดยอัตโนมัติ: OkHttp 3.xx, URLConnection ของ Java และ Apache HttpClient
โปรดทราบว่าคุณสามารถ เพิ่มการตรวจสอบแบบกำหนดเองสำหรับคำขอเครือข่าย ได้
โปรดระวังสิ่งต่อไปนี้:
ขึ้นอยู่กับพฤติกรรมของโค้ดของคุณและไลบรารีเครือข่ายที่ใช้โดยโค้ดของคุณ การตรวจสอบประสิทธิภาพอาจรายงานเฉพาะคำขอเครือข่ายที่เสร็จสมบูรณ์เท่านั้น ซึ่งหมายความว่าการเชื่อมต่อ HTTP/S ที่เปิดทิ้งไว้อาจไม่ได้รับการรายงาน
การตรวจสอบประสิทธิภาพเข้ากันไม่ได้กับ DexGuard และ Jack
- DexGuard ปิดใช้งานการตรวจสอบคำขอเครือข่าย HTTP/S
- Jack เลิกใช้งานแล้ว และโดยทั่วไปไม่ควรใช้ในแอปของคุณ
การตรวจสอบประสิทธิภาพไม่รายงานคำขอเครือข่ายที่มีส่วนหัว
Content-Type
ที่ไม่ถูกต้อง อย่างไรก็ตาม คำขอเครือข่ายที่ไม่มีส่วนหัวContent-Type
จะยังคงได้รับการยอมรับ
เรียนรู้เพิ่มเติมเกี่ยวกับ วิธีที่การตรวจสอบประสิทธิภาพรวบรวมข้อมูลคำขอเครือข่าย ภายใต้รูปแบบ URL
คุณยังสามารถลองใช้ รูปแบบ URL ที่กำหนดเองได้ !
คำถามที่พบบ่อย
เราแทนที่ ปัญหายอดนิยม ด้วย การแจ้งเตือนล่าสุด เพื่อติดตามผลการแจ้งเตือนล่าสุดของเรา ซึ่งจะแจ้งให้คุณทราบโดยอัตโนมัติเมื่อเกินเกณฑ์ที่คุณตั้งไว้ ขณะนี้ปัญหาเลิกใช้แล้ว และแทนที่ด้วยการแจ้งเตือน
ตัวเลือกแอปที่ด้านบนของการ์ดประสิทธิภาพจะกรองรายการแจ้งเตือนภายใต้ การแจ้งเตือนล่าสุด มีเพียงการแจ้งเตือนสามรายการล่าสุดสำหรับแอปที่เลือกเท่านั้นที่จะแสดง
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการแจ้งเตือน โปรดดู ที่ ตั้งค่าการแจ้งเตือนสำหรับปัญหาด้านประสิทธิภาพ
การตรวจสอบประสิทธิภาพรองรับ การแจ้งเตือน สำหรับตัวชี้วัดที่เกินเกณฑ์ที่กำหนด เพื่อหลีกเลี่ยงความสับสนกับเกณฑ์ที่กำหนดค่าได้เหล่านี้สำหรับเมตริกประสิทธิภาพ เราจึงนำความสามารถในการกำหนดค่าเกณฑ์สำหรับ ปัญหา ออก
เราได้แทนที่หน้ารายละเอียดและเมตริกด้วยอินเทอร์เฟซผู้ใช้ (UI) แบบรวมศูนย์ที่ออกแบบใหม่ เพื่อปรับปรุงวิธีแก้ไขปัญหาของคุณ UI การแก้ไขปัญหาใหม่นี้มีฟังก์ชันหลักแบบเดียวกับรายละเอียดและเมตริกที่นำเสนอ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการแก้ไขปัญหา โปรดดู ดูข้อมูลเพิ่มเติมสำหรับการติดตามเฉพาะ
การตรวจสอบประสิทธิภาพรวบรวมข้อมูลประสิทธิภาพจากอุปกรณ์ผู้ใช้แอปของคุณ หากแอปพลิเคชันของคุณมีผู้ใช้จำนวนมากหรือหากแอปสร้างกิจกรรมด้านประสิทธิภาพจำนวนมาก การตรวจสอบประสิทธิภาพอาจจำกัดการรวบรวมข้อมูลให้เหลือเพียงชุดย่อยของอุปกรณ์ เพื่อลดจำนวนเหตุการณ์ที่ประมวลผล ขีดจำกัดเหล่านี้สูงพอที่จะทำให้ค่าเมตริกยังคงแสดงถึงประสบการณ์การใช้แอปของผู้ใช้ของคุณ แม้ว่าจะมีเหตุการณ์น้อยกว่าก็ตาม
ในการจัดการปริมาณข้อมูลที่เรารวบรวม การตรวจสอบประสิทธิภาพจะใช้ตัวเลือกการสุ่มตัวอย่างต่อไปนี้:
การจำกัดอัตราบนอุปกรณ์ : เพื่อป้องกันไม่ให้อุปกรณ์ส่งการติดตามอย่างกะทันหัน เราจะจำกัดจำนวนการติดตามโค้ดและคำขอเครือข่ายที่ส่งจากอุปกรณ์ไว้ที่ 300 เหตุการณ์ทุกๆ 10 นาที วิธีการนี้จะปกป้องอุปกรณ์จากเครื่องมือวัดแบบวนซ้ำซึ่งสามารถส่งข้อมูลประสิทธิภาพจำนวนมาก และป้องกันไม่ให้อุปกรณ์ตัวเดียวบิดเบือนการวัดประสิทธิภาพ
การสุ่มตัวอย่างแบบไดนามิก : การตรวจสอบประสิทธิภาพรวบรวมขีดจำกัดประมาณ 100 ล้านเหตุการณ์สำหรับการติดตามโค้ด และ 100 ล้านเหตุการณ์สำหรับการติดตามคำขอเครือข่ายต่อแอปทุกวันจากผู้ใช้แอปทั้งหมด อัตราการสุ่มตัวอย่างแบบไดนามิกจะถูกดึงมาจากอุปกรณ์ (โดยใช้การกำหนดค่าระยะไกลของ Firebase) เพื่อพิจารณาว่าอุปกรณ์สุ่มควรจับภาพและส่งการติดตามหรือไม่ อุปกรณ์ที่ไม่ได้เลือกสำหรับการสุ่มตัวอย่างจะไม่ส่งเหตุการณ์ใดๆ อัตราการสุ่มตัวอย่างแบบไดนามิกนั้นเฉพาะแอปและจะปรับเพื่อให้แน่ใจว่าปริมาณข้อมูลที่รวบรวมโดยรวมยังต่ำกว่าขีดจำกัด
เซสชันผู้ใช้ส่งข้อมูลโดยละเอียดเพิ่มเติมจากอุปกรณ์ของผู้ใช้ ซึ่งต้องใช้ทรัพยากรเพิ่มเติมในการจับภาพและส่งข้อมูล เพื่อลดผลกระทบของเซสชันผู้ใช้ การตรวจสอบประสิทธิภาพอาจจำกัดจำนวนเซสชันด้วย
การจำกัดอัตราฝั่งเซิร์ฟเวอร์ : เพื่อให้แน่ใจว่าแอปจะไม่เกินขีดจำกัดการสุ่มตัวอย่าง การตรวจสอบประสิทธิภาพอาจใช้การสุ่มตัวอย่างฝั่งเซิร์ฟเวอร์เพื่อละทิ้งเหตุการณ์บางอย่างที่ได้รับจากอุปกรณ์ แม้ว่าการจำกัดประเภทนี้จะไม่เปลี่ยนแปลงประสิทธิภาพของการวัดของเรา แต่อาจทำให้เกิดการเปลี่ยนแปลงรูปแบบเล็กน้อย ซึ่งรวมถึงสิ่งต่อไปนี้:
- จำนวนการติดตามอาจแตกต่างจากจำนวนครั้งที่โค้ดชิ้นหนึ่งถูกดำเนินการ
- การติดตามที่เชื่อมโยงกันอย่างใกล้ชิดในโค้ดแต่ละอันอาจมีจำนวนตัวอย่างที่แตกต่างกัน
เราได้แทนที่แท็บปัญหาด้วยการนำเสนอการแจ้งเตือน ซึ่งจะแจ้งให้คุณทราบโดยอัตโนมัติเมื่อเกินเกณฑ์ที่คุณตั้งไว้ คุณไม่จำเป็นต้องตรวจสอบคอนโซล Firebase ด้วยตนเองเพื่อระบุสถานะของเกณฑ์อีกต่อไป หากต้องการเรียนรู้เกี่ยวกับการแจ้งเตือน โปรดดู ที่ตั้งค่าการแจ้งเตือนสำหรับปัญหาด้านประสิทธิภาพ
เราได้ออกแบบส่วนการตรวจสอบประสิทธิภาพของคอนโซล Firebase ใหม่เพื่อให้ แท็บแดช บอร์ดแสดงเมตริกหลักและการติดตามทั้งหมดของคุณในพื้นที่เดียว ในส่วนของการออกแบบใหม่ เราได้ลบหน้า บนอุปกรณ์ และ เครือข่าย ออก
ตารางการติดตามที่ด้านล่างของ แท็บแดช บอร์ดมีข้อมูลเดียวกับที่แท็บ บนอุปกรณ์ และ เครือข่าย แสดง แต่มีคุณลักษณะเพิ่มเติมบางอย่าง รวมถึงความสามารถในการจัดเรียงการติดตามของคุณตามเปอร์เซ็นต์การเปลี่ยนแปลงสำหรับเมตริกเฉพาะ หากต้องการดูเมตริกและข้อมูล ทั้งหมด สำหรับการติดตามเฉพาะ ให้คลิกชื่อการติดตามในตารางการติดตาม
ดูการติดตามของคุณในแท็บย่อยต่อไปนี้ของตารางการติดตาม:
- การติดตามคำขอเครือข่าย (ทั้งแบบสำเร็จรูปและแบบกำหนดเอง) — แท็บย่อย คำขอเครือข่าย
- การติดตามโค้ดแบบกำหนดเอง — แท็บย่อย การติดตามแบบกำหนดเอง
- การเริ่มต้นแอป, การติดตามแอปในเบื้องหน้า, การติดตามแอปในเบื้องหลัง - แท็บย่อย การติดตามที่กำหนดเอง
- การติดตามการเรนเดอร์หน้าจอ — แท็บย่อย การเรนเดอร์หน้าจอ
- การติดตามการโหลดเพจ — แท็บย่อย การโหลดเพจ
สำหรับรายละเอียดเกี่ยวกับตารางการติดตามและการดูตัวชี้วัดและข้อมูล โปรดไปที่หน้าภาพรวมคอนโซล ( iOS+ | Android | เว็บ )
เฟรมการเรนเดอร์ช้าและเฟรมค้างคำนวณด้วยอัตราการรีเฟรชอุปกรณ์ที่สมมติไว้ที่ 60Hz หากอัตราการรีเฟรชของอุปกรณ์ต่ำกว่า 60Hz แต่ละเฟรมจะมีเวลาในการเรนเดอร์ช้าลงเนื่องจากมีการเรนเดอร์เฟรมต่อวินาทีน้อยลง เวลาในการเรนเดอร์ช้าลงอาจทำให้เฟรมช้าลงหรือค้างมากขึ้น เนื่องจากเฟรมจำนวนมากจะเรนเดอร์ช้าลงหรือค้าง อย่างไรก็ตาม หากอัตราการรีเฟรชของอุปกรณ์สูงกว่า 60Hz แต่ละเฟรมจะมีเวลาในการเรนเดอร์ที่เร็วขึ้น ซึ่งอาจส่งผลให้มีการรายงานเฟรมที่ช้าหรือค้างน้อยลง นี่เป็นข้อจำกัดปัจจุบันใน Performance Monitoring SDK
หากต้องการดูประสิทธิภาพของแฟรกเมนต์นอกเหนือจากกิจกรรมแอป ตรวจสอบให้แน่ใจว่าแอปของคุณใช้ Performance Monitoring Android SDK เวอร์ชัน 20.1.0 ขึ้นไป หากต้องการเรียนรู้เพิ่มเติม โปรดดู เพิ่มการตรวจสอบประสิทธิภาพให้กับแอปของคุณ
การติดตามแฟรกเมนต์และกิจกรรมแต่ละรายการจะขึ้นอยู่กับชื่อคลาสตามที่กำหนดไว้ในแอปพลิเคชันของคุณ แต่ละการติดตามหน้าจอจะมีคำนำ หน้า st ตามด้วยชื่อของคลาส บนคอนโซล Firebase คำนำหน้าจะถูกลบออก หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่ เรียนรู้เกี่ยวกับข้อมูลประสิทธิภาพการเรนเดอร์หน้าจอ (แอป Apple และ Android)
การตรวจสอบประสิทธิภาพดำเนินการสุ่มตัวอย่างเหตุการณ์ในเหตุการณ์ทั้งหมดที่รวบรวมบนอุปกรณ์ แนวทางนี้ช่วยให้เรารวบรวมเหตุการณ์ขั้นต่ำที่จำเป็นจากอุปกรณ์ผู้ใช้เพื่อจัดทำการวัดประสิทธิภาพ
การตรวจสอบประสิทธิภาพช่วยให้คุณตั้งค่าการแจ้งเตือนสำหรับตัวชี้วัดที่คุณสนใจ สำหรับการติดตามการเรนเดอร์หน้าจอที่สร้างขึ้น คุณสามารถ ตั้งค่าการแจ้งเตือน เพื่อแจ้งให้คุณทราบเมื่อเปอร์เซ็นต์เฟรมที่ช้าและค้างเกินเกณฑ์ที่คุณตั้งไว้
การตรวจสอบประสิทธิภาพสำหรับ Android ใช้เครื่องมือวัดไบต์เพื่อมอบคุณสมบัติที่พร้อมใช้งานทันที เช่น การตรวจสอบคำขอเครือข่าย HTTP/S ในส่วนหนึ่งของการคอมไพล์ กระบวนการนี้จำเป็นต้องมีการวนซ้ำทุกคลาสของแอปของคุณ (รวมถึงการขึ้นต่อกัน) เพื่อติดตั้งโค้ดที่มีความสำคัญในการวัดประสิทธิภาพคำขอเครือข่ายของแอปพลิเคชันของคุณ
ต่อไปนี้เป็นปัจจัยสำคัญในการเพิ่มเวลาในการสร้าง:
- จำนวนคลาสหรือไฟล์
- ขนาดของแต่ละคลาสเหล่านั้น (บรรทัดของโค้ด)
- การกำหนดค่าเครื่องของคุณ
- การสร้างครั้งแรกกับการสร้างครั้งต่อไป (โดยปกติการสร้างครั้งต่อไปจะเร็วกว่าการสร้างครั้งแรก)
เพื่อเพิ่มประสิทธิภาพเวลาในการสร้างของคุณ ให้พิจารณา ทำให้โค้ดของคุณเป็นโมดูล
เริ่มต้นด้วยปลั๊กอินการตรวจสอบประสิทธิภาพ เวอร์ชัน 1.3.3 เราได้มุ่งเน้นไปที่การปรับปรุงอย่างมากในการประมวลผลการสร้างที่เพิ่มขึ้นและการแคชอินพุตไลบรารี หากต้องการรับการปรับปรุงเวลาสร้างล่าสุด ตรวจสอบให้แน่ใจว่าใช้ ปลั๊กอิน เวอร์ชันล่าสุด (v1.4.2)
โปรดทราบว่าคุณสามารถ ปิดใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพ สำหรับบิลด์การดีบักของคุณภายในเครื่องได้ หากคุณต้องการหลีกเลี่ยงเวลาในการสร้างที่ยาวนาน อย่างไรก็ตาม ไม่แนะนำแนวทางนี้สำหรับรุ่นที่ใช้งานจริง เนื่องจากอาจส่งผลให้การวัดประสิทธิภาพสำหรับคำขอเครือข่ายในแอปของคุณพลาดไป
การตรวจสอบประสิทธิภาพสำหรับ Android ใช้เครื่องมือวัดไบต์เพื่อมอบคุณสมบัติที่พร้อมใช้งานทันที เช่น การตรวจสอบคำขอเครือข่าย HTTP/S ในส่วนหนึ่งของการคอมไพล์ กระบวนการนี้จำเป็นต้องมีการวนซ้ำทุกคลาสของแอปของคุณ (รวมถึงการขึ้นต่อกัน) เพื่อติดตั้งโค้ดที่มีความสำคัญในการวัดประสิทธิภาพคำขอเครือข่ายของแอปพลิเคชันของคุณ
หากคุณได้รับข้อผิดพลาดในการสร้าง เช่น JSR/RET are not supported with computeFrames option
หรือข้อผิดพลาดที่คล้ายกันหลังจากผสานรวมกับปลั๊กอิน Performance Monitoring อาจเป็นเพราะคุณมีการพึ่งพาไลบรารีที่เข้ากันไม่ได้กับปลั๊กอิน Performance Monitoring Gradle
เพื่อแก้ไขปัญหานี้ คุณสามารถยกเว้นคลาส/ไลบรารีที่เข้ากันไม่ได้จากการถูกอินสตรูเมนต์โดยทำตามขั้นตอนเหล่านี้:
- อัปเดตเป็นเวอร์ชันล่าสุดของปลั๊กอิน Performance Monitoring Gradle (ขั้นต่ำ v1.4.0 )
- อัปเดตเวอร์ชันปลั๊กอิน Android Gradle ของคุณเป็น v7.2.0 หรือใหม่กว่า
- เพิ่มแฟล็กต่อไปนี้ลงในไฟล์
build.gradle
ของโมดูล (ระดับแอป) เพื่อยกเว้นคลาส/ไลบรารีที่เข้ากันไม่ได้จากการถูกอินสตรูเมนต์:android { // ... androidComponents { onVariants(selector().all(), { instrumentation.excludes.add("example.incompatible.library") }) } }
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติการexclude
ของInstrumentation
API ของปลั๊กอิน Android Gradle โปรดดูที่ Instrumentation
โปรด ยื่นปัญหา Github เมื่อคุณพบข้อผิดพลาดของบิลด์เนื่องจากไลบรารีที่เข้ากันไม่ได้ เพื่อให้สามารถยกเว้นจากการถูกติดตั้งในปลั๊กอินการตรวจสอบประสิทธิภาพได้
หากคุณเปิดใช้งานการผสานรวม BigQuery สำหรับการตรวจสอบประสิทธิภาพ Firebase ข้อมูลของคุณจะถูกส่งออกไปยัง BigQuery 12 ถึง 24 ชั่วโมงหลังจากสิ้นสุดวัน (เวลาแปซิฟิก)
ตัวอย่างเช่น ข้อมูลของวันที่ 19 เมษายนจะพร้อมใช้งานใน BigQuery ในวันที่ 20 เมษายน ระหว่างเวลา 12.00 น. ถึงเที่ยงคืน (วันที่และเวลาทั้งหมดเป็นเวลาแปซิฟิก)
ใกล้การประมวลผลข้อมูลแบบเรียลไทม์และการแสดงผล
กระบวนการตรวจสอบประสิทธิภาพของ Firebase รวบรวมข้อมูลประสิทธิภาพเมื่อเข้ามาซึ่งส่งผลให้เกิดการแสดงข้อมูลแบบเรียลไทม์ในคอนโซล Firebase ข้อมูลที่ประมวลผลจะปรากฏขึ้นในคอนโซลภายในไม่กี่นาทีของการรวบรวมดังนั้นคำว่า "ใกล้เรียลไทม์"
ในการใช้ประโยชน์จากการประมวลผลข้อมูลแบบเรียลไทม์ให้แน่ใจว่าแอปของคุณใช้ เวอร์ชัน SDK ที่เข้ากันได้แบบเรียลไทม์
ในการใช้ประโยชน์จากการประมวลผลข้อมูลแบบเรียลไทม์คุณจะต้องตรวจสอบให้แน่ใจว่าแอปของคุณใช้เวอร์ชันการตรวจสอบประสิทธิภาพ 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 ที่เข้ากันได้กับการประมวลผลข้อมูลแบบเรียลไทม์:
- iOS - v7.3.0 หรือใหม่กว่า
- TVOS - v8.9.0 หรือใหม่กว่า
- Android - v19.0.10 หรือใหม่กว่า (หรือ Firebase Android Bom V26.1.0 หรือใหม่กว่า)
- เว็บ - v7.14.0 หรือใหม่กว่า
โปรดทราบว่าเราขอแนะนำให้ใช้ SDK เวอร์ชันล่าสุดเสมอ แต่เวอร์ชันใด ๆ ที่ระบุไว้ข้างต้นจะช่วยให้การตรวจสอบประสิทธิภาพสามารถประมวลผลข้อมูลของคุณได้ใกล้เรียลไทม์
หากแอปของคุณไม่ได้ใช้ SDK รุ่นที่ใช้งานร่วมกันได้ตามเวลาจริงคุณจะยังคงเห็นข้อมูลประสิทธิภาพของแอปทั้งหมดในคอนโซล Firebase อย่างไรก็ตามการแสดงข้อมูลประสิทธิภาพจะล่าช้าประมาณ 36 ชั่วโมงนับจากเวลาที่รวบรวม
ใช่! ไม่ว่าจะใช้อินสแตนซ์แอพรุ่น SDK ใดคุณจะเห็นข้อมูลประสิทธิภาพจากผู้ใช้ทั้งหมดของคุณ
อย่างไรก็ตามหากคุณกำลังดูข้อมูล ล่าสุด (อายุน้อยกว่า 36 ชั่วโมง) ข้อมูลที่แสดงนั้นมาจากผู้ใช้อินสแตนซ์แอพโดยใช้เวอร์ชัน SDK ที่เข้ากันได้แบบเรียลไทม์ อย่างไรก็ตามข้อมูล ที่ไม่ได้อยู่อาศัยนั้น มีข้อมูลประสิทธิภาพจากแอพทุกรุ่น
ติดต่อฝ่ายสนับสนุน Firebase
หากคุณ ติดต่อกับ Firebase Support ให้รวมรหัสแอพ Firebase ของคุณเสมอ ค้นหารหัสแอพ Firebase ของคุณในการ์ด แอพของคุณ ใน การตั้งค่าโครงการ ของคุณ