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 for Java 是能够声明 "My App supports" opentracing 的要求吗?
是否有一个 Opentracing 协议(例如通过网络发送数据),或者他们只是说 opentracing 是一个中间层,允许多个其他跟踪框架相互操作?
特别是this diagram让我这么想。
OpenTracing 是API,您的 代码将直接与之交互。
基本上,您的应用程序将 "instrumented" 使用 OpenTracing API 和具体的跟踪器(如 Jaeger 或 Brave/Zipkin)将捕获数据并将其发送到某个地方。这允许您的应用程序在整个代码中使用中性 API,这样您就可以从一个提供程序更改为另一个提供程序,而无需更改整个代码库。
另一种思考方式是,OpenTracing 就像 Java 日志世界中的 SLF4J,而 Jaeger 和 Zipkin 是具体的实现,例如 Java 日志世界中的 Log4j。
在 https://opentracing.io/ 他们说 opentracing API 是:
A Vendor-neutral APIs and instrumentation for distributed tracing
很好,但这在实际应用程序的上下文中究竟意味着什么?
这个 Opentracing API 实际上由哪些部分组成,它的目的是什么以及它如何与其他日志记录相关系统(如 "zipkin" 和 "jaeger"
交互使用 Opentracing API for Java 是能够声明 "My App supports" opentracing 的要求吗?
是否有一个 Opentracing 协议(例如通过网络发送数据),或者他们只是说 opentracing 是一个中间层,允许多个其他跟踪框架相互操作? 特别是this diagram让我这么想。
OpenTracing 是API,您的 代码将直接与之交互。
基本上,您的应用程序将 "instrumented" 使用 OpenTracing API 和具体的跟踪器(如 Jaeger 或 Brave/Zipkin)将捕获数据并将其发送到某个地方。这允许您的应用程序在整个代码中使用中性 API,这样您就可以从一个提供程序更改为另一个提供程序,而无需更改整个代码库。
另一种思考方式是,OpenTracing 就像 Java 日志世界中的 SLF4J,而 Jaeger 和 Zipkin 是具体的实现,例如 Java 日志世界中的 Log4j。