Spring Boot 在过去10天内呼叫我的管理员多少次

kg7wmglp  于 2023-04-06  发布在  Spring
关注(0)|答案(2)|浏览(104)

我的SpringBoot应用程序中有几个控制器。
我知道我可以使用执行器获得端点上的总调用计数。
然而,我试图找到一种方法来获得总呼叫计数在过去的X天。
例如,在过去10天内,我的端点被调用了多少次?

7hiiyaii

7hiiyaii1#

我认为单独使用actuator并不适合此任务。应用程序重新启动的原因是什么?如果明天您要分析过去7天、14天、20天的数据,该怎么办?一般来说,更好的方法是将所有这些数据放入一些专门的数据库风格的存储中(Prometheus,DataDog,InfluxDB,等等),并使用可视化工具(如grafana)来构建查询,这些查询将以可访问且视觉上吸引人的形式计算出您所需要的内容
现在,可以在内存中创建一个模型,该模型将维护基于每日的计数器,并添加一个计量器,当调用该计量器时,该计量器将检索此类数据并将显示,但是,由于我在回答开始时描述的潜在缺点,请考虑是否值得开发和维护这样的解决方案

8hhllhi2

8hhllhi22#

您可以使用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的详细信息,可以将数据存储在文件或数据库中(根据您的需求),然后查询相同的数据以获得所需的结果。
希望能有所帮助。
更多详细信息请参见here

相关问题