หน้านี้ให้คำแนะนำในการแก้ปัญหาสำหรับการเริ่มต้นใช้งานการตรวจสอบประสิทธิภาพหรือการใช้คุณลักษณะและเครื่องมือการตรวจสอบประสิทธิภาพ
ตรวจสอบการแก้ไขปัญหาเบื้องต้น
การตรวจสอบสองรายการต่อไปนี้เป็นแนวทางปฏิบัติที่ดีที่สุดโดยทั่วไปสำหรับทุกคนก่อนที่จะแก้ไขปัญหาเพิ่มเติม
1. ตรวจสอบข้อความบันทึกสำหรับกิจกรรมด้านประสิทธิภาพ
ตรวจสอบข้อความบันทึกเพื่อให้แน่ใจว่า Performance Monitoring 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 นาที แดชบอร์ดจะแสดงข้อมูลที่ประมวลผลเบื้องต้น
หากคุณเพิ่ม SDK เวอร์ชันล่าสุดลงในแอปของคุณเป็นเวลามากกว่า 10 นาทีแล้ว และคุณยังไม่เห็นการเปลี่ยนแปลงใดๆ ให้ ตรวจสอบข้อความบันทึก เพื่อให้แน่ใจว่าการตรวจสอบประสิทธิภาพกำลังบันทึกเหตุการณ์ ลองทำตามขั้นตอนการแก้ปัญหาที่เหมาะสมตามที่อธิบายไว้ด้านล่างเพื่อแก้ไขปัญหาข้อความการตรวจหา SDK ที่ล่าช้า
ตรวจสอบให้แน่ใจว่าคุณใช้ Performance Monitoring Android SDK 19.1.0 หรือใหม่กว่า (หรือ Firebase BoM 26.3.0 หรือใหม่กว่า) โปรดดูที่ Release Note
หากคุณยังคงพัฒนาในพื้นที่ ให้ลองสร้างเหตุการณ์เพิ่มเติมสำหรับการรวบรวมข้อมูล:
- สร้างเหตุการณ์โดยสลับแอปของคุณไปมาระหว่างพื้นหลังและเบื้องหน้าหลายๆ ครั้ง โต้ตอบกับแอปของคุณโดยการนำทางผ่านหน้าจอต่างๆ และ/หรือเรียกคำขอของเครือข่าย
ตรวจสอบให้แน่ใจว่าได้เพิ่ม ไฟล์การกำหนดค่า Firebase ของคุณ (
google-services.json
) ในแอปของคุณอย่างถูกต้อง และคุณไม่ได้แก้ไขไฟล์ ให้ตรวจสอบสิ่งต่อไปนี้โดยเฉพาะ:ชื่อไฟล์ปรับแต่งไม่ได้ต่อท้ายด้วยอักขระเพิ่มเติม เช่น
(2)
ไฟล์กำหนดค่าอยู่ในไดเร็กทอรี โมดูล (ระดับแอป) ของแอป
รหัสแอป Firebase Android (
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.1' build.gradle
ระดับโปรเจ็ กต์ของคุณ
- คุณเพิ่มปลั๊กอิน (
ตรวจสอบให้แน่ใจ ว่าไม่ได้ ปิดใช้งานปลั๊กอิน ผ่านแฟล็กต่อไปนี้:
-
instrumentationEnabled
เปิดใช้งานในไฟล์build.gradle
โมดูลของคุณ (ระดับแอป) -
firebasePerformanceInstrumentationEnabled
ในไฟล์gradle.properties
ของคุณ
-
ตรวจสอบว่า Performance Monitoring SDK ไม่ ถูกปิดใช้งาน ผ่านแฟล็กต่อไปนี้ในไฟล์
AndroidManifest.xml
ของคุณ:-
firebase_performance_collection_enabled
-
firebase_performance_collection_deactivated
-
ตรวจสอบให้แน่ใจ ว่าไม่ได้ ปิดใช้งาน Performance Monitoring ขณะใช้งาน จริง
หากคุณไม่พบสิ่งใดที่ปิดใช้งานในแอปของคุณ โปรด ติดต่อฝ่ายสนับสนุนของ Firebase
การตรวจสอบประสิทธิภาพจะประมวลผลข้อมูลเหตุการณ์ประสิทธิภาพก่อนที่จะแสดงใน แดชบอร์ด ประสิทธิภาพ
หาก เกิน 24 ชั่วโมงแล้วตั้งแต่ที่ข้อความ "ตรวจพบ SDK" ปรากฏขึ้น และคุณยังคงไม่เห็นข้อมูล ให้ตรวจสอบ แดชบอร์ดสถานะ Firebase ในกรณีที่ทราบว่ามีการหยุดทำงาน หากไม่มีเหตุขัดข้อง โปรด ติดต่อ Firebase Support
การแก้ไขปัญหาทั่วไป
หากคุณเพิ่ม SDK สำเร็จและกำลังใช้การตรวจสอบประสิทธิภาพในแอปของคุณ เคล็ดลับการแก้ไขปัญหาต่อไปนี้สามารถช่วยแก้ไขปัญหาทั่วไปที่เกี่ยวข้องกับคุณลักษณะและเครื่องมือการตรวจสอบประสิทธิภาพ
หากคุณไม่เห็น ข้อความบันทึกสำหรับกิจกรรมด้านประสิทธิภาพ ให้ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้:
ตรวจสอบการตั้งค่าปลั๊กอิน Performance Monitoring Gradle ดังนี้:
ตรวจสอบให้แน่ใจว่าคุณ เพิ่มปลั๊กอิน อย่างถูกต้อง ให้ตรวจสอบสิ่งต่อไปนี้โดยเฉพาะ:
- คุณเพิ่มปลั๊กอิน (
) ในไฟล์apply plugin: 'com.google.firebase.firebase-perf' build.gradle
ของ โมดูล (ระดับแอป) - คุณรวมการพึ่งพา classpath สำหรับปลั๊กอิน (
) ในไฟล์classpath 'com.google.firebase:perf-plugin:1.4.1' build.gradle
ระดับโปรเจ็ กต์ของคุณ
- คุณเพิ่มปลั๊กอิน (
ตรวจสอบให้แน่ใจ ว่าไม่ได้ ปิดใช้งานปลั๊กอิน ผ่านแฟล็กต่อไปนี้:
-
instrumentationEnabled
เปิดใช้งานในไฟล์build.gradle
โมดูลของคุณ (ระดับแอป) -
firebasePerformanceInstrumentationEnabled
ในไฟล์gradle.properties
ของคุณ
-
ตรวจสอบว่า Performance Monitoring SDK ไม่ ถูกปิดใช้งาน ผ่านแฟล็กต่อไปนี้ในไฟล์
AndroidManifest.xml
ของคุณ:-
firebase_performance_collection_enabled
-
firebase_performance_collection_deactivated
-
ตรวจสอบให้แน่ใจ ว่าไม่ได้ ปิดใช้งาน Performance Monitoring ขณะใช้งาน จริง
หากคุณไม่พบสิ่งใดที่ปิดใช้งานในแอปของคุณ โปรด ติดต่อฝ่ายสนับสนุนของ Firebase
หากคุณไม่มีข้อมูลสำหรับการติดตามการแสดงผลหน้าจอ ให้ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้:
ตรวจสอบให้แน่ใจว่าคุณใช้ Android SDK เวอร์ชันล่าสุด (v20.1.0) การติดตามการแสดงผลหน้าจอใช้ได้เฉพาะกับ v15.2.0 หรือใหม่กว่า
ตรวจสอบให้แน่ใจว่าคุณไม่ได้ปิดใช้งาน การเร่งฮาร์ดแวร์ ด้วยตนเองสำหรับหน้าจอ
ตรวจสอบให้แน่ใจว่าคุณไม่ได้ใช้ DexGuard หรือ Jack การตรวจสอบประสิทธิภาพไม่เข้ากันกับชุดเครื่องมือเหล่านี้
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.1' 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.1' 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 การแก้ไขปัญหาใหม่นี้มีฟังก์ชันการทำงานหลักแบบเดียวกับที่ Details and Metrics นำเสนอ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการแก้ไขปัญหา โปรดดู ที่ ดูข้อมูลเพิ่มเติมสำหรับการติดตามเฉพาะ
การตรวจสอบประสิทธิภาพจะรวบรวมข้อมูลประสิทธิภาพจากอุปกรณ์ผู้ใช้ของแอป หากแอปพลิเคชันของคุณมีผู้ใช้จำนวนมากหรือหากแอปสร้างกิจกรรมด้านประสิทธิภาพจำนวนมาก การตรวจสอบประสิทธิภาพอาจจำกัดการรวบรวมข้อมูลไปยังชุดย่อยของอุปกรณ์เพื่อลดจำนวนเหตุการณ์ที่ประมวลผล ขีดจำกัดเหล่านี้สูงพอที่จะทำให้ค่าเมตริกยังคงแสดงถึงประสบการณ์การใช้แอปของผู้ใช้ของคุณแม้ว่าจะมีเหตุการณ์น้อยลง
ในการจัดการปริมาณข้อมูลที่เรารวบรวม การตรวจสอบประสิทธิภาพใช้ตัวเลือกการสุ่มตัวอย่างต่อไปนี้:
การจำกัดอัตราในอุปกรณ์ : เพื่อป้องกันไม่ให้อุปกรณ์ส่งการสืบค้นกลับอย่างกะทันหัน เราจำกัดจำนวนโค้ดและการติดตามคำขอเครือข่ายที่ส่งจากอุปกรณ์เป็น 300 เหตุการณ์ทุก 10 นาที แนวทางนี้ปกป้องอุปกรณ์จากเครื่องมือวัดแบบวนซ้ำที่สามารถส่งข้อมูลประสิทธิภาพจำนวนมาก และป้องกันไม่ให้อุปกรณ์เครื่องเดียวบิดเบือนการวัดประสิทธิภาพ
การสุ่มตัวอย่างแบบไดนามิก : การตรวจสอบประสิทธิภาพจะรวบรวมเหตุการณ์ประมาณ 100 ล้านเหตุการณ์สำหรับการติดตามโค้ด และ 100 ล้านรายการสำหรับการติดตามคำขอเครือข่ายต่อแอปสำหรับผู้ใช้แอปทั้งหมด อุปกรณ์จะดึงอัตราการสุ่มตัวอย่างแบบไดนามิก (โดยใช้การกำหนดค่าระยะไกลของ Firebase) เพื่อกำหนดว่าอุปกรณ์สุ่มควรบันทึกและส่งการติดตามหรือไม่ อุปกรณ์ที่ไม่ได้เลือกสำหรับการสุ่มตัวอย่างจะไม่ส่งเหตุการณ์ใดๆ อัตราการสุ่มตัวอย่างแบบไดนามิกเป็นแบบเฉพาะแอปและปรับเพื่อให้แน่ใจว่าปริมาณข้อมูลที่รวบรวมโดยรวมยังคงต่ำกว่าขีดจำกัด
เซสชันผู้ใช้ส่งข้อมูลรายละเอียดเพิ่มเติมจากอุปกรณ์ของผู้ใช้ ซึ่งต้องใช้ทรัพยากรมากขึ้นในการเก็บและส่งข้อมูล เพื่อลดผลกระทบของเซสชันผู้ใช้ การตรวจสอบประสิทธิภาพอาจจำกัดจำนวนเซสชันด้วย
การจำกัดอัตราฝั่งเซิร์ฟเวอร์ : เพื่อให้แน่ใจว่าแอปจะไม่เกินขีดจำกัดการสุ่มตัวอย่าง การตรวจสอบประสิทธิภาพอาจใช้การสุ่มตัวอย่างฝั่งเซิร์ฟเวอร์เพื่อลบเหตุการณ์บางอย่างที่ได้รับจากอุปกรณ์ แม้ว่าการจำกัดประเภทนี้จะไม่เปลี่ยนประสิทธิภาพของตัววัดของเรา แต่อาจทำให้เกิดการเปลี่ยนแปลงรูปแบบเล็กน้อย รวมถึงสิ่งต่อไปนี้:
- จำนวนการติดตามอาจแตกต่างจากจำนวนครั้งที่เรียกใช้โค้ด
- ร่องรอยที่เชื่อมโยงอย่างใกล้ชิดในโค้ดอาจมีจำนวนตัวอย่างต่างกัน
เราได้แทนที่แท็บปัญหาด้วยการแนะนำการแจ้งเตือน ซึ่งจะแจ้งให้คุณทราบโดยอัตโนมัติเมื่อเกินเกณฑ์ที่คุณตั้งไว้ คุณไม่จำเป็นต้องตรวจสอบคอนโซล Firebase ด้วยตนเองเพื่อกำหนดสถานะของเกณฑ์อีกต่อไป หากต้องการเรียนรู้เกี่ยวกับการแจ้งเตือน โปรดดูที่ ตั้งค่าการแจ้งเตือนสำหรับปัญหาด้านประสิทธิภาพ
เราได้ออกแบบส่วนการตรวจสอบประสิทธิภาพของคอนโซล Firebase ใหม่ เพื่อให้แท็บ แดชบอร์ด แสดงเมตริกหลักและการติดตามทั้งหมดของคุณในที่เดียว ในการออกแบบใหม่ เราได้นำหน้า อุปกรณ์ และหน้า เครือข่าย ออก
ตารางการติดตามที่ด้านล่างของแท็บ แดชบอร์ด มีข้อมูลเดียวกันกับที่แท็บ บนอุปกรณ์ และแท็บ เครือข่าย แสดง แต่มีคุณลักษณะเพิ่มเติมบางอย่าง ซึ่งรวมถึงความสามารถในการจัดเรียงการติดตามของคุณตามเปอร์เซ็นต์การเปลี่ยนแปลงสำหรับเมตริกเฉพาะ ในการ ดู เมทริกและข้อมูลทั้งหมดสำหรับการติดตามเฉพาะ ให้คลิกชื่อการติดตามในตารางการติดตาม
ดูการติดตามของคุณในแท็บย่อยต่อไปนี้ของตารางการติดตาม:
- การติดตามคำขอเครือข่าย (ทั้งแบบสำเร็จรูปและแบบกำหนดเอง) — แท็บย่อย คำขอเครือข่าย
- การติดตามโค้ดที่กำหนดเอง — แท็บย่อยการ ติดตามแบบกำหนดเอง
- การเริ่มแอพ, แอพในเบื้องหน้า, การติดตามแอพในพื้นหลัง — แท็บย่อยการ ติดตามแบบกำหนดเอง
- การติดตามการเรนเดอร์ หน้าจอ — แท็บย่อยการเรนเดอร์หน้าจอ
- การติดตามการโหลด หน้า — แท็บย่อยการโหลดหน้า
สำหรับรายละเอียดเกี่ยวกับตารางการติดตามและการดูตัวชี้วัดและข้อมูล ไปที่หน้าภาพรวมคอนโซล ( iOS+ | Android | เว็บ )
หากต้องการดูประสิทธิภาพของแฟรกเมนต์นอกเหนือจากกิจกรรมแอป ตรวจสอบให้แน่ใจว่าแอปของคุณใช้ Performance Monitoring Android SDK เวอร์ชัน 20.1.0 ขึ้นไป หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่ เพิ่มการตรวจสอบประสิทธิภาพให้กับแอปของคุณ
การติดตามส่วนย่อยและกิจกรรมแต่ละรายการจะขึ้นอยู่กับชื่อคลาสตามที่กำหนดไว้ในแอปพลิเคชันของคุณ การติดตามหน้าจอแต่ละรายการมีคำนำหน้า st ตามด้วยชื่อของคลาส บนคอนโซล Firebase คำนำหน้าจะถูกลบออก หากต้องการเรียนรู้เพิ่มเติม โปรดดู เรียนรู้เกี่ยวกับข้อมูลประสิทธิภาพการแสดงผลหน้าจอ (แอป Apple และ Android)
การตรวจสอบประสิทธิภาพดำเนินการสุ่มตัวอย่างเหตุการณ์ในทุกเหตุการณ์ที่รวบรวมบนอุปกรณ์ วิธีนี้ช่วยให้เรารวบรวมเหตุการณ์ขั้นต่ำที่จำเป็นจากอุปกรณ์ของผู้ใช้เพื่อให้มีการวัดประสิทธิภาพ
การตรวจสอบประสิทธิภาพช่วยให้คุณตั้งค่าการแจ้งเตือนสำหรับเมตริกที่คุณสนใจ สำหรับการติดตามการแสดงผลหน้าจอที่สร้างขึ้น คุณสามารถ ตั้งค่าการแจ้งเตือน เพื่อแจ้งให้คุณทราบเมื่อเปอร์เซ็นต์ของเฟรมที่ช้าและหยุดนิ่งเกินเกณฑ์ที่คุณตั้งไว้
การตรวจสอบประสิทธิภาพสำหรับ Android ใช้เครื่องมือวัดแบบไบต์โค้ดเพื่อมอบคุณลักษณะที่พร้อมใช้งานทันที เช่น การตรวจสอบคำขอเครือข่าย HTTP/S ในส่วนหนึ่งของการรวบรวม กระบวนการจำเป็นต้องมีการทำซ้ำผ่านคลาสทั้งหมดของแอปของคุณ (รวมถึงการขึ้นต่อกัน) เพื่อกำหนดโค้ดที่มีความสำคัญในการวัดประสิทธิภาพคำขอเครือข่ายของแอปพลิเคชันของคุณ
ต่อไปนี้คือปัจจัยสำคัญบางประการในการเพิ่มเวลาในการสร้าง:
- จำนวนคลาสหรือไฟล์
- ขนาดของแต่ละคลาสเหล่านั้น (บรรทัดของรหัส)
- การกำหนดค่าเครื่องของคุณ
- บิลด์เริ่มต้นกับบิลด์ที่ตามมา (บิลด์ที่ตามมามักจะเร็วกว่าบิลด์เริ่มต้น)
ในการเพิ่มประสิทธิภาพเวลาบิลด์ของคุณ ให้พิจารณาการ ปรับโค้ดให้เป็นโมดูล
เริ่มต้นด้วย เวอร์ชัน 1.3.3 ของปลั๊กอินการตรวจสอบประสิทธิภาพ เราได้มุ่งเน้นที่การปรับปรุงอย่างมากในการประมวลผลบิลด์ที่เพิ่มขึ้นและการแคชอินพุตของไลบรารี หากต้องการรับการปรับปรุงเวลา บิลด์ล่าสุด ตรวจสอบให้แน่ใจว่าใช้ ปลั๊กอิน เวอร์ชันล่าสุด (v1.4.1)
โปรดทราบว่าคุณสามารถ ปิดใช้งานปลั๊กอินการตรวจสอบประสิทธิภาพ สำหรับบิลด์การดีบักในเครื่องได้ หากคุณต้องการหลีกเลี่ยงเวลาบิลด์ที่ยาวนาน อย่างไรก็ตาม แนวทางนี้ไม่แนะนำสำหรับบิลด์ที่ใช้งานจริง เนื่องจากอาจส่งผลให้การวัดประสิทธิภาพสำหรับคำขอเครือข่ายในแอปของคุณพลาดไป
การตรวจสอบประสิทธิภาพสำหรับ 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 เมื่อคุณพบข้อผิดพลาดของบิลด์เนื่องจากไลบรารีที่เข้ากันไม่ได้ เพื่อให้สามารถแยกออกจากเครื่องมือในปลั๊กอินการตรวจสอบประสิทธิภาพ
ตัวยึดตำแหน่ง148หากคุณเปิดใช้งานการผสานรวม BigQuery สำหรับการตรวจสอบประสิทธิภาพ Firebase ข้อมูลของคุณจะถูกส่งออกไปยัง BigQuery 12 ถึง 24 ชั่วโมงหลังจากสิ้นสุดวัน (เวลาแปซิฟิก)
ตัวอย่างเช่น ข้อมูลสำหรับวันที่ 19 เมษายนจะพร้อมใช้งานใน BigQuery ในวันที่ 20 เมษายน ระหว่างเวลา 12.00 น. ถึงเที่ยงคืน (วันที่และเวลาทั้งหมดเป็นเวลาแปซิฟิก)
Near real-time data processing and display
Firebase Performance Monitoring processes collected performance data as it comes in, which results in near real-time data display in the Firebase console. Processed data displays in the console within a few minutes of its collection, hence the term "near real-time".
To take advantage of near real-time data processing, make sure your app uses a real-time compatible SDK version .
To take advantage of near real-time data processing, you only need to make sure that your app uses a Performance Monitoring SDK version that's compatible with real-time data processing.
These are the real-time compatible SDK versions:
- iOS — v7.3.0 or later
- tvOS — v8.9.0 or later
- Android — v19.0.10 or later (or Firebase Android BoM v26.1.0 or later)
- Web — v7.14.0 or later
Note that we always recommend using the latest version of SDK, but any version listed above will enable Performance Monitoring to process your data in near real time.
These are the SDK versions compatible with real-time data processing:
- iOS — v7.3.0 or later
- tvOS — v8.9.0 or later
- Android — v19.0.10 or later (or Firebase Android BoM v26.1.0 or later)
- Web — v7.14.0 or later
Note that we always recommend using the latest version of SDK, but any version listed above will enable Performance Monitoring to process your data in near real time.
If your app doesn't use a real-time compatible SDK version, you will still see all your app's performance data in the Firebase console. However, the display of performance data will be delayed by roughly 36 hours from the time of its collection.
Yes! Regardless of which SDK version an app instance uses, you'll see performance data from all your users.
However, if you're looking at recent data (less than roughly 36 hours old), then the displayed data is from users of app instances using a real-time compatible SDK version. The non-recent data, though, includes performance data from all versions of your app.
Contacting Firebase Support
If you reach out to Firebase Support , always include your Firebase App ID. Find your Firebase App ID in the Your apps card of your Project settings .