最近10天我的控制器被调用了多少次?



我的SpringBoot应用程序中有几个控制器。

我知道我可以使用致动器获得端点上的总呼叫计数。

然而,我正试图找到一种方法来获得过去X天的总通话次数。

例如,我的端点在过去10天内被调用了多少次?

我认为单独使用致动器并不适合此任务。应用程序重新启动的是什么?如果明天你想分析过去的7天、14天、20天呢?一般来说,更好的方法是将所有这些数据放入一些专门的数据库风格存储(prometheus, datadog, influxdb等),并使用可视化工具(如grafana)来构建查询,这些查询将以可访问且视觉上吸引人的形式计算您需要的数据

现在可以在内存中创建一个模型,它将维护基于每日的计数器,并添加一个测量,当调用时,将检索这种数据并显示,但是,由于我在答案开头描述的潜在缺点,考虑是否值得开发和维护这样的解决方案

您可以使用Spring Boot Actuator获取详细信息。它不仅会提供API点击的计数,还会提供持续时间、状态响应代码以及更多的细节,您可以根据需要对它们进行过滤。

您只需要在pom文件中添加以下依赖项:

<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的详细信息,您可以将数据存储在文件或数据库中(根据您的需求),然后对其进行查询以获得所需的结果。

希望对你有帮助。

更多细节可在这里找到

最新更新