Spring Boot 3 Demo Tracing with Jaeger
A simple Spring Boot 3 multi-module project with OpenTelemetry, Jaeger, and Prometheus for observability. 0 commentsBy Sopheaktra Eang | May 27, 2025
🌟 Observability in a Simple Multi-Module Spring Boot 3 App
Most observability tutorials focus on microservices or heavy Domain-Driven Design (DDD) projects. But what if you're just working on a simple multi-module Spring Boot 3 application?
Good news: you can still integrate tracing and metrics like a pro.
In this post, I’ll walk you through how I built a simple, standalone Spring Boot 3 project with:
-
✅ Gradle multi-module setup
-
✅ OpenTelemetry for distributed tracing
-
✅ Jaeger to visualize traces
-
✅ Prometheus + Micrometer for metrics
-
✅ Docker Compose to run the full observability stack locally
🔧 Why Multi-Module?
Multi-module projects in Gradle help with:
-
Separation of concerns (e.g., separating web, core logic, and config)
-
Faster builds
-
Better organization for growing projects
This project has basic modules like:
-
client-consumer
– for handle consume api, webClient for external and internal api. -
logging
– handle log4j2 for service need logging. -
service-a & service-b – testing service
-
tracing
– tracing and metrics setup for base module