我的SpringBoot应用程序中有几个控制器。我知道我可以使用执行器获得端点上的总调用计数。然而,我试图找到一种方法来获得总呼叫计数在过去的X天。例如,在过去10天内,我的端点被调用了多少次?
7hiiyaii1#
我认为单独使用actuator并不适合此任务。应用程序重新启动的原因是什么?如果明天您要分析过去7天、14天、20天的数据,该怎么办?一般来说,更好的方法是将所有这些数据放入一些专门的数据库风格的存储中(Prometheus,DataDog,InfluxDB,等等),并使用可视化工具(如grafana)来构建查询,这些查询将以可访问且视觉上吸引人的形式计算出您所需要的内容现在,可以在内存中创建一个模型,该模型将维护基于每日的计数器,并添加一个计量器,当调用该计量器时,该计量器将检索此类数据并将显示,但是,由于我在回答开始时描述的潜在缺点,请考虑是否值得开发和维护这样的解决方案
8hhllhi22#
您可以使用Spring Boot Actuator来获取详细信息。它不仅会提供API命中的计数,还会提供持续时间,状态响应代码以及更多详细信息,您可以根据需要过滤它们。您只需要在pom文件中添加以下依赖项:
Spring Boot Actuator
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies>
然后尝试点击下面的URL:
http://localhost:8080/actuator/metrics/http.server.requests
在响应中,您将获得所需的详细信息。要获得last X days的详细信息,可以将数据存储在文件或数据库中(根据您的需求),然后查询相同的数据以获得所需的结果。希望能有所帮助。更多详细信息请参见here
last X days
2条答案
按热度按时间7hiiyaii1#
我认为单独使用actuator并不适合此任务。应用程序重新启动的原因是什么?如果明天您要分析过去7天、14天、20天的数据,该怎么办?一般来说,更好的方法是将所有这些数据放入一些专门的数据库风格的存储中(Prometheus,DataDog,InfluxDB,等等),并使用可视化工具(如grafana)来构建查询,这些查询将以可访问且视觉上吸引人的形式计算出您所需要的内容
现在,可以在内存中创建一个模型,该模型将维护基于每日的计数器,并添加一个计量器,当调用该计量器时,该计量器将检索此类数据并将显示,但是,由于我在回答开始时描述的潜在缺点,请考虑是否值得开发和维护这样的解决方案
8hhllhi22#
您可以使用
Spring Boot Actuator
来获取详细信息。它不仅会提供API命中的计数,还会提供持续时间,状态响应代码以及更多详细信息,您可以根据需要过滤它们。您只需要在pom文件中添加以下依赖项:
然后尝试点击下面的URL:
在响应中,您将获得所需的详细信息。
要获得
last X days
的详细信息,可以将数据存储在文件或数据库中(根据您的需求),然后查询相同的数据以获得所需的结果。希望能有所帮助。
更多详细信息请参见here