One of the standards in distributed tracing is OpenTracing. This standard was proposed by the authors of Jaeger, one of the open-source tracers.
OpenTracing supports many different tracers apart from Jaeger and it supports many different programming languages. The most important ones include the following:
- Go
- C++
- C#
- Java
- JavaScript
- Objective-C
- PHP
- Python
- Ruby
The most important feature of OpenTracing is that it is vendor-neutral. This means that once we instrument our application, we won’t need to modify the entire codebase to switch to a different tracer. This way, it prevents vendor lock-in.