首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方法调用的Micronaut和OpenTracing

方法调用的Micronaut和OpenTracing
EN

Stack Overflow用户
提问于 2019-10-05 15:42:47
回答 2查看 675关注 0票数 3

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

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

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

代码语言:javascript
复制
...
    <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),如下所示

代码语言:javascript
复制
@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 )

代码语言:javascript
复制
---
tracing:
  jaeger:
    enabled: true
    sampler:
      probability: 1
    sender:
      agentHost: jaeger-agent.istio-system
      agentPort: 5775

然而,我们只看到由Istio (特使代理)生成的跟踪条目,但是我们看不到方法调用本身的细节。

对这里可能出了什么问题有什么想法吗?

EN

回答 2

Stack Overflow用户

发布于 2019-10-10 08:31:45

Istio有一个名为分布式跟踪的特性,它使用户能够跟踪分布在多个服务中的网格中的请求。这可以用于可视化请求延迟、序列化和并行性。

为此,Istio使用公使代理追踪特性。

您可以部署Bookinfo应用并查看跟踪上下文传播是如何工作的。

票数 0
EN

Stack Overflow用户

发布于 2019-10-16 13:14:47

如果您在这张票证中解释了相同的问题,您需要等待micronaut的下一个版本,或者使用micronaut人员提到的解决方法。

https://github.com/micronaut-projects/micronaut-core/issues/2209

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58249869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档