Jaeger for distributed tracing with MicroProfile Telemetry
Learn how to use Jaeger for distributed tracing in microservices with MicroProfile Telemetry. Understand how to track and visualize microservice interactions, identify performance bottlenecks, and ensure seamless operation of complex systems with distributed tracing.
At a Glance
Distributed tracing helps DevOps teams to keep track of requests between microservices. MicroProfile Telemetry adopts OpenTelemetry tracing to allow developers to observe requests across their distributed systems.
You’ll learn how to use MicroProfile Telemetry to adopt OpenTelemetry so your MicroProfile applications can benefit from both manual and automatic traces!
The use of microservices architecture can increase difficulty to see how services depend on or affect other services. Consequently, making it harder to find the source of latency or inaccuracy.
One way to increase observability of an application is by emitting traces. OpenTelemetry is a set of APIs, SDKs, tooling, and integrations that are designed for the creation and management of telemetry data such as traces, metrics, and logs. MicroProfile Telemetry adopts OpenTelemetry so your applications can benefit from both manual and automatic traces.
Traces represent requests and consist of multiple spans. Spans are representative of single operations in a request and contain a name, time-related data, log messages and metadata to give information about what occurs during a transaction.
Context is an immutable object that is contained in the span data to identify the unique request that each span is a part of. This data is required for moving trace information across service boundaries, allowing developers to follow a single request through a potentially complex distributed system. Exporters are components that send data to a backend service so you can visualize and monitor the generated spans.
You’ll configure the provided inventory and system services to use Jaeger for distributed tracing with MicroProfile Telemetry. You’ll run these services in two separate JVMs made of two server instances to demonstrate tracing in a distributed environment. If all the components were run on a single server, then any logging software would be sufficient.
There are no reviews yet.