
หลังจากที่ Spring Boot 4.0.0 ปล่อยออกมานั้น
มี feature ที่น่าสนใจเยอะมาก ๆ หนึ่งในนั้นคือ OpenTelemetry
ทำให้เราสามารถจัดเก็บข้อมูลต่าง ๆ ของระบบได้ง่ายขึ้น เช่น
- Application metric
- Distributed tracing
- Log aggregation
โดยในการใช้งาน OpenTelemetry ใน Spring Boot นั้น
จะใช้งานผ่าน JavaAgent ซึ่งสนับสนุนทั้ง HTTP, JDBC, Spring เป็นต้น
ส่งผลให้ไม่ต้องทำการเขียนหรือแก้ไข code ใด ๆ เลย
ดังนั้นมาลองใช้งานกันดู
การใช้งานใน project นั้น ต้องทำการเพิ่ม library spring-boot-starter-opentelemetry
มาได้เลย

ในส่วนของการ config นั้น สามารถกำหนดให้ส่งข้อมูล
ทั้ง metric, trace และ log ไปยัง OTLP (OpenTelemetry Protocol) server ได้เลย
ทั้ง HTTP (4318) และ GRPC (4317)

การ config ทำในไฟล์ application.properties ของ project ดังนี้
เพียงเท่านี้ก็สามารถใช้งานได้แล้ว
โดยที่ตัวอย่างผมให้ส่งข้อมูลไปยัง LGTM stack
ตัวอย่างข้อมูล trace ที่เข้ามา

ลองใช้งานกันดูครับ ใช้งานง่ายขึ้นเยอะ