As I alluded to earlier, standardization on the instrumentation API is not the only aspect of a successful rollout of a tracing solution in an organization. Consider the following imaginary application in Company X (Figure 6.3), where all microservices are instrumented with the OpenTracing API and use Jaeger libraries to collect traces in a single installation of the Jaeger backend.
Assuming that this is the complete architecture and the microservices do not communicate with any external systems (which is actually not realistic, at least for the Billing component, which usually needs to make calls to the external payment processor), there are no interoperability issues in this deployment that would prevent the collection of complete traces covering all the components of the application.