扑街,Spring boot admin 中的 httptrace 怎么没了?

1,885 阅读1分钟

前言

近日,收到群友反馈 Spring boot admin 中的 httptrace(http跟踪)没了,笔者复查了一下果然是没有了。

Spring boot admin 中的 http跟踪 会展示最近服务请求的请求,并展示请求的火焰图。如下图:

001

排查

我在收到此问题时第一时间去查看了 Spring boot admin 的代码,发现 httptrace 功能是存在的。

然后我在 Spring boot github 搜索到了这条 issues默认情况下禁用 management.trace.http

我们可以看到在 Spring boot 2.0.0 M4 中去掉了默认注入的 InMemoryHttpTraceRepository Bean。

002

题外,大家遇到一些版本变动的问题,也可以去 Spring-bootSpring cloud Githubissues 中搜索。

003

结论

Spring boot 2.2.x 正式版开始,不再默认开启 InMemoryHttpTraceRepository,所以导致了这个问题。

对于此问题,官方建议采用第三方组件来进行 httptrace 的收集,详见:鼓励使用第三方跟踪和可观察性解决方案,而不是实现自己的HttpTraceRepositroy

下图为笔者采用 prometheus 收集并展示到 Grafana 的示例。

004

005