OpenTracing or OpenTelemetry? Which specification to select for instrumenting applications for tracing?

This article applies to:

• Distributed Tracing

 Product edition: All

 Feature Category: Distributed Tracing Instrumentation

 

Overview:

As you may know, OpenTracing and OpenCensus have merged to form OpenTelemetry while OpenTracing has been deprecated.

Tanzu Observability fully supports both OpenTracing and OpenTelemetry specifications. You can instrument your applications with either of these specifications to send distributed traces to Tanzu Observability. Below are some pros and cons for each specification which will help guide you in deciding which specification works best in selecting to instrument your applications.

OpenTracing:

Tanzu Observability provides SDKs in many languages that uses OpenTracing specification to define, collect, and report custom trace data from any part of your application code.

For additional details about OpenTracing SDKs and how to instrument your application using those can be found here .

If you have an application framework that requires instrumentation not covered by Tanzu Observability SDKs, then you can find all libraries/frameworks for OpenTracing here and select the one suitable for instrumenting your application. As long as the traces are OpenTracing compliant, you can send it to Tanzu Observability.

Before instrumenting the application, do consider following pros and cons about OpenTracing;

Advantages:

  • OpenTracing is still an industry standard, it has stable API to instrument apps for tracing
  • Wavefront SDKs that implements OpenTracing specification are available in all major languages hence it makes it easier to instrument

Disadvantages:

  • OpenTracing is a deprecated specification and will soon come to EOL
  • You will have to migrate to OpenTelemetry if you want support for it or you could just continue using it in your code since Tanzu Observability will continue its support for foreseeable future.

OpenTelemetry:

Tanzu Observability fully support OpenTelemetry specifications. You can instrument your application with OpenTelemetry using Wavefront Zipkin or Jaeger exporters. Details about OpenTelemetry integration can be found here . Here are some of the pros and cons for using OpenTelemetry.

Advantages:

  • OpenTelemetry is a new specification and is here to stay 
  • OpenTelemetry is backward compatible with OpenTracing via shim . Shim allows existing OpenTracing instrumentation to report to OpenTelemetry and help with migration

(Note: If you are planning to migrate from OpenTracing to OpenTelemetry using shim then please reach out to Wavefront Support . Migration should be seamless but we would want to make sure that based on your instrumentation there are no extra step(s) required)

Disadvanteges:

  • OpenTelemetry specifications are new and are still evolving with v1.0 released just in Feb 2021 hence 
  • There is a possibility to hit unexpected issues and it can take time to root cause and address those issues since the specification is not as matured as OpenTracing.

Conclusion:

While the It is solely up to you on how you want to instrument your application as Tanzu Observability fully supports both specifications. To conclude;

  • Instrument using OpenTelemetry right away as it is fully supported by Tanzu Observability. You won't have to migrate from OpenTracing to OpenTelemetry in the future
  • If you are more comfortable with OpenTracing or already have instrumented your application with OpenTracing, then you can certainly use it with Tanzu Observability to start with, and as you grow confident with OpenTelemetry specification/maturity, you can migrate to it using shim

 

See also:

https://docs.wavefront.com/tracing_instrumenting_frameworks.html

https://docs.wavefront.com/opentelemetry.html

https://docs.wavefront.com/jaeger.html

https://docs.wavefront.com/zipkin.html

https://github.com/open-telemetry/opentelemetry-java/tree/main/opentracing-shim 

 

 

Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request

Comments

Powered by Zendesk