Micronaut和OpenTracing方法调用

问题描述 投票:1回答:1

我们正在使用Micronaut(v1.2.0)构建一个Web应用程序,该应用程序将部署在Kubernetes集群中(我们将Istio用作服务网格)。

我们希望对关键方法调用进行检测,以便它们可以在HTTP请求跨度上下文中生成自己的跨度。为此,我们使用了Micronaut OpenTracing支持和Jaeger集成。

pom.xml中包含以下依赖项>

...
    <dependency>
      <groupId>io.micronaut</groupId>
      <artifactId>micronaut-tracing</artifactId>
      <scope>compile</scope>
    </dependency>
    <dependency>
      <groupId>io.jaegertracing</groupId>
      <artifactId>jaeger-thrift</artifactId>
      <scope>runtime</scope>
    </dependency>
...

如下所示,已使用@ContinueSpan实现了Filter方法(也尝试了与@NewSpan相同的方法]

@Filter("/**")
public class TraceTestFilter implements HttpServerFilter {

  @Override
  public Publisher<MutableHttpResponse<?>> doFilter(
      HttpRequest<?> request, ServerFilterChain chain) {

    return testMethodTracing(request, chain);
  }

  @ContinueSpan
  public Publisher<MutableHttpResponse<?>> testMethodTracing(
      HttpRequest<?> request, ServerFilterChain chain) {

        // Details ommitted here
  }
}

application-k8s.yml中保留了以下内容(application.yml的设置相同)

---
tracing:
  jaeger:
    enabled: true
    sampler:
      probability: 1
    sender:
      agentHost: jaeger-agent.istio-system
      agentPort: 5775

但是,我们仅看到由Istio(Envoy代理)生成的跟踪条目,但没有看到方法调用本身的详细信息。

关于这里可能出什么问题的任何想法?

我们正在使用Micronaut(v1.2.0)构建一个Web应用程序,该应用程序将部署在Kubernetes集群中(我们将Istio用作服务网格)。我们想对关键方法的调用进行检测,因此...

istio micronaut opentracing jaeger
1个回答
0
投票

Istio具有称为Distributed Tracing的功能,该功能使用户能够跟踪分布在多个服务中的网格中的请求。这可以用于可视化请求延迟,序列化和并行性。

© www.soinside.com 2019 - 2024. All rights reserved.