JAMon监控web工程方法的调用性能 http://www.cnblogs.com/zfc2201/p/3786365.html

这往往篇文章主要告诉大家如何监控web方法调用时间,在这个基础这上,如果我们想要监控sql的执行时间,需要增加如下的配置:

1.增加一个类,假设是com.allen.bookshop.common.MonitorDataSource

import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.SQLException; import javax.sql.DataSource; import com.jamonapi.proxy.MonProxyFactory; public class MonitorDataSource implements DataSource
{
private DataSource realDataSource; public void setRealDataSource( DataSource realDataSource )
{
this.realDataSource = realDataSource;
} public DataSource getRealDataSource()
{
return realDataSource;
} public Connection getConnection() throws SQLException
{
// 表示由jamon来代理realDataSource返回的Connection
return MonProxyFactory.monitor( realDataSource.getConnection() );
} public Connection getConnection( String username, String password )
throws SQLException
{
// 表示由jamon来代理realDataSource返回的Connection return MonProxyFactory.monitor( realDataSource.getConnection( username,
password ) );
} public PrintWriter getLogWriter() throws SQLException
{
return realDataSource.getLogWriter();
} public int getLoginTimeout() throws SQLException
{
return realDataSource.getLoginTimeout();
} public void setLogWriter( PrintWriter out ) throws SQLException
{
realDataSource.setLogWriter( out );
} public void setLoginTimeout( int seconds ) throws SQLException
{
realDataSource.setLoginTimeout( seconds );
}
}

2.对数据源进行配置:

    <bean id="dataSource" class="com.allen.bookshop.common.MonitorDataSource" destroy-method="close">
<property name="realDataSource" ref="basicDataSource"/>
</bean>
   <bean id="basicDataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<property name="url" value="jdbc:oracle:thin:@192.168.0.11:1521:orcl" />
<property name="username" value="orcl" />
<property name="password" value="orcl" />
<property name="initialSize" value="20" />
<property name="maxActive" value="50" />
<property name="defaultAutoCommit" value="true" />
</bean>

至此,配置完成,现在可以访问:http://localhost:8080/bookshop/jamon/sql.jsp查看sql的执行时间了。

JAMon监控SQL执行时间的更多相关文章

  1. 用脚本定时监控SQL Server主从一致性

    用脚本定时监控SQL Server主从一致性 首先说一下我们的环境 我们使用的是事务复制,复制是单向的,主服务器和从服务器都在同一个机房,当然不同机房也可以,只需要改一下IP和端口 下面的脚本在我们的 ...

  2. DBA 需要知道N种对数据库性能的监控SQL语句

    --DBA 需要知道N种对数据库性能的监控SQL语句 -- IO问题的SQL内部分析 下面的DMV查询可以来检查当前所有的等待累积值. Select wait_type, waiting_tasks_ ...

  3. 监控SQL:执行表中所有sql语句、记录每个语句运行时间(3)

    原文:监控SQL:执行表中所有sql语句.记录每个语句运行时间(3) 通过执行一个 带参数的存储过程  exec  OpreateTB('OpreateUser','IsRun')  更新表的数据 表 ...

  4. 监控SQL:通过SQL Server的DDL触发器来监控数据库结构的变化(1)

    原文:监控SQL:通过SQL Server的DDL触发器来监控数据库结构的变化(1) 如果你要同步不同数据库之间的数据,首先会想到的是数据库复制技术,但如果让你同步数据库的结构,你会想到什么呢? 下面 ...

  5. 监控 SQL Server (2005/2008) 的运行状况

    Microsoft SQL Server 2005 提供了一些工具来监控数据库.方法之一是动态管理视图.动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的 ...

  6. Performance Monitor3:监控SQL Server的内存压力

    SQL Server 使用的资源受到操作系统的调度,同时,SQL Server在内部实现了一套调度算法,用于管理从操作系统获取的资源,主要是对内存和CPU资源的调度.一个好的数据库系统,必定在内存中缓 ...

  7. JavaMelody监控SQL

    前言 前面讲过了Javamelody的基本配置,这里简单的介绍下,如何使用Javamelody来监控JDBC以及SQL. 手码不易,转载请注明:xingoo 在网上搜索很多资料,仅有开源社区上的两篇帖 ...

  8. 第三篇——第二部分——第六文 监控SQL Server镜像

    原文:第三篇--第二部分--第六文 监控SQL Server镜像 原文出处:http://blog.csdn.net/dba_huangzj/article/details/26846203 要优化, ...

  9. java监控函数执行时间

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

随机推荐

  1. [Leetcode Week4]Merge Two Sorted Lists

    Merge Two Sorted Lists题解 原创文章,拒绝转载 题目来源:https://leetcode.com/problems/merge-two-sorted-lists/descrip ...

  2. linux C 中的volatile使用【转】

    转自:http://blog.csdn.net/sukhoi27smk/article/details/38020583 一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器 ...

  3. 【bzoj3289】mato的文件管理

    首先允许离线,一眼莫队…… 然后考虑对于每次移动,这不就是让你求逆序对嘛(QAQ) 考虑怎么移动? 每次在最后添加一个数,比这个数大的数都会与其形成一个逆序对 每次在最后移除一个数,比这个数大的数都会 ...

  4. python基础复习-1-2 数据类型-str、list、tuple、dict

    数据类型 数字 引号: 123 数值 '123' 字符串 整数:ini long 范围:(-2**31 - 2**31) num = 123 长整型 long (L) num = 123L 浮点型:f ...

  5. HDU-3320

    Alice’s Cube Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  6. [thinkphp] ajaxReturn案例

    javascript: <script> $('.ajax-post').click(function(){ var action_url=$('form').attr('action') ...

  7. thinkphp实现功能:验证码

    1.定义验证码函数 public function verify(){ /** * 在thinkPHP中如何实现验证码 * * ThinkPHP已经为我们提供了图像处理的类库ThinkPHP\Exte ...

  8. json数据格式了解

    json数据格式介绍: https://en.wikipedia.org/wiki/JSON JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式 json语法 ...

  9. CSU七月校赛B

    #include <iostream> #include<cstdio> #include<algorithm> #include<cstring> # ...

  10. POJ 2438 Children's Dining(哈密顿回路)

    题目链接:http://poj.org/problem?id=2438 本文链接:http://www.cnblogs.com/Ash-ly/p/5452615.html 题意: 有2*N个小朋友要坐 ...