I'm a Jaeger developer at Uber, so this could be a bit biased. Jaeger is the only major open source distributed tracer I know of that conforms to the OpenTracing standard. OpenCensus and presumably Canopy require tracer-specific code to be embedded in your program. This makes you locked in to a given provider. You won't find many people who have tested them side by side. Jaeger follows the OpenTracing standard so you can embed generic tracer code and change your tracer on the fly. Once you do this, comparison testing is easy.