Having the ability to know where and when each message has been sent or received between your systems is becoming even more relevant today, where distributing components, like microservices, are becoming the defacto architecture in enterprises trying to develop distributed systems that scale.
Even when you have metrics and logging tools implemented, that’s not enough to recreate the journey of each transaction and how they propagate between components [1].
Tracing messages between distributed systems gives visibility over communication and performance per transaction received from a client, and how this propagates between different components around your systems.
Opentracing is an API that is aimed to standardize how systems can implement distributed tracing.
So, from the client (e.g. mobile, web), to the proxy, APIs, and backend systems (i.e. databases and messaging systems) mark how long it takes to communicate with each component.
This presentation will show how to instrument your Java applications with OpenTracing to be able to trace messages from web/mobile clients to your services and back to your data systems, and in this way, how to visualize, transaction per transaction, how your messages flows using a couple of the OpenTracing tools available, Uber's Jaeger [2] and Zipkin [3] .


Comments are closed.

A very important subject nowadays and very well explained.

A good overview on open tracing and logging, monitoring and tracing in general.

Marco Arena at 17:33 on 26 Nov 2017

Very good and informative talk. Jorge is a well balanced speaker.

Good talk on the different open source logging "aggregators" you can find around. I found particularly useful the suggestion to always log to the STD* of the container, and gather the logs in a special "facility"