spring boot with p6spy sleuth traces 解读

Posted

技术标签:

【中文标题】spring boot with p6spy sleuth traces 解读【英文标题】:spring boot with p6spy sleuth traces interpretation 【发布时间】:2021-01-12 14:18:42 【问题描述】:

我们一直在我们的微服务中使用 spring cloud sleuth 进行跟踪。我们还从 spring 数据存储库连接、获取和查询中添加了启用的 jdbc 级别跨度。我看到一些奇怪的 jps 名称 jdbc:/datasource/connection 痕迹,其中似乎包括我的一些服务特定跨度。我的观点是,父跨度只包括它称为孩子的跨度。

venderproxy,profile:fetchorganization是我其他服务的grpc端点,为什么jdbc:/datasource/connection span在supplier里面包括我的一些服务呢?

【问题讨论】:

【参考方案1】:

我从 p6spy 的一位作者那里得到了答案。

jdbc:/datasource/connectionspan代表打开的连接(事务),这种情况你很可能没有关闭连接并调用其他服务?例如,您可能正在从使用 @Transactional 注释的方法中调用其他服务。虽然在某些情况下可能没问题,但如果您将连接保持打开 12 秒,它可能会导致连接池出现问题。

【讨论】:

你有用 p6spy 设置 spring cloud sleuth 的例子吗? 库本身是`autoconfigured1,所以你不需要任何代码,只需在类路径中添加依赖就足够了。请按照此处的步骤操作:github.com/gavlyukovskiy/spring-boot-data-source-decorator。 @AbdelghaniRoussi

以上是关于spring boot with p6spy sleuth traces 解读的主要内容,如果未能解决你的问题,请参考以下文章

RSS Feeds with Spring Boot

《Pro Spring Boot 2》第四章:Web Applications with Spring Boot

《Pro Spring Boot 2》第五章:Data Access with Spring Boot

Spring Boot with Docker

Spring Boot with Spring Data JPA - Concept

Microservices with Spring Boot