springboot后台写了几个接口,如何统计访问这几个接口所需要的时间呢

1.在接口的开头记录时间戳,最后记录一下时间戳,然后做差?

阅读 2.5k
3 个回答

druid monitor


image.png


application.properties

spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/student?useUnicode=true&characterEncoding=utf8&useSSL=false&tinyInt1isBit=true&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=123456

spring.datasource.druid.initial-size=3
spring.datasource.druid.min-idle=3
spring.datasource.druid.max-active=10
spring.datasource.druid.max-wait=60000

spring.datasource.druid.filter.stat.enabled=true

spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.web-stat-filter.url-pattern=/*
spring.datasource.druid.web-stat-filter.exclusions=/actuator/*,/druid/*

spring.datasource.druid.stat-view-servlet.enabled=true
spring.datasource.druid.stat-view-servlet.allow=
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
spring.datasource.druid.stat-view-servlet.login-username=123@abc.com
spring.datasource.druid.stat-view-servlet.login-password=123@abc.com

spring.datasource.druid.filter.stat.log-slow-sql=true
spring.datasource.druid.filter.stat.slow-sql-millis=500

spring.datasource.druid.filter.wall.enabled=true
spring.datasource.druid.filter.slf4j.enabled=true

POM.xml

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>8.0.27</version>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.8</version>
</dependency>

可以接入 APM 性能监控工具,比如 skywalking,elastic apm 等等,这些工具会有整个API的耗时统计的,比如 elastic apm,从图里可以清楚的看到整个API的耗时。

1、接入三方工具来帮你做这件事情
2、在AOP里面写一个环绕通知,然后自己去计算时间。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏