我开始使用go-gRPC-middleware来检测我的gRPC服务。我有使用zap记录的日志和Prometheus公开的指标。

现在,我尝试使用Jaeger Go Client配置跟踪,现在需要我在指标存储和记录器周围添加包装器。我不确定我为什么需要这些包装器

https://github.com/jaegertracing/jaeger/blob/bf64373d1e690594fd8c279720faf32722cf1494/examples/hotrod/pkg/tracing/init.go#L46

最佳答案

Jaeger客户端被设计为具有最小的依赖关系集。我们不知道您的应用程序是使用Prometheus指标还是Zap记录器。这就是jaeger-client-go(以及其他许多其他Jaeger客户端其他语言)为Logger和MetricsFactory提供两个轻量级接口(interface)的原因,可以为应用程序正在使用的特定日志/指标后端实现这些接口(interface)。当然,Prometheus和Zap的绑定(bind)已经在jaeger-lib中实现,可以可选地包括在内。

关于go - 为什么go-jaeger-client需要包装指标和日志?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59044026/

10-12 20:58