我有一个用例,其中我需要跟踪给定组件的处理时间指标,并将其用作在我的spring-boot应用程序中进行调优的反馈循环。我想我应该通过一个自动连接的GaugeService在我需要监视的组件中使用一个自定义指标,它工作得很好,并且我可以在/metrics端点中看到我的指标。我遇到的问题是如何在应用程序代码中使用这些指标。理想情况下,我希望收到每个仪表提交的结果,并计算一个加权移动平均。这不是spring-boot-actuator指标的一个很好的用例吗?
发布于 2018-11-19 03:17:12
通过代码读取指标信息应该可以通过将MetricsEndpoint bean注入到您的应用程序代码中,就像往常一样,我们注入任何其他bean。
MetricsEndpoint bean由EndpointAutoConfiguration定义。
每个Endpoint都定义了@ReadOperation、@WriteOperation、@DeleteOperation注释方法,以便通过公开JMX、Spring webflux等技术来适应该端点。
在您的例子中,您可能只对调用MetricsEndpoint的@ReadOperation感兴趣,这意味着有两个方法:listNames或metric。有关更多信息,请参阅给定的链接。
现在,何时调用此端点/调用该端点的频率取决于您自己。
希望这能有所帮助。
https://stackoverflow.com/questions/39029325
复制相似问题