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


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

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

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

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

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

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

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

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

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

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

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

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

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

หากคุณเพิ่งเริ่มต้นใช้งาน Performance Monitoring (iOS+ | Android | Web) เคล็ดลับในการแก้ปัญหาต่อไปนี้ จะช่วยแก้ไขปัญหาที่เกี่ยวข้องกับ 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ไม่ได้ปิดใช้การรวบรวมข้อมูลผ่านแฟล็กต่อไปนี้

    • performance.dataCollectionEnabled

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

  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 เพียงอย่างเดียวในแอป คุณสามารถใช้ SDK ของ Performance Monitoring แบบสแตนด์อโลน (และสคริปต์ส่วนหัวที่แนะนําด้านล่าง) ได้หากสนใจสิ่งต่อไปนี้

  • การใช้ไลบรารีที่มีเนมสเปซ
  • การลดขนาดแพ็กเกจ 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 ใช้ API ของ fetch และ Promise ซึ่งไม่พร้อมใช้งานในเบราว์เซอร์รุ่นเก่า Polyfill สำหรับ 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 เวอร์ชันที่เข้ากันได้แบบเรียลไทม์

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

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

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

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

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

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