เพิ่งเห็นว่าใน Google Cloud นั้นมีบริการที่ชื่อว่า Cloud Trace
สำหรับการจัดการเรื่องของ distributed tracing ให้ใช้งานแบบง่าย ๆ
ดูการทำงานในส่วนต่าง ๆ ว่าเป็นอย่างไร
รวมไปถึงการหาคอขวดของระบบงานอีกด้วย
ที่สำคัญสามารถสร้างกฏในการตรวจสอบปัญหาแบบอัตโนมัติให้อีกด้วย
ส่วน project ที่อยู่บน App Engine จะทำการจัดเก็บให้แบบอัตโนมัติ
รวมทั้งสามารถทำงานร่วมกับ Zipkin ได้เลย
ลืมบอกไปว่า ทำงานผ่าน StackDriver นั่นเองที่เก็บทั้ง logging, metric และ tracing
นี่มันคือ Observability system เลย
การใช้งานนั้นสามารถดูได้ที่ Document :: Cloud Trace
มาลองสร้างระบบงานตัวอย่างเพื่อใช้งานกันดีกว่า
เพื่อส่งข้อมูล tracing มายัง Cloud Trace
โดยตัวอย่างจะพัฒนาด้วยภาษา Go + OpenTelemetry
เริ่มด้วยการ initial tracing ซึ่งผ่าน StackDriver library
Code ตัวอย่างจะเก็บข้อมูลทุก ๆ request (ไม่เหมาะกับ production)
จากนั้นทำการเขียน code ในส่วนของ Endpoint แต่ละตัวไป
[gist id="2eb446de6fe64aff6fe08e1ea7684d78" file="handler.go"]เมื่อทุกอย่างเรียบร้อยก็ลองใช้งาน
พบว่าใน Google Cloud Trace จะมีข้อมูลเข้ามาดังนี้
ดูในรูปแบบของ Waterfall
ลองใช้งานกันดูครับ ง่ายดี
ส่วนราคาดูที่ Pricing stack driver