iOS+
Android
เว็บ
หน้านี้แสดงเคล็ดลับการแก้ปัญหาสำหรับการเริ่มต้นใช้งาน Performance Monitoring หรือการใช้ฟีเจอร์และเครื่องมือของ Performance Monitoring
การตรวจสอบเบื้องต้นเพื่อแก้ปัญหา
การตรวจสอบ 2 รายการต่อไปนี้เป็นแนวทางปฏิบัติแนะนำทั่วไปที่แนะนำสำหรับทุกคนก่อนที่จะแก้ปัญหาเพิ่มเติม
1. ตรวจสอบข้อความในบันทึกเพื่อดูเหตุการณ์ด้านประสิทธิภาพ
ตรวจสอบข้อความในบันทึกเพื่อให้แน่ใจว่า SDK ของ Performance Monitoring กำลังบันทึกเหตุการณ์ด้านประสิทธิภาพ
วิธีดูข้อความในบันทึกสำหรับเหตุการณ์ด้านประสิทธิภาพ
เปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์ (เช่น แท็บเครือข่ายสำหรับเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ Chrome หรือในเครื่องมือตรวจสอบเครือข่ายสำหรับ Firefox )
รีเฟรชเว็บแอปในเบราว์เซอร์
ตรวจสอบข้อความในบันทึกเพื่อดูข้อความแสดงข้อผิดพลาด
หลังจากผ่านไป 2-3 วินาที ให้มองหาการเรียกเครือข่ายไปยัง firebaselogging.googleapis.com ในเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์ การเรียกใช้เครือข่ายดังกล่าวแสดงให้เห็นว่าเบราว์เซอร์กำลังส่งข้อมูลประสิทธิภาพไปยัง Firebase
หากแอปไม่ได้บันทึกเหตุการณ์ด้านประสิทธิภาพ โปรดดูเคล็ดลับการแก้ปัญหา
2. ตรวจสอบแดชบอร์ดสถานะ Firebase
ตรวจสอบแดชบอร์ดสถานะ Firebase ในกรณีที่ Firebase หรือ Performance Monitoring มีการหยุดทำงานที่ทราบ
เริ่มต้นใช้งาน Performance Monitoring
หากคุณเพิ่งเริ่มใช้ Performance Monitoring (iOS+ | Android | Web ) เคล็ดลับการแก้ปัญหาต่อไปนี้จะช่วยแก้ปัญหาที่เกี่ยวข้องกับ Firebase ในการตรวจหา SDK หรือแสดงข้อมูลประสิทธิภาพแรกในคอนโซล Firebase
เพิ่ม SDK ลงในแอปแล้ว แต่คอนโซลยังคงแจ้งให้เพิ่ม SDK
Firebase จะตรวจหาได้ว่าคุณเพิ่ม SDK ของ Performance Monitoring ลงในแอปเรียบร้อยแล้วหรือไม่เมื่อได้รับข้อมูลเหตุการณ์ (เช่น การโต้ตอบกับแอป) จากแอป โดยปกติแล้วภายใน 10 นาทีหลังจากเริ่มแอป แดชบอร์ดประสิทธิภาพ ของคอนโซล Firebase จะแสดงข้อความ "ตรวจพบ SDK" จากนั้นภายใน 30 นาที แดชบอร์ดจะแสดงข้อมูลที่ประมวลผลแล้วในเบื้องต้น
หากคุณเพิ่ม SDK เวอร์ชันล่าสุดลงในแอปนานกว่า 10 นาทีแล้ว แต่ยังไม่เห็นการเปลี่ยนแปลงใดๆ ให้ตรวจสอบข้อความในบันทึก เพื่อให้แน่ใจว่า Performance Monitoring กำลังบันทึกเหตุการณ์อยู่ ลองทำตามขั้นตอนการแก้ปัญหาที่เหมาะสมตามที่อธิบายไว้ด้านล่างเพื่อแก้ปัญหาข้อความการตรวจจับ SDK ที่ล่าช้า
แอปกำลังบันทึกเหตุการณ์: ขั้นตอนการแก้ปัญหา
หมายเหตุ: SDK ของ Performance Monitoring จะจัดกลุ่มเหตุการณ์ไว้ในเครื่องแล้วส่งไปยัง Firebase เป็นระยะๆ ซึ่งหมายความว่าจะมีช่วงเวลาหน่วงระหว่างการโต้ตอบกับแอปและเวลาที่ Firebase ได้รับข้อมูลเหตุการณ์จากแอป
หากคุณยังคงพัฒนาในเครื่อง ให้ลองสร้างเหตุการณ์เพิ่มเติมเพื่อเก็บรวบรวมข้อมูล โดยทำดังนี้
แสดงและดูเว็บแอปในสภาพแวดล้อมภายในเครื่อง
สร้างเหตุการณ์โดยการโหลดหน้าย่อยของเว็บไซต์ โต้ตอบกับแอป และ/หรือทริกเกอร์คำขอเครือข่าย อย่าลืมเปิดแท็บเบราว์เซอร์ไว้อย่างน้อย 10 วินาทีหลังจากที่หน้าเว็บโหลดเสร็จ
ตรวจสอบว่าได้เพิ่มออบเจ็กต์การกำหนดค่า Firebase ลงในแอปอย่างถูกต้อง และคุณไม่ได้แก้ไขออบเจ็กต์ดังกล่าว โดยเฉพาะอย่างยิ่ง ให้ตรวจสอบสิ่งต่อไปนี้
รหัสเว็บแอป Firebase (appId) ในออบเจ็กต์การกำหนดค่าถูกต้องสำหรับแอปของคุณ ค้นหารหัสแอป Firebase ในการ์ดแอปของคุณ ในsettings การตั้งค่าโปรเจ็กต์
หากดูเหมือนว่ามีสิ่งผิดปกติเกิดขึ้นกับออบเจ็กต์การกำหนดค่าในแอป ให้ลองทำดังนี้
ลบออบเจ็กต์การกําหนดค่าที่มีอยู่ในแอป
ทำตามวิธีการเหล่านี้ เพื่อรับออบเจ็กต์การกำหนดค่าใหม่และเพิ่มลงในเว็บแอป
หาก SDK บันทึกเหตุการณ์และดูเหมือนว่าทุกอย่างจะได้รับการตั้งค่าอย่างถูกต้อง แต่คุณยังไม่เห็นข้อความการตรวจหา SDK หรือข้อมูลที่ประมวลผล (หลังจากผ่านไป 2 ชั่วโมง) โปรดติดต่อทีมสนับสนุนของ Firebase
แอปไม่ บันทึกเหตุการณ์:
ขั้นตอนการแก้ปัญหา
ตรวจสอบว่า Performance Monitoring SDK เริ่มต้น ในแอปอย่างถูกต้อง
ตรวจสอบว่า SDK ของ Performance Monitoring ไม่ได้ ปิดใช้อยู่ผ่านแฟล็กต่อไปนี้
performance.instrumentationEnabled
ตรวจสอบว่าการแคชของเบราว์เซอร์ปิดอยู่ ไม่เช่นนั้นเบราว์เซอร์อาจไม่เลือกการตั้งค่าการวัดใหม่
ปิดแล้วเปิดแท็บหน้าเว็บอีกครั้ง ตรวจสอบการบันทึกอีกครั้ง
หากเพิ่งเพิ่ม SDK Performance Monitoring ในแอป คุณอาจต้องรีสตาร์ทแอปโดยสมบูรณ์เพื่อให้ SDK เริ่มทำงาน
หากไม่พบสิ่งที่ปิดใช้ในแอป โปรดติดต่อทีมสนับสนุนของ Firebase
Console แจ้งว่าตรวจพบ SDK แต่ไม่แสดงข้อมูล
Performance Monitoring จะประมวลผลข้อมูลเหตุการณ์ด้านประสิทธิภาพก่อนแสดงในแดชบอร์ดประสิทธิภาพ
หากผ่านไปนานกว่า 24 ชั่วโมงนับตั้งแต่ข้อความ "ตรวจพบ SDK" ปรากฏขึ้น และคุณยังไม่เห็นข้อมูล ให้ตรวจสอบแดชบอร์ดสถานะ Firebase ในกรณีที่เกิดการหยุดทำงานที่ทราบ หากไม่มีการหยุดทำงาน โปรดติดต่อทีมสนับสนุน Firebase
การแก้ปัญหาทั่วไป
หากคุณเพิ่ม SDK เรียบร้อยแล้วและกำลังใช้ Performance Monitoring ในแอป เคล็ดลับการแก้ปัญหาต่อไปนี้จะช่วยแก้ปัญหาทั่วไปที่เกี่ยวข้องกับฟีเจอร์และเครื่องมือของ Performance Monitoring ได้
แอปไม่ได้บันทึกเหตุการณ์ด้านประสิทธิภาพ
หากไม่เห็นข้อความในบันทึกสำหรับเหตุการณ์ด้านประสิทธิภาพ ให้ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้
ตรวจสอบว่า SDK ของ Performance Monitoring เริ่มต้น ในแอปอย่างถูกต้อง
ตรวจสอบว่า SDK ของ Performance Monitoring ไม่ได้ ปิดใช้อยู่ผ่านแฟล็กต่อไปนี้
performance.instrumentationEnabled
ตรวจสอบว่าการแคชของเบราว์เซอร์ปิดอยู่ ไม่เช่นนั้นเบราว์เซอร์อาจไม่เลือกการตั้งค่าการวัดใหม่
ปิดแล้วเปิดแท็บหน้าเว็บอีกครั้ง ตรวจสอบการบันทึกอีกครั้ง
หากเพิ่งเพิ่ม SDK Performance Monitoring ในแอป คุณอาจต้องรีสตาร์ทแอปโดยสมบูรณ์เพื่อให้ SDK เริ่มทำงาน
หากไม่พบสิ่งที่ปิดใช้ในแอป โปรดติดต่อทีมสนับสนุนของ Firebase
แดชบอร์ดประสิทธิภาพไม่มีข้อมูลการติดตามที่กำหนดเอง
คุณเห็นข้อมูลประสิทธิภาพสําหรับการติดตามที่รวบรวมโดยอัตโนมัติแต่ไม่เห็นสําหรับการติดตามโค้ดที่กําหนดเอง ใช่ไหม ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้
ตรวจสอบการตั้งค่าการติดตามโค้ดที่กำหนดเองซึ่งวัดผ่าน Trace API โดยเฉพาะอย่างยิ่งสิ่งต่อไปนี้
ชื่อสำหรับการติดตามโค้ดที่กำหนดเองและเมตริกที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้ ไม่มีช่องว่างนำหน้าหรือต่อท้าย ไม่มีอักขระขีดล่าง (_) นำหน้า และมีความยาวสูงสุด 32 อักขระ
ต้องเริ่มและหยุดการติดตามทั้งหมด ระบบจะไม่บันทึกการติดตามที่ไม่ได้เริ่ม ไม่ได้หยุด หรือหยุดก่อนเริ่ม
โปรดทราบว่าหากคุณใช้เมธอด record() คุณไม่จำเป็นต้องเริ่มหรือหยุดการติดตามอย่างชัดแจ้ง
ตรวจสอบว่าการเก็บรวบรวมข้อมูล Performance Monitoring ไม่ได้ ปิดใช้ ผ่านแฟล็กต่อไปนี้
ตรวจสอบข้อความในบันทึก เพื่อให้แน่ใจว่า Performance Monitoring กำลังบันทึกการติดตามโค้ดที่กำหนดเองตามที่คาดไว้
หาก Performance Monitoring บันทึกเหตุการณ์อยู่ แต่ไม่มีข้อมูลแสดงหลังจากผ่านไป 24 ชั่วโมง โปรดติดต่อทีมสนับสนุน Firebase
แดชบอร์ดประสิทธิภาพไม่มีข้อมูลคำขอเครือข่าย
หากไม่มีข้อมูลคำขอเครือข่าย โปรดทราบข้อมูลต่อไปนี้
Performance Monitoring จะรวบรวมเมตริกสำหรับคำขอเครือข่ายที่รายงานโดย API ของเบราว์เซอร์โดยอัตโนมัติ รายงานเหล่านี้ไม่รวมคำขอเครือข่ายที่ล้มเหลว
Performance Monitoring อาจรายงานเฉพาะคำขอเครือข่ายที่เสร็จสมบูรณ์ ทั้งนี้ขึ้นอยู่กับลักษณะการทำงานของโค้ดและไลบรารีเครือข่ายที่โค้ดใช้
ซึ่งหมายความว่าระบบอาจไม่รายงานการเชื่อมต่อ HTTP/S ที่เปิดทิ้งไว้
คำถามที่พบบ่อย
iOS+
Android
เว็บ
เกิดอะไรขึ้นกับปัญหาที่พบบ่อยในการ์ดประสิทธิภาพในหน้าแรกของโปรเจ็กต์
เราได้แทนที่ปัญหาที่พบบ่อย ด้วยการแจ้งเตือนล่าสุด เพื่อติดตามการเปิดตัวการแจ้งเตือนล่าสุด ซึ่งจะแจ้งให้คุณทราบโดยอัตโนมัติเมื่อมีการข้ามเกณฑ์ที่คุณตั้งไว้ เราเลิกใช้งานปัญหาแล้ว และแทนที่ด้วยการแจ้งเตือน
ตัวเลือกแอปที่ด้านบนของการ์ดประสิทธิภาพจะกรองรายการการแจ้งเตือนในส่วนการแจ้งเตือนล่าสุด ระบบจะแสดงเฉพาะการแจ้งเตือนล่าสุด 3 รายการสำหรับแอปที่เลือกเท่านั้น
ดูข้อมูลเพิ่มเติมเกี่ยวกับการแจ้งเตือนได้ที่ตั้งค่าการแจ้งเตือนสำหรับปัญหาด้านประสิทธิภาพ
เกิดอะไรขึ้นกับความสามารถในการตั้งค่าเกณฑ์สำหรับปัญหาในคอนโซล
Performance Monitoring รองรับการแจ้งเตือน สำหรับเมตริกที่เกินเกณฑ์ที่กำหนด เราจึงนำความสามารถในการกำหนดค่าเกณฑ์สำหรับปัญหา ออกเพื่อหลีกเลี่ยงความสับสนกับเกณฑ์ที่กำหนดค่าได้เหล่านี้สำหรับเมตริกประสิทธิภาพ
เกิดอะไรขึ้นกับข้อมูลรายละเอียดและเมตริกในคอนโซล Firebase
เราได้แทนที่หน้ารายละเอียดและหน้าเมตริกด้วยอินเทอร์เฟซผู้ใช้ (UI) แบบรวมศูนย์ที่ออกแบบใหม่เพื่อปรับปรุงวิธีแก้ปัญหา UI การแก้ปัญหาใหม่นี้มีฟังก์ชันหลักเหมือนกับที่รายละเอียดและเมตริกมีให้ ดูข้อมูลเพิ่มเติมเกี่ยวกับการแก้ปัญหาได้ที่ดูข้อมูลเพิ่มเติมสำหรับการติดตามที่เฉพาะเจาะจง
เหตุใดจำนวนตัวอย่างจึงไม่เป็นไปตามที่ฉันคาดไว้
Performance Monitoring จะรวบรวมข้อมูลประสิทธิภาพจากอุปกรณ์ของผู้ใช้แอป หากแอปพลิเคชันของคุณมีผู้ใช้จำนวนมากหรือสร้างกิจกรรมด้านประสิทธิภาพจำนวนมาก Performance Monitoring อาจจำกัดการเก็บรวบรวมข้อมูลไว้เฉพาะอุปกรณ์บางชุดเพื่อลดจำนวนเหตุการณ์ที่ประมวลผล ขีดจำกัดเหล่านี้สูงพอที่จะทำให้ค่าเมตริกยังคงแสดงถึงประสบการณ์การใช้งานแอปของผู้ใช้ แม้ว่าจะมีเหตุการณ์น้อยลงก็ตาม
Performance Monitoring ใช้ตัวเลือกการสุ่มตัวอย่างต่อไปนี้เพื่อจัดการปริมาณข้อมูลที่เรารวบรวม
การจำกัดอัตราคำขอในอุปกรณ์ : เพื่อป้องกันไม่ให้อุปกรณ์ส่งร่องรอยจำนวนมากอย่างกะทันหัน เราจึงจำกัดจำนวนร่องรอยโค้ดและร่องรอยคำขอเครือข่ายที่ส่งจากอุปกรณ์ไว้ที่ 300 เหตุการณ์ทุกๆ 10 นาที วิธีนี้จะปกป้องอุปกรณ์จากการวัดผลแบบวนซ้ำที่อาจส่งข้อมูลประสิทธิภาพจำนวนมาก และป้องกันไม่ให้อุปกรณ์เครื่องเดียวทำให้การวัดประสิทธิภาพคลาดเคลื่อน
การสุ่มตัวอย่างแบบไดนามิก : Performance Monitoring จะรวบรวมร่องรอยโค้ดและร่องรอยคำขอเครือข่ายในจำนวนจำกัดต่อแอปทุกวันจากผู้ใช้แอปทั้งหมด ระบบจะดึงข้อมูลอัตราการสุ่มตัวอย่างแบบไดนามิกในอุปกรณ์ (โดยใช้ Firebase Remote Config ) เพื่อพิจารณาว่าอุปกรณ์แบบสุ่มควรบันทึกและส่งการติดตามหรือไม่ อุปกรณ์ที่ไม่ได้เลือกสำหรับการสุ่มตัวอย่างจะไม่ส่งเหตุการณ์ใดๆ อัตราการสุ่มตัวอย่างแบบไดนามิกจะเจาะจงแอปและปรับเพื่อให้แน่ใจว่าปริมาณข้อมูลที่รวบรวมโดยรวมยังคงต่ำกว่าขีดจำกัด
เซสชันของผู้ใช้จะส่งข้อมูลโดยละเอียดเพิ่มเติมจากอุปกรณ์ของผู้ใช้ ซึ่งต้องใช้ทรัพยากรมากขึ้นในการบันทึกและส่งข้อมูล Performance Monitoring อาจจำกัดจำนวนเซสชันด้วยเพื่อลดผลกระทบของเซสชันของผู้ใช้
การจำกัดอัตราคำขอฝั่งเซิร์ฟเวอร์ : เพื่อให้มั่นใจว่าแอปจะไม่เกินขีดจำกัดการสุ่มตัวอย่าง Performance Monitoring อาจใช้การสุ่มตัวอย่างฝั่งเซิร์ฟเวอร์เพื่อทิ้งเหตุการณ์บางอย่างที่ได้รับจากอุปกรณ์ แม้ว่าการจำกัดประเภทนี้จะไม่เปลี่ยนแปลงประสิทธิภาพของเมตริก แต่ก็อาจทำให้รูปแบบเปลี่ยนแปลงเล็กน้อย ซึ่งรวมถึงสิ่งต่อไปนี้
จำนวนการติดตามอาจแตกต่างจากจำนวนครั้งที่โค้ดทำงาน
การติดตามที่เชื่อมโยงกันอย่างใกล้ชิดในโค้ดอาจมีจำนวนตัวอย่างที่แตกต่างกัน
หมายเหตุ: ขีดจำกัดการสุ่มตัวอย่างที่เฉพาะเจาะจงและการใช้งานอาจเปลี่ยนแปลงไปตามการพัฒนาของ Performance Monitoring
เกิดอะไรขึ้นกับแท็บปัญหา ในคอนโซล
เราได้แทนที่แท็บปัญหาด้วยการเปิดตัวการแจ้งเตือน ซึ่งจะแจ้งให้คุณทราบโดยอัตโนมัติเมื่อเกินเกณฑ์ที่คุณตั้งไว้ คุณไม่จำเป็นต้องตรวจสอบคอนโซล Firebase ด้วยตนเองเพื่อดูสถานะของเกณฑ์อีกต่อไป ดูข้อมูลเกี่ยวกับการแจ้งเตือนได้ที่ตั้งค่าการแจ้งเตือนสำหรับปัญหาด้านประสิทธิภาพ
เกิดอะไรขึ้นกับแท็บในอุปกรณ์ และเครือข่าย ในคอนโซล
ฉันจะดูการติดตามที่อยู่ในหน้าเหล่านั้นได้อย่างไร
เราได้ออกแบบส่วน Performance Monitoring ของคอนโซล Firebase ใหม่เพื่อให้แท็บแดชบอร์ด แสดงเมตริกหลักและการติดตามทั้งหมดไว้ในที่เดียว ในการออกแบบใหม่นี้ เราได้นำหน้าในอุปกรณ์ และเครือข่าย ออก
ตารางการติดตามที่ด้านล่างของแท็บแดชบอร์ด มีข้อมูลเดียวกันกับที่แท็บในอุปกรณ์ และเครือข่าย แสดง แต่มีฟีเจอร์เพิ่มเติมบางอย่าง รวมถึงความสามารถในการจัดเรียงการติดตามตามเปอร์เซ็นต์การเปลี่ยนแปลงของเมตริกที่เฉพาะเจาะจง หากต้องการดูเมตริกและข้อมูลทั้งหมด ของการติดตามที่เฉพาะเจาะจง ให้คลิกชื่อการติดตามในตารางการติดตาม
ดูการติดตามในแท็บย่อยต่อไปนี้ของตารางการติดตาม
ร่องรอยคำขอเครือข่าย (ทั้งแบบสำเร็จรูปและแบบกำหนดเอง) — แท็บย่อยคำขอเครือข่าย
การติดตามโค้ดที่กำหนดเอง — แท็บย่อยการติดตามที่กำหนดเอง
การติดตามการเริ่มต้นแอป แอปที่ทำงานอยู่เบื้องหน้า แอปที่ทำงานอยู่เบื้องหลัง — แท็บย่อยการติดตามที่กำหนดเอง
การติดตามการแสดงผลหน้าจอ — แท็บย่อยการแสดงผลหน้าจอ
การติดตามการโหลดหน้าเว็บ — แท็บย่อยการโหลดหน้าเว็บ
ดูรายละเอียดเกี่ยวกับตารางการติดตาม รวมถึงการดูเมตริกและข้อมูลได้ที่หน้าภาพรวมของคอนโซล (iOS+ | Android | Web )
เหตุใดจำนวนเฟรมที่ช้าและค้างจึงไม่เป็นไปตามที่ฉันคาดไว้
เฟรมที่แสดงผลช้าและเฟรมที่ค้างจะคำนวณโดยใช้อัตราการรีเฟรชของอุปกรณ์ที่สมมติขึ้นที่ 60Hz หากอัตราการรีเฟรชของอุปกรณ์ต่ำกว่า 60Hz แต่ละเฟรมจะมีเวลาในการแสดงผลช้าลงเนื่องจากมีการแสดงผลเฟรมน้อยลงต่อวินาที
เวลาในการแสดงผลที่ช้าลงอาจทำให้มีการรายงานเฟรมที่ช้าหรือค้างมากขึ้น เนื่องจากเฟรมจำนวนมากขึ้นจะแสดงผลช้าลงหรือค้าง อย่างไรก็ตาม หากอัตราการรีเฟรชของอุปกรณ์สูงกว่า 60Hz แต่ละเฟรมจะมีเวลาในการแสดงผลที่เร็วขึ้น
ซึ่งอาจทำให้ระบบรายงานเฟรมที่ช้าหรือค้างน้อยลง นี่เป็นข้อจำกัดปัจจุบันใน SDK ของ Performance Monitoring
ฉันจะเพิ่ม Performance Monitoring JS SDK ที่มีขนาดเล็กลงและใช้เนมสเปซ (SDK "สแตนด์อโลน") ลงในเว็บแอปได้อย่างไร
หาก Performance Monitoring เป็นผลิตภัณฑ์ Firebase เพียงรายการเดียวในแอป คุณสามารถใช้ SDK ของ Performance Monitoring แบบสแตนด์อโลน (และสคริปต์ส่วนหัวที่แนะนำด้านล่าง) หากสนใจสิ่งต่อไปนี้
ใช้ไลบรารีที่มีเนมสเปซ
ลดขนาดแพ็กเกจ SDK
การหน่วงเวลาการเริ่มต้น SDK จนกว่าการโหลดหน้าเว็บจะเสร็จ
หากต้องการรวม SDK Performance Monitoring แบบสแตนด์อโลนไว้ในแอปและเลื่อนการเริ่มต้นใช้งานไปเป็นหลังจากที่หน้าเว็บโหลดแล้ว ให้ทำดังนี้
เพิ่มสคริปต์ต่อไปนี้ลงในส่วนหัวของไฟล์ดัชนี
อย่าลืมเพิ่มออบเจ็กต์การกำหนดค่าโปรเจ็กต์ Firebase ของแอป
( function ( sa , fbc ){ function load ( f , c ){ var a = document . createElement ( 'script' );
a . async = 1 ; a . src = f ; var s = document . getElementsByTagName ( 'script' )[ 0 ];
s . parentNode . insertBefore ( a , s );} load ( sa );
window . addEventListener ( 'load' , function (){ firebase . initializeApp ( fbc ) . performance ()});
})( performance_standalone , firebaseConfig );
ที่ไหน
performance_standalone คือ
'https://www.gstatic.com/firebasejs/13.0.0/firebase-performance.js'
firebaseConfig คือออบเจ็กต์การกำหนดค่า Firebase ของแอป
สคริปต์ด้านบนจะโหลด SDK แบบสแตนด์อโลนแบบไม่พร้อมกัน จากนั้นจะเริ่มต้น Firebase หลังจาก เหตุการณ์ onload ของหน้าต่างเริ่มทำงาน กลยุทธ์นี้จะช่วยลดผลกระทบที่ SDK อาจมีต่อเมตริกการโหลดหน้าเว็บ เนื่องจากเบราว์เซอร์ได้รายงานเมตริกการโหลดแล้วเมื่อคุณเริ่มต้น SDK
หมายเหตุ: เมื่อใช้ SDK Performance Monitoring แบบสแตนด์อโลน คุณไม่จำเป็นต้องรวม Firebase Core SDK ไว้อย่างชัดเจน เนื่องจาก SDK แบบสแตนด์อโลนมี Firebase Core SDK ที่มีน้ำหนักเบากว่าอยู่แล้ว
ดูข้อมูลเกี่ยวกับ SDK แบบสแตนด์อโลนของ Performance Monitoring และสคริปต์ส่วนหัว
SDK แบบสแตนด์อโลนนี้ได้รับการเพิ่มประสิทธิภาพด้านขนาด โดยมีขนาดประมาณ 10 KB เมื่อบีบอัดด้วย Gzip ซึ่งมีฟังก์ชันการทำงานทั้งหมดของ Firebase Performance Monitoring พร้อมด้วยฟังก์ชันการทำงานของ Firebase Core SDK ขั้นต่ำด้วย
Firebase Performance Monitoring ใช้ API fetch และ Promise ซึ่งไม่พร้อมใช้งานในเบราว์เซอร์รุ่นเก่า Polyfill สำหรับ API เหล่านี้รวมอยู่ใน Firebase Performance Monitoring JS SDK มาตรฐาน แต่จะถูกละเว้นจาก SDK แบบสแตนด์อโลนเพื่อลดขนาด
SDK Performance Monitoring อาศัย Resource Timing API บางส่วนเพื่อรับเมตริกการโหลดหน้าเว็บจากเบราว์เซอร์
ข้อมูลโค้ดต่อไปนี้จะแยกสคริปต์ส่วนหัวที่มีการเริ่มต้น SDK แล้วหน่วงเวลาการเริ่มต้น SDK
( function ( sdkSource , firebaseConfigObject ) {
function load ( f , c ) {
// Creates a script tag to load the standalone SDK
var sdkScript = document . createElement ( 'script' );
// Sets it to an async script so that it doesn 't interfere with page load
sdkScript . async = 1 ;
// Sets the source of the script
sdkScript . src = f ;
// Inserts the script into the head of the page
var s = document . getElementsByTagName ( 'script' )[ 0 ];
s . parentNode . insertBefore ( sdkScript , s );
}
// Calls the load method
load ( sdkSource );
// Initializes the SDK only when the onload method is called
window . addEventListener ( 'load' , function () {
firebase . initializeApp ( firebaseConfigObject ) . performance ();
});
})( performance_standalone , firebaseConfig );
ที่ไหน
performance_standalone คือ 'https://www.gstatic.com/firebasejs/13.0.0/firebase-performance-standalone.js'
firebaseConfig คือออบเจ็กต์การกำหนดค่า Firebase ของแอป
การประมวลผลและการแสดงข้อมูลแบบเกือบเรียลไทม์
ข้อมูลประสิทธิภาพแบบ "เกือบเรียลไทม์" หมายถึงอะไร
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 เวอร์ชันล่าสุดเสมอ แต่เวอร์ชันที่ระบุไว้ข้างต้นจะช่วยให้ Performance Monitoring ประมวลผลข้อมูลของคุณได้เกือบเรียลไทม์
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 ประมวลผลข้อมูลของคุณได้เกือบเรียลไทม์
จะเกิดอะไรขึ้นหากฉันไม่อัปเดตแอปเพื่อใช้ SDK เวอร์ชันที่เข้ากันได้กับแบบเรียลไทม์
หากแอปไม่ได้ใช้ SDK เวอร์ชันที่เข้ากันได้กับแบบเรียลไทม์ คุณจะยังคงเห็นข้อมูลประสิทธิภาพทั้งหมดของแอปในคอนโซล Firebase อย่างไรก็ตาม การแสดงข้อมูลประสิทธิภาพจะล่าช้าประมาณ 36 ชั่วโมงนับจากเวลาที่รวบรวมข้อมูล
ฉันอัปเดตเป็น SDK เวอร์ชันที่เข้ากันได้กับแบบเรียลไทม์แล้ว แต่ผู้ใช้บางรายยังคงใช้แอปเวอร์ชันเก่าอยู่ ฉันจะยังเห็นข้อมูลประสิทธิภาพของผู้ใช้เหล่านั้นในคอนโซล Firebase ไหม
แน่นอน ไม่ว่าอินสแตนซ์แอปจะใช้ SDK เวอร์ชันใด คุณจะเห็นข้อมูลประสิทธิภาพจากผู้ใช้ทั้งหมด
อย่างไรก็ตาม หากคุณดูข้อมูลล่าสุด (อายุไม่ถึง 36 ชั่วโมง) ข้อมูลที่แสดงจะมาจากผู้ใช้อินสแตนซ์แอปที่ใช้ SDK เวอร์ชันที่เข้ากันได้แบบเรียลไทม์ อย่างไรก็ตาม ข้อมูลที่ไม่ใช่ข้อมูลล่าสุด จะรวมข้อมูลประสิทธิภาพจากแอปทุกเวอร์ชัน
หากคุณติดต่อทีมสนับสนุนของ Firebase โปรดระบุรหัสแอป Firebase ด้วยเสมอ ค้นหารหัสแอป Firebase ในการ์ดแอปของคุณ ในsettings การตั้งค่าโปรเจ็กต์