在filter中用spring stopWatch 来统计每个请求的执行时间;

虽然在firefox 中可以清楚的看到每个请求的执行时间,但是为了测试,记录日志, 方便以后查询维护。 还是必要的,下面进入正题:

在filter 的doFilter中加入如下代码

  1. StopWatch stopWatch = new StopWatch(url+System.currentTimeMillis());
  2. stopWatch.start();
  3. doFilter(arg0,arg1);
  4. opWatch.stop();
  5. loginfo(stopWatch.getTotalTimeMillis()+"---"+request.getRequestURI()+"执行时间");

对于StopWatch 从源代码构造可以看出,是根据构造StopWatch的id 来找对象,为了确保构造StopWatch的参数唯一就行了(防止多线程下的操作)。

  1. public StopWatch() {
  2. keepTaskList = true;
  3. taskList = new LinkedList();
  4. id = "";
  5. }
  6. public StopWatch(String id) {
  7. keepTaskList = true;
  8. taskList = new LinkedList();
  9. this.id = id;
  10. }

最后通过StopWatch的

  1. stopWatch.getTotalTimeMillis()

方法得到总共的请求时间

filter 中用spring StopWatch 监控请求执行时间的更多相关文章

  1. 图解 Spring:HTTP 请求的处理流程与机制【3】

    3. HTTP 请求在 Web 应用中的处理流程 在穿越了 Web 容器之后,HTTP 请求将被投送到 Web 应用,我们继续以 Tomcat 为例剖析后续流程.Web 容器与 Web 应用的衔接是通 ...

  2. 图解 Spring:HTTP 请求的处理流程与机制【5】

    5. HTTP 请求处理相关配置文件说明 HTTP 请求穿越的整个空间是分层的,包括:Web 容器.Web 应用.Spring 框架等,它们每层都是通过配置文件配置初始化的,这是一种松耦合的架构设计. ...

  3. 惊呆了,Servlet Filter和Spring MVC Interceptor的实现居然这么简单

    前言 创建型:单例模式,工厂模式,建造者模式,原型模式 结构型:桥接模式,代理模式,装饰器模式,适配器模式,门面模式,组合模式,享元模式 行为型:观察者模式,模板模式,策略模式,责任链模式,状态模式, ...

  4. Spring Controller 获取请求参数的几种方法

    1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交.若"Content-Type"="application/ ...

  5. java监控函数执行时间

    java监控函数执行时间 http://blog.csdn.net/ycg01/article/details/1467542 java监控函数执行时间 标签: javathreadclassstri ...

  6. spring MVC处理请求过程及配置详解

    本文主要梳理下Spring MVC处理http请求的过程,以及配置servlet及业务application需要的常用标签,及其包含的意义. spring MVC处理请求过程 首先看一个整体图 简单说 ...

  7. spring MVC处理请求过程

    spring MVC处理请求过程 首先看一个整体图 简单说下各步骤: handlerMapping handlerMapping将请求映射到处理器,即图中的HandlerExecutionChain. ...

  8. Spring Http Invoke 请求过程图

    Spring Http Invoke 请求过程图:

  9. fidder监控请求响应时间和请求IP(摘抄至网络)

    增加监控请求的详情时间 在CustomRules.js的class Handlers中增加  //添加请求的响应时间 public static BindUIColumn("Time Tak ...

随机推荐

  1. NSNotificationCenter的用法

    作用:NSNotificationCenter是专门供程序中不同类间的消息通信而设置的. 注册通知:即要在什么地方接受消息 [[NSNotificationCenter defaultCenter]  ...

  2. LA 3667 Ruler 搜索

    题意: 给出\(n\)个长度,要设计一个有\(m\)个刻度的刻度尺,刻度尺的刻度从\(0\)开始. 使得任意一个长度都能被该刻度尺度量出来. 首先要使\(m\)最小,在\(m\)最小的前提下尺子的长度 ...

  3. web安全测试---WebScarab工具介绍

    1.1      Webscarab [功能] WebScarab是一个用来分析使用HTTP和HTTPS协议的应用程序框架.其原理很简单,WebScarab可以记录它检测到的会话内容(请求和应答),并 ...

  4. const用法归纳总结 C++

    非常好的一篇分析const的总结归纳, 在此谢谢原作者:http://blog.csdn.net/zcf1002797280/article/details/7816977 在普通的非 const成员 ...

  5. day01_10.for循环

    for和while都是一种循环 解释:所有循环的共同点 画图详解 在一条数轴上,循环就是有起始点($i=0); 有结束点($i<=10);有步长($i++); 每走一个相应的步长,就执行一次代码 ...

  6. STP

    生成树协议  spanning-tree protocol     网络中额外添加的链路连接着路由器和交换机 会引起流量的环路   当一个交换机的连接丢失时 另一条链路能快速地取代失败的链路  并且不 ...

  7. Learning Deconvolution Network for Semantic Segme小结

    题目:Learning Deconvolution Network for Semantic Segmentation 作者:Hyeonwoo Noh, Seunghoon Hong, Bohyung ...

  8. Leetcode 419.甲板上的战舰

    甲板上的战舰 给定一个二维的甲板, 请计算其中有多少艘战舰. 战舰用 'X'表示,空位用 '.'表示. 你需要遵守以下规则: 给你一个有效的甲板,仅由战舰或者空位组成. 战舰只能水平或者垂直放置.换句 ...

  9. [整理]Linux下的源码安装步骤及其功能解释

    源码的安装一般由3个步骤组成:配置(./configure).编译(make).安装(make install). 这时最常用的命令就是这三个--./configure && make ...

  10. [BZOJ3817]Sum

    [BZOJ3817]Sum 试题描述 给定正整数N,R.求 输入 第一行一个数 T,表示有 T 组测试数据. 接下来 T 行,每行两个正整数 n,r. 输出 输出 T 行,每行一个整数表示答案. 输入 ...