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/connection
span代表打开的连接(事务),这种情况你很可能没有关闭连接并调用其他服务?例如,您可能正在从使用 @Transactional 注释的方法中调用其他服务。虽然在某些情况下可能没问题,但如果您将连接保持打开 12 秒,它可能会导致连接池出现问题。
【讨论】:
你有用 p6spy 设置 spring cloud sleuth 的例子吗? 库本身是`autoconfigured1,所以你不需要任何代码,只需在类路径中添加依赖就足够了。请按照此处的步骤操作:github.com/gavlyukovskiy/spring-boot-data-source-decorator。 @AbdelghaniRoussi以上是关于spring boot with p6spy sleuth traces 解读的主要内容,如果未能解决你的问题,请参考以下文章
《Pro Spring Boot 2》第四章:Web Applications with Spring Boot
《Pro Spring Boot 2》第五章:Data Access with Spring Boot