จากการเปลี่ยนแปลงสิ่งต่าง ๆ ใน Spring Boot 3.2 นั้น
หนึ่งสิ่งที่น่าสนใจคือ Distributed Tracing
โดยเป็นการเปลี่ยนแปลงจาก Spring Boot 2.x แบบหน้ามือหลังมือ
ไม่สามารถใช้งานร่วมกันได้
จึงทำการสรุปการใช้งานไว้นิดหน่อย

เรื่องแรก คือ dependency ที่ใช้งานใน project

ซึ่งจะใช้งาน dependency ต่าง ๆ ดังนี้

  • Spring Boot Actuator ใช้งานปกติ
  • Micro meter กับ OpenTelemetry สำหรับการแปลงข้อมูล tracing ให้อยู่ในรูปแบบของ OpenTelemetry
  • Exporter สำหรับจัดเก็บข้อมูล tracing โดยในตัวอย่างเลือกใช้งาน Zipkin
  • การสร้าง custom span ใน code ของ project จะใช้แนวคิดของ AOP (Aspect Oriented Programming) มาใช้งาน

ถ้าสร้างเป็น Apache Maven project ในไฟล์ pom.xml เป็นดังนี้

เรื่องที่ 2 การ config เพื่อใช้งานในไฟล์ application.properties

เรื่องที่ 3 สร้าง custom span ใน code

เริ่มด้วยการสร้าง configuration สำหรับการสร้าง span ด้วย code ใน Spring Boot

จากนั้นทำการสร้าง span ด้วยการใช้ @Observered ได้เลย

เพียงเท่านี้ก็สามารถใช้งาน Distributed tracing ใน Spring Boot 3.2 แบบง่าย ๆ ได้แล้ว

Reference Websites