เกริน เกริ่น เกริ้น …
ว่าด้วยเรื่องของ Error tracking แล้วเนี่ยก็มี Tool มากมาย หรือในบางภาษา หรือเฟรมเวิร์คที่ใช่ ก็อาจจะมี Library ให้ใช้อยู่แล้วก็ได้ ซึ่งบางตัวที่ใช้เมื่อมี Error มาก็จะส่งไปที่อีเมล อีเมล แล้วก็อีเมล แล้วถ้ามีหลายโปรเจคล่ะ ก็ส่งไปที่อีเมล อีเมล อีเมลๆ โอ้นี่ยังไม่รวม อีเมลอื่นๆ อีกนะ ถ้าไม่จัดกลุ่มของอีเมลนี่หากันไม่เจอเลยว่า อันไหนเป็น Error
วันนี้เลยมี Tool อันนึงมาแนะนำ นั่นคือ Sentry.io ที่มีฟีเจอร์การทำงานที่เรียกได้ว่าครบเลยรองรับหลาย Platform และติดตั้งง่ายมากกก แล้ว Sentry.io มีฟีเจอร์ อะไรบ้างไปดูกัน

ปล. ใน Blog นี่ยกมาแค่บางฟีเจอร์เท่านั้นนะ (https://sentry.io/features/)
Issues List

คือรายการของ Issue ที่ถูกส่งมาเมื่อเกิด Error ในระบบเรา ซึ่งบอกได้ด้วยว่า Error กี่ครั้ง และกดกับผู้ใช้กี่คนแล้ว แต่รายละเอียดจริงๆ เนี่ยยังมีอีกเพียบไว้ดูในหัวข้อถัดไปละกัน
Issue Detail
พอกดเข้ามาจากหน้ารายการ ก็จะเจอรายละเอียดต่างๆ ที่ละเอียดมาก เช่น เกิด Issue จากบราวเซอร์อะไร เวอร์ชันไหน ไฟล์ไหน บรรทัดที่เท่าไหร่ URL ไหน บลาๆ นี่แค่เป็นค่าตั้งต้นที่ Sentry กำหนดมาให้นะ
นั่นหมายความว่าเราสามารถ Custom ค่าจะส่งมาบอก Sentry ได้ว่าเราอยากรู้อะไรบ้าง จากรูปข้างต้นจะเห็นว่ามี user id: 1
อยู่ (อยู่ในส่วนของ TAGS) คือเราจะรู้ได้ว่าเกิด Issue กับ User ที่ id เท่ากับ 1


user id: 1
ที่พูดถึงUser Feedback

นอกจากจะ Error Tracking แล้วผู้ใช้สามารถส่ง Feedback มาที่ Sentry ได้ ซึ่งทาง Sentry จะมี javaScript ให้แปะบนเว็บของเรา (กรณี Web platform) แล้วก็เขียน Click Event นิดหน่อย ส่วนนี้ก็ใช้งานได้แล้ว
Release

จากรูปด้านบนนี้กำหนดไว้ว่า เป็น Release v0.5
ซึ่งสามารถกำหนดได้ในโค้ด แต่ถ้าไม่กำหนด จะใช้เลข Commit แทน
ซึ่งส่วนนี้ถือว่าดีเลยทีเดียว จะทำให้เรารู้ได้ว่าแต่ละ Release เรามี Issue มากน้อยแค่ไหน
Slack Integration

ตามหัวข้อเลยก็คือนำไปใช้ร่วมกับ Slack เมื่อมี Issue ก็จะ push ไปที่ Slack แต่เราก็สามารถกำหนดได้ว่า จะให้ push ไปที่ Slack เมื่อเป็น Issue แบบไหน และกำหนด Channel ที่จะ push ไปได้เช่นกัน

ตัวอย่างการ Push ไปที่ Slack ซึ่งสามารถ กด Resolve
หรือ Ignore
ได้ด้วย และสามารถ Assign ให้กับคน หรือทีมได้

Github Integration

เมื่อมาใช้ร่วมกับ Github แล้วก็ไม่พ้นว่าต้องเกี่ยวกับ Code หรือ Commit แน่นอน ซึ่ง ณ ปัจจุบันยัง Resolve Issue จากการแก้โค้ดไม่ได้ แต่ Resolve ได้จาก Commit message ว่าต้องมี fixes ISSUE_ID
ใน Commit message เช่น [fixes SAMPLE-PROJECT-1]
เมื่อ Push ขึ้นไป Issue ก็จะ Resolve ให้โดยเองอัตโนมัติ ซึ่งก็ถือว่าสะดวกสบายพอสมควรเลยแหละ