Let’s focus on tracing by following a request across an API gateway, two apps based on different tech stacks, and their respective databases.
MicroProfile OpenTracing with Jaeger
The MicroProfile OpenTracing specification defines behaviours and an API for accessing an OpenTracing compliant Tracer object within your JAX-RS application. The behaviours specify how incoming and outgoing requests will have OpenTracing Spans automatically created. The API defines how to explicitly disable or enable tracing for given endpoints.
Jaeger, inspired by Dapper and OpenZipkin, is a distributed tracing system released as open source by Uber Technologies. It is used for monitoring and troubleshooting microservices-based distributed systems.