Microsoft Edge โชว์ Delayed Message Timing API ช่วยนักพัฒนาวัดความล่าช้าในการส่งข้อความของเว็บแอป

Microsoft เพิ่ม API ใหม่สำหรับตรวจจับปัญหาความหน่วงระหว่าง window, iframe และ worker เพื่อเร่งความเร็วเว็บแอปที่มีโครงสร้างซับซ้อน


Microsoft แนะนำ Delayed Message Timing API ฟีเจอร์ใหม่ในกระบวนการพัฒนา Microsoft Edge ซึ่งถูกเสนอให้กับนักพัฒนาเพื่อใช้วิเคราะห์ความล่าช้าในการสื่อสารระหว่างคอนเทกซ์ของเว็บแอป เช่น main window, iframes และ worker threads โดยเฉพาะเว็บแอปที่ซับซ้อนและมีการแลกเปลี่ยนข้อมูลจำนวนมากผ่าน postMessage()

API ใหม่นี้มีเป้าหมายเพื่อตรวจจับว่าความล่าช้าเกิดจากส่วนใดของขั้นตอนการส่งข้อความ ไม่ว่าจะเป็นการค้างในคิว ปริมาณงานสคริปต์ที่ถูกประมวลผลอยู่ หรือการแปลงข้อมูล (serialize–deserialize) ที่กินเวลา ทำให้นักพัฒนาปรับสถาปัตยกรรมเว็บแอปให้ตอบสนองได้ดีขึ้น

ปัญหาความล่าช้าที่ Delayed Message Timing API ช่วยตรวจสอบ

  1. คอนเทกซ์ปลายทางกำลังทำงานหนักจนข้อความต้องรอในคิว หาก thread ปลายทางกำลังประมวลผลงาน synchronous ยาว ข้อความใหม่จะรอในคิวก่อนเริ่มประมวลผล ค่า blockedDuration จะแสดงระยะเวลาที่ข้อความค้างอยู่จริง
  2. Task Queue มีงานจำนวนมากจนเกิดการสะสม แม้งานแต่ละอย่างจะสั้น แต่จำนวนมากสามารถทำให้คิวหนาแน่นได้ เช่น UI events, rendering tasks หรือข้อความจำนวนมากใน worker API จึงแสดงค่า taskCount และ scriptTaskCount เพื่อบอกจำนวนงานที่รออยู่ในคิว
  3. เวลาในการ Serialize และ Deserialize ข้อมูล การส่งข้อมูลขนาดใหญ่ทำให้ทั้งฝั่งส่งและฝั่งรับต้องแปลงข้อมูลก่อนและหลัง ซึ่งกินเวลาแบบ synchronous API ให้ค่าที่ดูได้ผ่าน serialization และ deserialization ว่าความล่าช้าอยู่ในขั้นตอนนี้หรือไม่

รองรับหลายคอนเทกซ์และใช้งานร่วมกับ PerformanceObserver

API รองรับการใช้งานกับ window, iframe, worker, message channel และ broadcast channel โดยจะสร้าง PerformanceEntry สำหรับเหตุการณ์การส่งข้อความแต่ละครั้ง นักพัฒนาสามารถใช้ PerformanceObserver เพื่อดูเวลาที่ข้อความถูกส่ง เวลาที่เริ่มประมวลผล เวลาที่ค้างในคิว และข้อมูลของสคริปต์ที่เกี่ยวข้องทั้งฝั่งส่งและฝั่งรับ

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

เนื่องจาก Delayed Message Timing API ยังอยู่ในสถานะข้อเสนอ (proposal) Microsoft จึงเปิดรับความคิดเห็นจากนักพัฒนาเพื่อช่วยปรับปรุงให้ครอบคลุมกรณีใช้งานจริงมากที่สุด ผู้ที่สนใจสามารถดูรายละเอียดและแสดงความคิดเห็นผ่าน GitHub ของ MSEdgeExplainers

ที่มา: Microsoft

About modify 6487 Articles
สามารถนำบทความไปเผยแพร่ได้อย่างอิสระ โดยกล่าวถึงแหล่งที่มา เป็นลิงค์กลับมายังบทความนั้นๆ บทความอาจมีการพิมพ์ตกเรื่องภาษาไปบ้าง ต้องขออภัย พยามจะพิมพ์ผิดให้น้อยที่สุด (ทำเว็บคนเดียวไม่มีคนตรวจทาน) บทความที่สอนเรื่องต่างๆ กรุณาอ่านบทความให้เข้าใจก่อนโพสต์ถาม ติดตรงไหนสามารถถามได้ที่โพสต์นั้นๆ

Be the first to comment

Leave a Reply

Your email address will not be published.