A simple Spring Boot 3 multi-module project with OpenTelemetry, Jaeger, and Prometheus for observability.
Eang Sopheaktra
May 29 2025 02:47 pm
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
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