如何使用@timed 注释监视服务bean?

How to monitor a service bean using @timed annotation?

Jhipster 开发团队建议对您要监控的服务使用@Timed 注解。

显示在创建服务页面(http://jhipster.github.io/creating_a_service.html)。

那么它在 JHipster 中是如何工作的呢?我如何监视这些注释的服务? 在所有服务中维护这个注释的成本是多少?在生产中使用此注释有任何处理开销吗?

JHipster 使用 DropWizard Metrics(你看过技术栈了吗here?), and those @Timed annotations come from the Spring support for Dropwizard Metrics.

要了解有关 DropWizard 指标的更多信息,here is their website

当然会有开销,但这取决于您如何使用这些注释:如果它在一个服务 bean 上,只会执行一次数据库访问,那么您不必担心,因为数据库访问是命令资源密集程度更高。我们将它用于非常高流量的应用程序,没有任何问题,无论如何,如果出现性能问题,我们最好进行一些监控而不是盲目!

当然你可以监控那些服务,这就是重点:

  • Metrics 提供了广泛的报告工具,最明显的是 JMX,它是 Java 中的默认工具。
  • JHipster 在其管理屏幕中的指标之上提供了一个 AngularJS 视图,这是 JHipster 的重要功能之一。只需 运行 您的应用程序 mvn 并转到管理屏幕。