การแก้ปัญหาและคำถามที่พบบ่อยเกี่ยวกับการตรวจสอบประสิทธิภาพและ


หน้านี้มีเคล็ดลับการแก้ปัญหาเกี่ยวกับการเริ่มต้นใช้งาน Performance Monitoring หรือการใช้ฟีเจอร์และเครื่องมือของ Performance Monitoring

การตรวจสอบเพื่อแก้ปัญหาเบื้องต้น

การตรวจสอบ 2 รายการต่อไปนี้เป็นแนวทางปฏิบัติแนะนำทั่วไปที่แนะนำให้ทุกคนทำก่อนแก้ปัญหาเพิ่มเติม

1. ตรวจสอบข้อความบันทึกเพื่อหาเหตุการณ์ด้านประสิทธิภาพ

ตรวจสอบข้อความบันทึกเพื่อให้แน่ใจว่า Performance Monitoring SDK กําลังบันทึกเหตุการณ์ประสิทธิภาพ

  1. เปิดเครื่องมือสําหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์ (เช่น แท็บเครือข่ายสําหรับเครื่องมือสําหรับนักพัฒนาซอฟต์แวร์ Chrome หรือในเครื่องมือตรวจสอบเครือข่ายสําหรับ Firefox)

  2. รีเฟรชเว็บแอปในเบราว์เซอร์

  3. ตรวจสอบข้อความบันทึกเพื่อหาข้อความแสดงข้อผิดพลาด

  4. หลังจากผ่านไป 2-3 วินาที ให้มองหาการเรียกใช้เครือข่ายเพื่อไปที่ firebaselogging.googleapis.com ในเครื่องมือสําหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์ การเรียกใช้เครือข่ายดังกล่าวแสดงให้เห็นว่าเบราว์เซอร์ส่งข้อมูลประสิทธิภาพไปยัง Firebase

หากแอปไม่ได้บันทึกเหตุการณ์ด้านประสิทธิภาพ โปรดดูเคล็ดลับการแก้ปัญหา

2. ตรวจสอบแดชบอร์ดสถานะ Firebase

ตรวจสอบหน้าแดชบอร์ดสถานะ Firebase ในกรณีที่ทราบว่า Firebase หรือ Performance Monitoring หยุดให้บริการ

การเริ่มต้นใช้งาน Performance Monitoring

หากคุณเพิ่งเริ่มต้นใช้งาน Performance Monitoring (iOS+ | Android | เว็บ) เคล็ดลับการแก้ปัญหาต่อไปนี้จะช่วยแก้ปัญหาที่เกี่ยวข้องกับ Firebase ที่ตรวจหา SDK หรือแสดงข้อมูลประสิทธิภาพครั้งแรกในคอนโซล Firebase

Firebase จะตรวจจับได้ว่าคุณเพิ่ม Performance Monitoring SDK ลงในแอปเรียบร้อยแล้วหรือไม่เมื่อได้รับข้อมูลเหตุการณ์ (เช่น การโต้ตอบของแอป) จากแอปของคุณ โดยปกติแล้วภายใน 10 นาทีหลังจากเริ่มแอป แดชบอร์ดประสิทธิภาพของคอนโซล Firebase จะแสดงข้อความ "ตรวจพบ SDK" จากนั้นภายใน 30 นาที แดชบอร์ดจะแสดงข้อมูลที่ประมวลผลเบื้องต้น

หากผ่านไปนานกว่า 10 นาทีแล้วนับตั้งแต่ที่คุณเพิ่ม SDK เวอร์ชันล่าสุดลงในแอป แต่คุณยังไม่เห็นการเปลี่ยนแปลงใดๆ ให้ตรวจสอบข้อความบันทึกเพื่อให้แน่ใจว่า Performance Monitoring บันทึกเหตุการณ์อยู่ ลองทำตามขั้นตอนการแก้ปัญหาที่เหมาะสมตามที่อธิบายไว้ด้านล่างเพื่อแก้ปัญหาข้อความการตรวจหา SDK ที่ล่าช้า

  1. หากคุณยังพัฒนาในเครื่องอยู่ ให้ลองสร้างเหตุการณ์เพิ่มเติมสําหรับการเก็บรวบรวมข้อมูล ดังนี้

    1. แสดงและดูเว็บแอปในสภาพแวดล้อมในเครื่อง

    2. สร้างเหตุการณ์โดยการโหลดหน้าย่อยสําหรับเว็บไซต์ การโต้ตอบกับแอป และ/หรือการเรียกคําขอเครือข่าย โปรดเปิดแท็บเบราว์เซอร์ไว้อย่างน้อย 10 วินาทีหลังจากโหลดหน้าเว็บ

  2. ตรวจสอบว่าได้เพิ่มออบเจ็กต์การกําหนดค่า Firebase ลงในแอปอย่างถูกต้องและคุณไม่ได้แก้ไขออบเจ็กต์ โดยให้ตรวจสอบสิ่งต่อไปนี้

    • รหัสแอปเว็บ Firebase (appId) ในออบเจ็กต์การกําหนดค่าถูกต้องสําหรับแอปของคุณ ค้นหารหัสแอป Firebase ในการ์ดแอปของคุณของ การตั้งค่าโปรเจ็กต์

    หากมีข้อผิดพลาดเกี่ยวกับออบเจ็กต์การกําหนดค่าในแอป ให้ลองทำดังนี้

    1. ลบออบเจ็กต์การกําหนดค่าที่คุณมีอยู่ในแอป

    2. ทำตามวิธีการเหล่านี้เพื่อรับออบเจ็กต์การกําหนดค่าใหม่และเพิ่มลงในเว็บแอป

  3. หาก SDK บันทึกเหตุการณ์และดูเหมือนว่าทุกอย่างจะตั้งค่าอย่างถูกต้องแล้ว แต่คุณยังไม่เห็นข้อความการตรวจหา SDK หรือข้อมูลที่ประมวลผลแล้ว (หลังจากผ่านไป 2 ชั่วโมง) โปรดติดต่อทีมสนับสนุนของ Firebase

  1. ตรวจสอบว่า Performance Monitoring SDK เริ่มต้นอย่างถูกต้องในแอป

  2. ตรวจสอบว่า Performance Monitoring SDK ไม่ได้ปิดใช้ผ่านแฟล็กต่อไปนี้

    • performance.instrumentationEnabled
  3. ตรวจสอบว่าแคชของเบราว์เซอร์ปิดอยู่ ไม่เช่นนั้นเบราว์เซอร์อาจไม่รับการตั้งค่าเครื่องมือวัดใหม่

  4. ปิดแล้วเปิดแท็บหน้าเว็บอีกครั้ง ตรวจสอบการบันทึกอีกครั้ง

    หากคุณเพิ่งเพิ่ม Performance Monitoring SDK ในแอป คุณอาจต้องรีบูตแอปโดยสมบูรณ์เพื่อให้ SDK เริ่มทํางาน

  5. หากไม่พบรายการใดที่ปิดใช้ในแอป ให้ติดต่อทีมสนับสนุน Firebase

Performance Monitoring จะประมวลผลข้อมูลเหตุการณ์ประสิทธิภาพก่อนที่จะแสดงในแดชบอร์ดประสิทธิภาพ

หากผ่านไปนานกว่า 24 ชั่วโมงนับตั้งแต่ที่ข้อความ "ตรวจพบ SDK" ปรากฏขึ้น แต่คุณยังไม่เห็นข้อมูล ให้ตรวจสอบหน้าแดชบอร์ดสถานะของ Firebase ในกรณีที่มีการหยุดทำงานที่ทราบ หากไม่มีการหยุดทำงาน โปรดติดต่อทีมสนับสนุน Firebase

การแก้ปัญหาทั่วไป

หากคุณเพิ่ม SDK และกำลังใช้ Performance Monitoring ในแอปเรียบร้อยแล้ว เคล็ดลับการแก้ปัญหาต่อไปนี้จะช่วยแก้ปัญหาทั่วไปที่เกี่ยวข้องกับฟีเจอร์และเครื่องมือของ Performance Monitoring

หากไม่เห็นข้อความบันทึกสําหรับเหตุการณ์ด้านประสิทธิภาพ ให้ลองทําตามขั้นตอนการแก้ปัญหาต่อไปนี้

  1. ตรวจสอบว่า Performance Monitoring SDK เริ่มต้นอย่างถูกต้องในแอป

  2. ตรวจสอบว่า Performance Monitoring SDK ไม่ได้ปิดใช้ผ่านแฟล็กต่อไปนี้

    • performance.instrumentationEnabled
  3. ตรวจสอบว่าแคชของเบราว์เซอร์ปิดอยู่ ไม่เช่นนั้นเบราว์เซอร์อาจไม่รับการตั้งค่าเครื่องมือวัดใหม่

  4. ปิดแล้วเปิดแท็บหน้าเว็บอีกครั้ง ตรวจสอบการบันทึกอีกครั้ง

    หากคุณเพิ่งเพิ่ม Performance Monitoring SDK ในแอป คุณอาจต้องรีบูตแอปโดยสมบูรณ์เพื่อให้ SDK เริ่มทํางาน

  5. หากไม่พบรายการใดที่ปิดใช้ในแอป ให้ติดต่อทีมสนับสนุน Firebase

หากไม่เห็นข้อมูลสำหรับเมตริกเวลาในการตอบสนองของอินพุตครั้งแรก ให้ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้

  1. โปรดทราบว่า Performance Monitoring จะบันทึกเฉพาะเมตริกเวลาหน่วงของอินพุตแรกเมื่อผู้ใช้คลิกหน้าเว็บภายใน 5 วินาทีแรกหลังจากโหลดหน้าเว็บ

  2. ตรวจสอบว่าคุณได้ตั้งค่าแอปให้วัดเมตริกนี้แล้ว เมตริกความล่าช้าในการอินพุตครั้งแรกต้องตั้งค่าด้วยตนเอง กล่าวโดยละเอียดคือ คุณต้องเพิ่มไลบรารี polyfill สําหรับเมตริกนี้ ดูวิธีการติดตั้งได้จากเอกสารประกอบของไลบรารี

    โปรดทราบว่าคุณไม่จำเป็นต้องเพิ่มไลบรารี polyfill นี้เพื่อให้ Performance Monitoring รายงานเมตริกอื่นๆ ของเว็บแอป

คุณเห็นข้อมูลประสิทธิภาพของร่องรอยที่รวบรวมโดยอัตโนมัติแต่ไม่เห็นร่องรอยของโค้ดที่กําหนดเองใช่ไหม ลองทำตามขั้นตอนการแก้ปัญหาต่อไปนี้

  1. ตรวจสอบการตั้งค่าการติดตามโค้ดที่กําหนดเองซึ่งติดตั้งใช้งานผ่าน Trace API โดยเฉพาะอย่างยิ่งรายการต่อไปนี้

    • ชื่อการติดตามโค้ดที่กำหนดเองและเมตริกที่กำหนดเองต้องเป็นไปตามข้อกำหนดต่อไปนี้ นั่นคือ ไม่มีอักขระเว้นวรรคนำหน้าหรือตามหลัง ไม่มีอักขระขีดล่าง (_) นำหน้า และความยาวสูงสุดคือ 32 อักขระ
    • ต้องเริ่มและหยุดการติดตามทั้งหมด ระบบจะไม่บันทึกการติดตามที่ไม่ได้เริ่ม ไม่ได้หยุด หรือหยุดก่อนเริ่ม

    โปรดทราบว่าหากใช้เมธอด record() คุณไม่จำเป็นต้องเริ่มหรือหยุดการติดตามอย่างชัดเจน

  2. ตรวจสอบว่าPerformance Monitoringไม่ได้ปิดใช้การรวบรวมข้อมูลผ่าน Flag ต่อไปนี้

    • performance.dataCollectionEnabled

      Flag นี้จะควบคุมการเก็บรวบรวมข้อมูลสําหรับการติดตามโค้ดที่กําหนดเองเท่านั้น (ไม่ใช่ข้อมูลทั้งหมด)

  3. ตรวจสอบข้อความบันทึกเพื่อให้แน่ใจว่า Performance Monitoring บันทึกการติดตามโค้ดที่กำหนดเองตามที่คาดไว้

  4. หาก Performance Monitoring บันทึกเหตุการณ์ แต่ไม่มีข้อมูลแสดงหลังจากผ่านไป 24 ชั่วโมง ให้ติดต่อทีมสนับสนุน Firebase

หากคุณไม่มีข้อมูลคําขอเครือข่าย โปรดคำนึงถึงสิ่งต่อไปนี้

  • Performance Monitoring จะรวบรวมเมตริกสําหรับคําขอเครือข่ายที่รายงานโดย API ของเบราว์เซอร์โดยอัตโนมัติ รายงานเหล่านี้ไม่รวมคำขอเครือข่ายที่ไม่สำเร็จ

  • Performance Monitoring อาจรายงานเฉพาะคำขอเครือข่ายที่เสร็จสมบูรณ์ ทั้งนี้ขึ้นอยู่กับลักษณะการทำงานของโค้ดและไลบรารีการทํางานของเครือข่ายที่โค้ดใช้ ซึ่งหมายความว่าระบบอาจไม่รายงานการเชื่อมต่อ HTTP/S ที่เปิดอยู่

ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ Performance Monitoring รวมข้อมูลคําขอเครือข่ายใน URL รูปแบบต่างๆ

นอกจากนี้ คุณยังลองใช้รูปแบบ URL ที่กำหนดเองได้ด้วย

คำถามที่พบบ่อย

เราได้แทนที่ปัญหายอดนิยมด้วยการแจ้งเตือนล่าสุดเพื่อติดตามการเปิดตัวการแจ้งเตือนเมื่อเร็วๆ นี้ ซึ่งจะแจ้งให้คุณทราบโดยอัตโนมัติเมื่อเกิดเหตุการณ์เกินเกณฑ์ที่ตั้งไว้ เราเลิกใช้งานปัญหาแล้ว และแทนที่ด้วยคำเตือน

เครื่องมือเลือกแอปที่ด้านบนของการ์ดประสิทธิภาพจะกรองรายการการแจ้งเตือนในส่วนการแจ้งเตือนล่าสุด ระบบจะแสดงเฉพาะการแจ้งเตือน 3 รายการล่าสุดสำหรับแอปที่เลือก

ดูข้อมูลเพิ่มเติมเกี่ยวกับการแจ้งเตือนได้ที่หัวข้อตั้งค่าการแจ้งเตือนสำหรับปัญหาด้านประสิทธิภาพ

Performance Monitoring รองรับการแจ้งเตือนสําหรับเมตริกที่เกินเกณฑ์ที่กําหนด เราได้นําความสามารถในการกําหนดค่าเกณฑ์สําหรับปัญหาออกเพื่อไม่ให้เกิดความสับสนกับเกณฑ์ที่กําหนดค่าได้เหล่านี้สําหรับเมตริกประสิทธิภาพ

เราได้แทนที่หน้ารายละเอียดและเมตริกด้วยอินเทอร์เฟซผู้ใช้ (UI) แบบรวมที่ออกแบบใหม่เพื่อปรับปรุงวิธีแก้ปัญหา UI การแก้ปัญหาแบบใหม่นี้จะมีฟังก์ชันหลักเหมือนกับรายละเอียดและเมตริก ดูข้อมูลเพิ่มเติมเกี่ยวกับการแก้ปัญหาได้ที่หัวข้อดูข้อมูลเพิ่มเติมสำหรับการติดตามที่เฉพาะเจาะจง

Performance Monitoring รวบรวมข้อมูลประสิทธิภาพจากอุปกรณ์ของผู้ใช้แอป หากแอปพลิเคชันมีผู้ใช้จํานวนมากหรือแอปสร้างกิจกรรมด้านประสิทธิภาพจํานวนมาก Performance Monitoring อาจจํากัดการเก็บรวบรวมข้อมูลไว้เฉพาะอุปกรณ์บางส่วนเพื่อลดจํานวนเหตุการณ์ที่ประมวลผล ขีดจํากัดเหล่านี้สูงพอที่แม้ว่าจะมีเหตุการณ์น้อยลง แต่ค่าเมตริกจะยังคงแสดงถึงประสบการณ์การใช้งานแอปของผู้ใช้

Performance Monitoring ใช้ตัวเลือกการสุ่มตัวอย่างต่อไปนี้เพื่อจัดการปริมาณข้อมูลที่รวบรวม

  • การจำกัดอัตราในอุปกรณ์: เราจำกัดจำนวนการติดตามโค้ดและคำขอเครือข่ายที่ส่งจากอุปกรณ์ไว้ที่ 300 เหตุการณ์ทุก 10 นาทีเพื่อป้องกันไม่ให้อุปกรณ์ส่งการติดตามจำนวนมากในทันที แนวทางนี้ช่วยปกป้องอุปกรณ์จากเครื่องมือวัดผลแบบวนซ้ำที่ส่งข้อมูลประสิทธิภาพจํานวนมาก และป้องกันไม่ให้อุปกรณ์เครื่องเดียวบิดเบือนการวัดประสิทธิภาพ

  • การสุ่มตัวอย่างแบบไดนามิก: Performance Monitoring จะรวบรวมการติดตามโค้ดและการติดตามคําขอเครือข่ายจํานวนจํากัดต่อแอปทุกวันในผู้ใช้แอปทั้งหมด ระบบจะดึงข้อมูลอัตราการสุ่มตัวอย่างแบบไดนามิกในอุปกรณ์ (โดยใช้ Firebase Remote Config) เพื่อระบุว่าอุปกรณ์แบบสุ่มควรบันทึกและส่งร่องรอยหรือไม่ อุปกรณ์ที่ไม่ได้เลือกสําหรับการสุ่มตัวอย่างจะไม่ส่งเหตุการณ์ใดๆ อัตราการสุ่มตัวอย่างแบบไดนามิกจะเจาะจงแอปและปรับเพื่อให้ปริมาณข้อมูลทั้งหมดที่รวบรวมอยู่ต่ำกว่าขีดจํากัด

    เซสชันของผู้ใช้จะส่งข้อมูลเพิ่มเติมโดยละเอียดจากอุปกรณ์ของผู้ใช้ ซึ่งต้องใช้ทรัพยากรเพิ่มเติมในการบันทึกและส่งข้อมูล Performance Monitoring อาจจำกัดจำนวนเซสชันด้วยเพื่อลดผลกระทบต่อเซสชันของผู้ใช้

  • การจำกัดอัตราการส่งข้อมูลฝั่งเซิร์ฟเวอร์: Performance Monitoring อาจใช้การสุ่มตัวอย่างฝั่งเซิร์ฟเวอร์เพื่อทิ้งเหตุการณ์บางอย่างที่ได้รับจากอุปกรณ์ เพื่อให้มั่นใจว่าแอปจะไม่ส่งข้อมูลเกินขีดจํากัดการสุ่มตัวอย่าง แม้ว่าการจํากัดประเภทนี้จะไม่เปลี่ยนแปลงประสิทธิภาพของเมตริก แต่อาจทําให้รูปแบบมีการเปลี่ยนแปลงเล็กน้อย ซึ่งรวมถึงการเปลี่ยนแปลงต่อไปนี้

    • จํานวนการติดตามอาจแตกต่างจากจํานวนครั้งที่มีการเรียกใช้โค้ด
    • แต่ละร่องรอยที่เชื่อมโยงกันอย่างใกล้ชิดในโค้ดอาจมีจำนวนตัวอย่างต่างกัน

เราได้แทนที่แท็บปัญหาด้วยการเปิดตัวการแจ้งเตือน ซึ่งจะแจ้งให้คุณทราบโดยอัตโนมัติเมื่อมีการใช้จ่ายเกินเกณฑ์ที่ตั้งไว้ คุณไม่จําเป็นต้องตรวจสอบคอนโซล Firebase ด้วยตนเองเพื่อดูสถานะของเกณฑ์อีกต่อไป ดูข้อมูลเกี่ยวกับการแจ้งเตือนได้ที่ตั้งค่าการแจ้งเตือนปัญหาด้านประสิทธิภาพ

เราได้ออกแบบส่วน Performance Monitoring ของคอนโซล Firebase ใหม่เพื่อให้แท็บหน้าแดชบอร์ดแสดงเมตริกหลักและการติดตามทั้งหมดของคุณในพื้นที่เดียว ในการปรับปรุงครั้งนี้ เราได้นำหน้าในอุปกรณ์และหน้าเครือข่ายออก

ตารางการติดตามที่ด้านล่างของแท็บแดชบอร์ดมีข้อมูลทั้งหมดเหมือนกับที่แท็บในอุปกรณ์และเครือข่ายแสดง แต่มีฟีเจอร์เพิ่มเติมบางอย่าง รวมถึงความสามารถในการจัดเรียงการติดตามตามเปอร์เซ็นต์การเปลี่ยนแปลงของเมตริกที่เฉพาะเจาะจง หากต้องการดูเมตริกและข้อมูลทั้งหมดของการติดตาม ให้คลิกชื่อการติดตามในตารางการติดตาม

ดูการติดตามในแท็บย่อยต่อไปนี้ของตารางการติดตาม

  • การติดตามคำขอเครือข่าย (ทั้งแบบสำเร็จรูปและแบบกําหนดเอง) — แท็บย่อยคําขอเครือข่าย
  • การติดตามโค้ดที่กำหนดเอง — แท็บย่อยการติดตามที่กำหนดเอง
  • การเริ่มต้นแอป แอปที่ทำงานอยู่เบื้องหน้า แอปที่ทำงานอยู่เบื้องหลัง — แท็บย่อยการติดตามที่กําหนดเอง
  • การติดตามการแสดงผลของหน้าจอ — แท็บย่อยการแสดงผลของหน้าจอ
  • การติดตามการโหลดหน้าเว็บ — แท็บย่อยการโหลดหน้าเว็บ

ดูรายละเอียดเกี่ยวกับตารางการติดตาม รวมถึงการดูเมตริกและข้อมูลได้ที่หน้าภาพรวมของคอนโซล (iOS+ | Android | เว็บ)

ระบบจะคำนวณเฟรมที่แสดงผลช้าและเฟรมที่ค้างโดยใช้อัตราการรีเฟรชของอุปกรณ์ที่สมมติไว้ที่ 60Hz หากอัตราการรีเฟรชของอุปกรณ์ต่ำกว่า 60Hz แต่ละเฟรมจะมีเวลาในการแสดงผลช้าลงเนื่องจากมีการแสดงผลเฟรมต่อวินาทีน้อยลง เวลาในการเรนเดอร์ที่ช้าลงอาจทำให้ระบบรายงานเฟรมที่ช้าหรือค้างมากขึ้นเนื่องจากเฟรมจำนวนมากขึ้นจะแสดงผลช้าลงหรือค้าง อย่างไรก็ตาม หากอัตราการรีเฟรชของอุปกรณ์สูงกว่า 60Hz เฟรมแต่ละเฟรมจะมีเวลาในการเรนเดอร์เร็วขึ้น ซึ่งอาจทำให้ระบบรายงานเฟรมที่ช้าหรือค้างน้อยลง นี่เป็นข้อจํากัดปัจจุบันใน Performance Monitoring SDK

หาก Performance Monitoring เป็นผลิตภัณฑ์ Firebase เพียงรายการเดียวในแอป คุณจะใช้ Performance Monitoring SDK แบบสแตนด์อโลน (และสคริปต์ส่วนหัวที่แนะนําด้านล่าง) ได้หากสนใจสิ่งต่อไปนี้

  • การใช้ไลบรารีที่มีเนมสเปซ
  • การลดขนาดแพ็กเกจ SDK
  • หน่วงเวลาการเริ่มต้น SDK จนกว่าหน้าเว็บจะโหลด
แบบสแตนด์อโลนได้ด้วย

หากต้องการรวม Performance Monitoring SDK แบบสแตนด์อโลนในแอปและเลื่อนเวลาเริ่มต้นใช้งานไว้หลังโหลดหน้าเว็บ ให้ทำดังนี้

  1. เพิ่มสคริปต์ต่อไปนี้ลงในส่วนหัวของไฟล์ดัชนี
  2. อย่าลืมเพิ่มออบเจ็กต์การกําหนดค่าโปรเจ็กต์ 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);

ที่ไหน

สคริปต์ข้างต้นจะโหลด SDK แบบสแตนด์อโลนแบบไม่พร้อมกัน จากนั้นจะเริ่มต้น Firebase หลังจากเหตุการณ์ onload ของหน้าต่างเริ่มทํางาน กลยุทธ์นี้ช่วยลดผลกระทบที่ SDK อาจมีต่อเมตริกการโหลดหน้าเว็บ เนื่องจากเบราว์เซอร์ได้รายงานเมตริกการโหลดแล้วเมื่อคุณเริ่มต้น SDK

SDK แบบสแตนด์อโลนนี้ได้รับการเพิ่มประสิทธิภาพด้านขนาด โดยจะมีขนาดประมาณ 10 KB เมื่อใช้การบีบอัดข้อมูลด้วย Gzip โดยจะมีฟังก์ชันการทำงานทั้งหมดของ Firebase Performance Monitoring พร้อมกับชุดฟังก์ชันการทํางานของ Firebase Core SDK เพียงชุดเล็กๆ ด้วย

Firebase Performance Monitoring ใช้ fetch และ Promise API ซึ่งไม่พร้อมใช้งานในเบราว์เซอร์รุ่นเก่า โพลีฟิลล์สําหรับ API เหล่านี้รวมอยู่ใน Firebase Performance Monitoring JS SDK มาตรฐาน แต่ไม่ได้รวมอยู่ใน SDK แบบสแตนด์อโลนเพื่อลดขนาด

Performance Monitoring SDK อาศัย Resource Timing API บางส่วนในการรับเมตริกการโหลดหน้าเว็บจากเบราว์เซอร์

ข้อมูลโค้ดต่อไปนี้จะแสดงรายละเอียดสคริปต์ส่วนหัวที่มีการกำหนดค่า 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);

ที่ไหน

การประมวลผลและการแสดงข้อมูลแบบเกือบเรียลไทม์

Firebase Performance Monitoring จะประมวลผลข้อมูลประสิทธิภาพที่รวบรวมได้ทันทีที่ได้รับ ซึ่งส่งผลให้ข้อมูลแสดงแบบเกือบเรียลไทม์ในคอนโซล Firebase ข้อมูลที่ประมวลผลแล้วจะแสดงในคอนโซลภายในไม่กี่นาทีหลังจากรวบรวมข้อมูล จึงเป็นที่มาของคำว่า "เกือบเรียลไทม์"

หากต้องการใช้ประโยชน์จากการประมวลผลข้อมูลแบบเกือบเรียลไทม์ โปรดตรวจสอบว่าแอปใช้ SDK เวอร์ชันที่เข้ากันได้แบบเรียลไทม์

หากต้องการใช้ประโยชน์จากการประมวลผลข้อมูลแบบเกือบเรียลไทม์ เพียงตรวจสอบว่าแอปใช้ 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 เวอร์ชันต่อไปนี้เข้ากันได้กับการประมวลผลข้อมูลแบบเรียลไทม์

  • 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 เวอร์ชันที่เข้ากันได้แบบเรียลไทม์ คุณจะยังคงเห็นข้อมูลประสิทธิภาพทั้งหมดของแอปในคอนโซล Firebase อย่างไรก็ตาม การแสดงข้อมูลประสิทธิภาพจะล่าช้าประมาณ 36 ชั่วโมงนับจากเวลาที่รวบรวม

แน่นอน คุณจะดูข้อมูลประสิทธิภาพจากผู้ใช้ทั้งหมดได้ ไม่ว่าอินสแตนซ์แอปจะใช้ SDK เวอร์ชันใดก็ตาม

อย่างไรก็ตาม หากคุณกําลังดูข้อมูลล่าสุด (มีอายุน้อยกว่า 36 ชั่วโมง) ข้อมูลที่แสดงจะมาจากผู้ใช้อินสแตนซ์แอปที่ใช้ SDK เวอร์ชันที่เข้ากันได้แบบเรียลไทม์ อย่างไรก็ตาม ข้อมูลที่ไม่ใหม่จะรวมข้อมูลประสิทธิภาพจากแอปทุกเวอร์ชัน

การติดต่อทีมสนับสนุน Firebase

หากคุณติดต่อทีมสนับสนุนของ Firebase ให้ระบุรหัสแอป Firebase เสมอ ค้นหารหัสแอป Firebase ในการ์ดแอปของคุณของการตั้งค่าโปรเจ็กต์