Opentracing API 实际上是什么,它在跟踪系统中的作用是什么

What is the Opentracing API actually and what is its role in a tracing system

https://opentracing.io/ 他们说 opentracing API 是:

A Vendor-neutral APIs and instrumentation for distributed tracing

很好,但这在实际应用程序的上下文中究竟意味着什么?

这个 Opentracing API 实际上由哪些部分组成,它的目的是什么以及它如何与其他日志记录相关系统(如 "zipkin" 和 "jaeger"

交互

OpenTracing 是API,您的 代码将直接与之交互。

基本上,您的应用程序将 "instrumented" 使用 OpenTracing API 和具体的跟踪器(如 Jaeger 或 Brave/Zipkin)将捕获数据并将其发送到某个地方。这允许您的应用程序在整个代码中使用中性 API,这样您就可以从一个提供程序更改为另一个提供程序,而无需更改整个代码库。

另一种思考方式是,OpenTracing 就像 Java 日志世界中的 SLF4J,而 Jaeger 和 Zipkin 是具体的实现,例如 Java 日志世界中的 Log4j。