tracing Archive

ปัญหาของ WebClient ใน Spring Boot 3

ปัญหาที่พบเจอใน Spring Boot 3 + WEbFluxเมื่อมีการใช้งาน WebClient เพื่อเรียกใช้งาน external APIพบว่าข้อมูลของ tracing ไม่ถูกส่งไปยัง external APIทำให้ข้อมูลของ tracing ระบบไม่ถูกต้องตามที่คาดหวัง

Read More…

น่าสนใจกับ Observability-Driven Development (ODD) ด้วย TraceTest

ระบบการทำงานที่ต้องติดต่อสื่อสารกันผ่านระบบ networkไม่ว่าจะเป็น HTTP/HTTPs, Messaging protocol ต่าง ๆมีคำถามที่น่าสนใจคือเราจะตรวจสอบการทำงานได้อย่างไรว่าทำงานได้อย่างถูกต้องตามที่เราต้องการ

Read More…

ตอบคำถามเรื่อง การ tracing ข้อมูล message ที่ส่งเข้า Apache Kafka

จากที่ได้แบ่งปันเรื่องเกี่ยวกับ Microservices มานั้นมีคำถามที่น่าสนใจเกี่ยวกับการ tracing ข้อมูลของ message ที่ส่งเข้าไปยัง Apache Kafka ว่าส่งไปไหม ผลการทำงานเป็นอย่างไรรวมทั้งดูแบบ end-to-end ด้วยว่าเกิดอะไรขึ้นบ้างเนื่องจาก message นั้น ๆ อาจจะก่อให้เกิดการทำงาน หรือ event อื่น ๆ มากมายตามแนวคิดของ Event-based Architecture

Read More…

สวัสดี OpenTelemetry

หลังจากที่ใช้งาน OpenTracing มานานซึ่งตอนนี้ OpenTracing ได้รวมเข้ากับ OpenCensus แล้วมีชื่อว่า OpenTelemetry จึงมาลองศึกษาและใช้งานดูกันหน่อย

Read More…

ใช้งาน Google Cloud Trace สำหรับจัดการ Distributed tracing

เพิ่งเห็นว่าใน Google Cloud นั้นมีบริการที่ชื่อว่า Cloud Trace สำหรับการจัดการเรื่องของ distributed tracing ให้ใช้งานแบบง่าย ๆ ดูการทำงานในส่วนต่าง ๆ ว่าเป็นอย่างไร รวมไปถึงการหาคอขวดของระบบงานอีกด้วย ที่สำคัญสามารถสร้างกฏในการตรวจสอบปัญหาแบบอัตโนมัติให้อีกด้วย

Read More…

ว่าด้วยเรื่องของ Distributed tracing กับ OpenTelemetry แบบง่าย ๆ

จากที่เคยเขียน blog เรื่อง Jaeger ระบบ Distributed Tracing นั้น ใช้งานผ่าน library ชื่อว่า OpenTracing สำหรับจัดการรูปแบบข้อมูลของ tracing message และจัดเก็บข้อมูลด้วย Jaeger ในตอนนี้ OpenTracing ได้รวมกับ OpenCensus ในชื่อ OpenTelemetryจึงมาดูการใช้งานหน่อย เห็นเขาว่าง่ายดี

Read More…

สร้างระบบ Distributed Tracing ของระบบที่พัฒนาด้วย Spring Boot

Tracing เป็นอีกเรื่องหนึ่งที่ service หรือระบบงานต่าง ๆ ต้องมีเสมอ และมันมีประโยชน์ต่อระบบและทีมพัฒนาอย่างมาก แต่เราพบว่าระบบงานส่วนใหญ่ไม่มี หรือ มีน้อยมาก ๆ ดังนั้นเรามาลองสร้างระบบงานที่มีการ tracing การทำงานของระบบ

Read More…

สวัสดีกับ Jaeger ระบบ Distributed Tracing จาก Uber

หลังจากใช้งาน Zipkin มาสักพัก ก็มีเจอสิ่งที่คล้าย ๆ กันและน่าสนใจมาก ๆ คือ Jaeger จาก Uber โดยมีแรงบันดาลใจมาจาก Dapper และ OpenZipkin เป้าหมายหลักของเครื่องมือตัวนี้ คือทำการ tracing การทำงานต่าง ๆ ของระบบงาน ไม่ว่าจะอยู่ในรูปแบบไหนก็ตาม แน่นอนว่าทุก ๆ ระบบน่าจะมีหรือคิดหรือทำไว้บ้าง เพื่อทำการ monitoring การทำงานของระบบ เพื่อช่วยวิเคราห์เรื่อง dependency ต่าง ๆ ของระบบ เพื่อช่วยหา root cause ของปัญหาต่าง ๆ เพื่อช่วยดู performance การทำงานของส่วนต่าง ๆ ของระบบ

Read More…