Spring MVC Interceptor 实现性能监控的功能代码
短信预约 -IT技能 免费直播动态提醒
利用Spring MVC 的 Interceptor 实现个简易的性能监控,计算一下每个url的执行时间。
在 preHandle 方法中记录当前的时间戳到线程局部变量里,然后在afterCompletion方法中,用当前的时间戳剪掉线程局部变量里的时间戳得出个运行时间,并记录到log里。
这只是个简易的性能监控,如果想长期正式的监控性能,请选择其它成熟的产品。
Interceptor
import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.core.NamedThreadLocal;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView; public class PerformanceInterceptor implements HandlerInterceptor { private final static Logger LOGGER = LoggerFactory.getLogger(PerformanceInterceptor.class); private NamedThreadLocal<Long> startTimeThreadLocal = new NamedThreadLocal<Long>("performance"); @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { startTimeThreadLocal.set(System.currentTimeMillis()); return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { return; } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { long currentTime = System.currentTimeMillis(); long executeTime = currentTime - startTimeThreadLocal.get(); LOGGER.info("uri:{} 执行了 {} 毫秒", request.getRequestURI(), executeTime); } }
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
Spring MVC Interceptor 实现性能监控的功能代码
下载Word文档到电脑,方便收藏和打印~
下载Word文档
猜你喜欢
Spring MVC Interceptor 实现性能监控的功能代码
利用Spring MVC 的 Interceptor 实现个简易的性能监控,计算一下每个url的执行时间。在 preHandle 方法中记录当前的时间戳到线程局部变量里,然后在afterCompletion方法中,用当前的时间戳剪掉线程局部
2023-05-31
SpringBoot集成Druid实现监控功能的示例代码
本文详细介绍了如何在SpringBoot应用程序中集成Druid以实现监控功能。Druid提供了一个控制台,用于监控数据库性能、SQL查询和系统资源。通过添加Druid依赖项、配置数据源、创建配置文件、启用控制台和运行应用程序,开发人员可以轻松启用Druid监控。Druid提供实时监控、SQL查询监控和系统资源监控等优点,帮助识别和优化数据库性能。
2024-04-02
2024-04-02
2024-04-02
Spring AOP实现功能权限校验功能的示例代码
实现功能权限校验的功能有多种方法,其一使用拦截器拦截请求,其二是使用AOP抛异常。 首先用拦截器实现未登录时跳转到登录界面的功能。注意这里没有使用AOP切入,而是用拦截器拦截,因为AOP一般切入的是service层方法,而拦截器是拦截控制器
2023-05-30
如何进行C++代码的性能监控?
如何进行C++代码的性能监控?简介:在软件开发中,性能是一个非常重要的指标。对于C++开发者来说,监控代码的性能可以帮助他们发现潜在的性能问题,并进行优化以提高程序的效率。本文将介绍一些常用的C++性能监控工具和技术,帮助开发者更好地监控和
2023-11-04
2024-04-02
Spring MVC图片的上传和下载功能怎么实现
这篇文章主要介绍了Spring MVC图片的上传和下载功能怎么实现的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring MVC图片的上传和下载功能怎么实现文章都会有所收获,下面我们一起来看看吧。序言SSM
2023-07-05
2023-08-12
Android 分享功能的实现代码
Android 分享功能的实现代码
一个Activity中,取出设备上安装的所有支持分享动作的Activity,在grid中显示。
实例代码:
public class NShareActivity ext
2022-06-06
Android计步功能的实现代码
本文对原文计步项目进行了精简,移除了进程服务和计时、守护进程、数据库保存等等,方便扩展功能。
Android4.4以上版本,有些手机有计步传感器可以直接使用, 而有些手机没有,但有加速度传感器,也可以实现计步功能(需要计算加速度波峰波谷来判
2022-06-06
2024-04-02
如何在Spring Boot中使用 Actuator实现一个监控端点功能
这篇文章将为大家详细讲解有关如何在Spring Boot中使用 Actuator实现一个监控端点功能,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。在Spring Boot的众多Starter
2023-05-31
Android倒计时功能的实现代码
好久没有写博客了,趁着年末,总结了下最近一年所遇到的一些技术问题,还有一些自定义控件,比如倒计时功能
首先倒计时的实现方式
1.Handler
2.Timer
3.RxJava
4.ValueAnimator
5.其他
这些方式中,我选择了
2022-06-06
ASP MVC实现缓存功能的详细教程,提升你的网站性能
本文将详细介绍ASP MVC实现缓存功能的步骤,结合代码示例,讲解如何使用缓存来提升网站性能,提高用户体验。
2024-02-24
Spring MVC环境中文件上传功能的实现方法详解
前言 我们在实际开发过程中,尤其是web项目开发,文件上传和下载的需求的功能非常场景,比如说用户头像、商品图片、邮件附件等等。其实文件上传下载的本质都是通过流的形式进行读写操作,而在开发中不同的框架都会对文件上传和下载有或多或少的封
2023-05-30
2024-04-02
python django 实现验证码的功能实例代码
我也是刚学Python Django不久很多都不懂,所以我现在想一边学习一边记录下来然后大家一起讨论!
验证码功能一开始我在网上找了很多的demo但是我在模仿他们写的时候,发现在我的版本上根本就不能运行起来在前端页面显示的时候是图裂,有可
2022-06-04
Android-实现切换Fragment页功能的实现代码
场景:使用Fragment实现切页。类结构:一:ActivityActivity中使用getSupportFragmentManager().beginTransaction()来填充一个Fragment(管理用的FragmentA)Act
2022-06-06
Android实现短信验证功能的代码
在我们现在开发APP过程中,当用户注册时,短信验证是必不可少的操作,这里我们就是用一个免费的第三方短信验证SDK-MOP
首先看下效果图 获取AppKey和AppSecret
首先进入官网,登录(没有帐号的自己去注册一个)。鼠标移动到右侧头
2022-06-06