มาทำความรู้จักกับ Laravel Pulse
-thumb.jpg)
Laravel Pulse เป็น Package ใหม่ที่เพิ่งถูกเปิดตัวใหม่ในงาน Laracon AU ในวันที่ 16 พ.ย. 66 ที่ผ่านมา เป็นเครื่องมือสำหรับ Health และ Performance Monitoring สำหรับ Laravel Application ที่ปล่อยออกมาให้ใช้ได้ Free และเป็น Open Source โดย Laravel Pulse ถูกพัฒนาโดยใช้ Laravel Livewire
ความสามารถเบื้องต้นของ Laravel Pulse
Slow Route
แสดงภาพรวมการทำงานของ Laravel Application ของเราว่า มี route ทำงานช้า เป็น bottleneck บ้าง แสดง Endpoint ที่ทำงานช้าสุด, query, jobs รวมถึง request ที่มีการส่งออกไปจากเวปเราด้วย
Slow Query
นอกจาก Slow route แล้ว Pulse ยังสามารถ log query ที่ทำงานช้าให้เราได้อีกโดย โดยสามารถแสดงเป็น Raw SQL เลยทีเดียว
เครดิต Zayn Buksh
การใช้งาน Application
สามารถแสดงได้ว่า ผู้ใช้คนไหน ส่ง request เข้ามาในเวปเราบ่อยสุดบ้าง หรือมีการใช้งาน End point ที่ทำงานช้า รวมถึงมีการ dispatch job ใน app ของเรามากสุดด้วย ฟีเจอร์นี้ยิ่งเหมาะมาก ๆ ถ้าหากเราใช้ Laravel เป็น backend สำหรับ frontend ที่มีการเรียก api มาที่เวปเรา สามารถรู้ได้เลยว่า user คนไหนมีการเรียก api มาที่เวปเราแบบผิดปกติ
ติดตามการใช้งาน Cache และ Hit Rate
เราสามารถทำการ group cache ตาม regular expression ได้ตามชื่อ cache key ที่เราตั้งไว้
สามารถติดตั้งได้ Laravel Pulse ได้ผ่าน Composer Package
Laravel Pulse เป็น composer package สำหรับ Laravel ที่สามารถติดตั้งได้แบบ self-hosted
รองรับ Light Theme และ Dark Theme
Laravel Pulse รองรับการใช้งานได้ทั้งแบบ Dark Mode และ Light Mode
ภาพจาก Zayn Buksh
ทำการ Monitor application ที่ run อยู่บนหลาย Server ได้
Laravel Pulse ถูกออกแบบมาเพื่อให้ monitor application เดียว แต่ Pulse สามารถ run อยู่บน Server หลาย ๆ เครื่องได้ ดังนั้นเราจึงสามารถ monitor server ของเราทั้งหมดที่ run ผ่านการ load balancing ได้ โดย Laravel Forge เองก็มีการใช้งาน Pulse เป็นเบื้องหลังอยู่แล้วและมีการจัดการ requests เป็นล้านครั้งโดยไม่ต้องมีการ sampling ข้อมูลเลยทีเดียว
โดย Pulse สามารถ แสดงปริมาณการใช้ CPU, Memory และ Disk Usage ได้
ตรวจสอบการทำงาน Queue
ถ้าระบบของเรามีการเขียน job เพื่อทำงานใน background เราสามารถใช้ pulse เพื่อแสดงการทำงานของ queue worker ในระบบของเราได้ สามารถแสดง สถิติแบบ real time และประวัติย้อนหลัง ดูว่า job ไหนรอทำงานอยู่ มีการ failed กี่ครั้ง และ job ทำงานสำเร็จไปแล้วเท่าไหร่
Dashboard ที่สามารถทำการ Full Customization ได้ทั้งหมด
Laravel Pulse เป็น Package ที่เขียนบน Livewire ดังนั้นเราจึงสามารถทำการ customize หน้า Dashboard บน Laravel Pulse เพิ่มเองได้ โดยการสร้างหน้า view Dashboard ขึ้นมาเป็น Livewire component เป็น card ที่ไว้แสดงสถิติที่เกี่ยวข้องกับเวปของเราเองได้เลย
ที่มา
- สามารถชม stream การเปิดตัว Laravel Pulse โดย @Jessarchercodes ได้ที่ Youtube นี้เลยครับ