Since October last year, the Hawkular APM project has been actively working on supporting, and contributing to, the OpenTracing standard.
However we realised that the core model used in Hawkular APM (fragments of call traces) was not particularly well aligned with the model used in OpenTracing (span based). This made it more complicated to implement client providers, as they need to build the call trace fragments from multiple spans, and it means the information stored in the server wasn’t in the same form expected by users of the OpenTracing API.
Therefore at the beginning of this year we made the decision to change the core model used by Hawkular APM to be compatible with the model used by the OpenTracing API - and essentially provide an "OpenTracing" native solution.
During the initial design meetings to discuss the proposed changes, we became aware of a blog post from Uber regarding the future of their Jaeger project. Up until that point Jaeger used the Zipkin project to provide its backend tracing solution.
This new version of Jaeger provides very similar functionality to Zipkin, which is focused on visualising individual traces. It does not have the aggregated views currently supported in Hawkular APM - however from discussions with the Jaeger project, they are keen to be able to provide aggregated views.
Therefore we have made the decision that, rather than refactor the Hawkular APM project’s model to be more OpenTracing compatible, it makes more sense to collaborate on the Jaeger project.
The current Hawkular APM codebase will still be available as an OpenTracing solution - however our intention is to focus more effort on the Jaeger project, initially with the aim of making it easy to use within OpenShift, and then adding aggregated views.
Published by Gary Brown on 19 April 2017