It has been 5 years since I have started working on open-source (OSS) distributed tracing projects. It is certainly a long time and in this article I would like to summarize what I have learned and show you the evolution in OSS distributed tracing space and peek into the future. We will talk about projects like Hawkular-APM, Zipkin, Jaeger, OpenTracing, OpenTelemetry, SigNoz and Hypertrace. Quite a lot right!? So let’s start!
Note that the tim eline and article does not contain all OSS distributed tracing projects and all the content represents my subjective view on this space. There is missing OpenCensus, Expedia Haystack and many more. The first pull request to OpenCensus dates in 2016, but the project was based on existing Google’s instrumentation-java project.
For me it all started in June 2016 when I submitted my first pull request to the Hawkular APM project. Many of you probably don’t know the project so let me give you a quick introduction. Hawkular APM is a performance monitoring tool. It is a “lightweight” Java EE application deployed on Wildfly and it heavily uses JMS, Infinispan and Elasticsearch as a storage backend. The major differentiator between Zipkin and other similar tools is that the project focuses more on data aggregation. For instance it provides service metrics visualisations, flow diagrams, ability to compare two services (e.g. canary deployment) and much more.