- 浏览: 139830 次
- 性别:
- 来自: 重庆
最新评论
-
老梦a:
要是保存到数据库,是怎么做呢,数据流这块,不太懂。。(*^__ ...
使用flash摄像头拍照的简单实践 -
wolf521hf:
学习 最近正在看相关的文档 标记下
Spring安全权限管理(Spring Security) -
yue_hun1025:
怎么下载不了??????
java反编译工具jad下载 -
ry.china:
你把这个放到jdk的bin目录下就可以了
java反编译工具jad下载 -
幻樱释:
不知道能不能看懂哦。
javascript高级程序设计实例代码
本想把 p6spy 结合 SQL Profiler 或 IronTrack SQL 的使用介绍掇凑于一块来写。简单点说,只是一贴上图样,篇幅便需拖拉难遂人愿,也好,索性把它们分成两个篇章。一来每篇主旨鲜明,二来五篇成一系列比起四更来的自然且吉利。
前面讲过 p6spy 本身就可利用 Log4j 的 SocketAppender 向远端发送日志,SQL
Profiler 不过是在这个基础上作了进一步拓展。而接下来要说的 IronTrack SQL 就略有不同了,看它带的
p6spy.properties 文件,里面有 IronTrack SQL 给 p6spy
定制的一个模块:module.ibeam=com.irongrid.ibeam.server.IBeamFactory。它用到了
log4j-1.2.8.jar,不过还得研究下 Log4j 在其中所起的作来。现在就来介绍 p6spy 结合 IrconTrack SQL
的使用,最好是你知道如何单独使用 p6spy。压缩包里有文档:是 IronTrackSQLdocsindex.html。
p6spy + IronTrack SQL 观察 SQL 语句
下载 IronTrack
SQL:http://www.dlog.cn/uploads/files/IronTrackSQL.zip,网上很多文章说从
http://www.irongrid.com/ironeyesql
下载,而实际上这个域名不存在了。若是第一个地址无法下载。好再看使用步骤,解开 IronTrackSQL.zip,可以看到在第一级目录中有必须的
p6spy.ar、log4j-1.2.8.jar、irontracksql.jar、spy.properties、
irongrid.properies 文件。
1. 把压缩包中的 irontracksql.jar 拷到 p6spy.jar 所在的目录中,比如 Tomcat 5.x 的 common/lib 目录中
2. 压缩包中还有个 p6spy.properties 文件,我们就在这个文件基础上少作改动,把它放在加载 p6spy.jar 的加载器能见的位置上,如 Tomcat 5.x 的 common/classes 目录中。
注意:如果你在 Tomcat 中,p6spy.jar 和 sqlprofiler.jar 是由 commons 加载器加载的,那么要用到的
log4j-1.2.8.jar 也必须放在与他们同一目录中由 cmmons 类加载器来加载,如果仍然在应用的
WEB-INF/lib目录中的话,log4j 的类对于 p6spy 和 sqlprofiler
来说不可见。如果你对于类加载器不熟的话,还是别把事情搞太复杂了,把那些 jar 文件全部放到应用的 WEB-INF/lib
中吧,但是配置连接池的时候又可能碰到新问题。
3. 修改 p6spy.properties 文件,只启用你所用的 realdriver,如对于 oracle 是 realdrive=oraclejdbc.driver.OacleDriver。
看到其中对模块 ibeam 的配置 monitorport=2000,我们就使用这个监听端口吧。
4. 命令行下进到 IronTrackSQL 的解压目录,执行 java -jar irontracksql.jar 来启动IronTrack SQL,监听 p6spy 的 SQL 语句输出
5. 启动应用,进行业务操作,就能在 IronTrack SQL 界面上直观的看到你需要的东西了。
不多说了,看看界面吧,这个 IronTrackSQL 看起来比 SQL Profiler 要专业些。
可设定监听端口,导出导入历史数据。
irongrid.properties 文件中保存了 Iron TrackSQL 运行时的配置数据。与 SQL Profiler 相比,它有以下几个特点:
1. 界面标志些,使用了 JFreeChart 来展示图表
2. 既能实时监听,又能保存历史数据来对比分析
3. 并不要求先启动 Iron TrackSQL,相比于 SQL Profiler 的被动监听,它采取的是主动去查询。更适于远程监控,想在何时监控就启动,完事就关闭,不至于像 SQL Profiler 那样一旦监听窗口坏了一下,就得重启应用。
一:P6SPY SQL PROFILER简介
弄JDBC,Hibernate,iBATIS时,想显示sql语句,可以设置show_sql为true来达到这个目的,但是参数值全是像PreparedStatement一样,用?来代替的。
用p6spy和SQL Profiler可以达到显示的那些参数原值的目的,可读性很强。然后可以直接把带有参数原值的sql语句拷贝到pl/sql或TOAD中跑一下,非常容易定位sql的错误在哪里。
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。
SQL Profiler 是一个由 Jahia.org 提供的基于 P6Spy 引擎的快速剖析工具,用来统计 SQL 查询语句以便了解哪里是性能瓶颈,在哪里创建索引或者采取相应的办法才能提高效率,并且能根据 SQL 查询语句的情况帮你生成合适的索引脚本。
这个小工具可以实时地显示数据库查询的情况,通过集成的 SQL
解析器,在访问大多数表与列上面建立统计分析,并生成索引脚本。当然,其它的信息也会进行收集和显示,比如:单个数据库请求的时间、一类请求的时间以及所
有请求的时间。因此,可以有效地通过视图的排序来检测数据的性能问题所在。这个工具对于大量的需要进行分析的请求是非常有用的,而不是人工一个个地去做分
析。当你需要知道比如对相同的表和列进行访问但是采用不同的查询值时,这种分组的查询可以用建立在 ANTLR 上的 SQL 解析器进行分析。
二:P6SPY与系统集成
首先,你的应用系统应当是基于数据库的,然后你需要去获取 P6Spy 相关的文件。下面介绍 P6Spy 的安装与使用的详细操作过程:
1. 下载 <http://www.p6spy.com/download.html
> P6Spy 的文件包,也可以下载它的源文件包来研究;
2. 把 P6Spy 的 jar 包 p6spy.jar 放到 CLASSPATH 中,如果是 Web 应用程序则放在 YourWebApp/WEB-INF/lib/ 目录下;
3. 把 spy.properties 放到 lib目录下,如果是 Web 应用程序放在 YourWebApp/WEB-INF/ classes / 目录下,注意不是 lib / 目录下,同时tomcat/bin目录下放一份,否则将出现找不到数据库驱动异常
4. 修改你应用系统中的数据库驱动名称为 P6Spy 的驱动程序名称 com.p6spy.engine.spy.P6SpyDriver 其它的全部使用默认值,暂时先都不用修改;
5. 打开配置文件 spy.properties 文件,找到 realdriver,把它的值改为你的应用系统的真正的数据库驱动名称;
6. 运行你的应用程序或 Web 应用程序,可以在 spy.log(该文件的位置根据你的需要存放位置在spy.properties的logfile属性进行设置) 里看到 P6Spy 监测到的 SQL 详细的执行与操作的记录信息了,包含有完整的 SQL 执行参数。
三:P6SPY +SQL Profiler与系统集成
首先,你的应用系统同样也应当是基于数据库的,而且安装了P6SPY,然后你需要去获取 SQL Profiler 相关的文件。下面介绍 SQL Profiler 的安装与使用的详细操作过程:
1. 下载 <http://sourceforge.net/projects/sqlprofiler/
> SQL Profiler 的文件包进行安装;
2. 把 sqlprofiler.jar 放到 CLASSPATH 中,如果是 Web 应用程序则放在 YourWebApp/WEB-INF/lib/ 目录下;
3. 把
spy.properties覆盖之前的那个spy.properties文件,位置目录跟p6spy是一样的,修改你应用系统中的数据库驱动名称为
P6Spy 的驱动程序名称 com.p6spy.engine.spy.P6SpyDriver 其它的全部使用默认值,暂时不用修改;
4. 打开 spy.properties 文件,把 realdriver 的值改为你的程序的数据库驱动名称;
5. 注意要先运行 java -jar sqlprofiler.jar(在这个jar所在的目录下去运行) 来启动 SQL Profiler,并成功看到启动界面;
6. 然后再启动你的应用程序或服务器,并开始进行正常的系统请求处理操作;
7. 这样就可以在 SQL Profiler 图形化的界面上看到结果并进行分析了。
个人使用sqlprofiler配置没报错,但是没有日志,搞不清楚是怎么回事
发表评论
-
数据库JDBC驱动下载大全
2017-03-26 14:14 22621.数据库驱动下载地址 Cache : http://w ... -
MINA粘包断包专题研究
2015-05-13 00:25 0一、前述: 近期做项目用到了MINA,其中遇到了一个 ... -
Mybatis版PropertyFilter实现
2014-07-03 23:50 1515<!--前段时间看到hibernate的Proper ... -
java字符串应用之表达式解析器
2013-12-26 13:33 5266一、表达式的组成 1、数字 2、运算符:+ - ... -
全文检索Lucene使用与优化
2012-03-22 13:09 988转自http://www.oecp.cn/hi/chengzh ... -
Spring 里JMS和DB的事务集成
2012-02-10 18:59 1717http://www.javaworld.com/jav ... -
Java实现在bmp图像文件中隐藏与导出信息
2011-08-21 00:20 1396BMP图像文件,即所谓的位图文件。在位图中,其表示方式是 ... -
Spring事务配置的五种方式
2011-06-10 20:07 1001前段时间对Spring的事务配置做了比较深入的研究,在此之间对 ... -
spring2.5 mvc common-validator 集成应用
2010-12-10 12:59 2907常常写客服端验证代码,写多了就感觉是否有啥东西可以简化处理的, ... -
通过java2dAPI绘制报表
2010-12-05 21:41 1460/* *只画直线,矩形,椭圆,只能向右下角 ... -
调整 JVM 开关以提高性能
2010-12-04 16:29 1059http://blog.csdn.net/petehero/a ... -
CGlib简单介绍
2010-07-06 21:58 934转载:http://hacker0825.blog.163.c ... -
java开源论坛系统
2010-01-04 22:52 4163java开源论坛系统 ================ m ... -
纯jsp日历
2009-12-16 09:44 1171网上找了一大堆日历,感觉跟自己的想要的有点差别,索性自己修改了 ... -
tomcat6学习笔记( 包括和apache2的集成,集群,SSI,SSL,安全域,嵌入应用程序,访问控制平台和管理平台)
2009-12-15 11:27 2458一.访问tomcat的控制平台和管理平台 首先下载tom ... -
有用的ext grid 例子
2009-11-06 14:22 4336有用的ext grid 例子 ... -
Spring安全权限管理(Spring Security)
2009-11-04 14:02 6458Spring Security以前叫做acegi,是后来才成为 ... -
spring事务传播属性与隔离级别
2009-10-20 15:22 2077一、Propagation (事务的传播属性) Pro ... -
一个用Spring AOP实现异常处理和记录程序执行时间的实例
2009-10-20 15:05 31615.11 一个用Sprin ... -
最新的jsp系统与discuz整合(含源码)
2009-10-13 13:44 22351>登录discuz后台:UCenter应用管理---- ...
相关推荐
p6spy 是一个开源的 Java 框架,它的主要功能是在不修改代码的情况下,监控和记录 Java 应用程序中执行的所有 SQL 语句。这个工具对于开发者来说非常有用,因为它可以帮助定位性能瓶颈,特别是在使用 ORM(对象关系...
配置完成后,p6spy将会在应用程序启动时自动加载,开始记录并分析所有执行的SQL语句。 【总结】 p6spy是一个强大的工具,对于理解和优化Java应用程序中的数据库操作非常有帮助。通过简单配置,它可以提供详细的SQL...
P6Spy是一款开源的Java工具,它允许开发者捕获和记录应用程序与数据库之间的交互,特别是SQL语句的执行。本文将详细探讨如何使用P6Spy来打印iBatis(现为MyBatis)执行的SQL语句,以便进行性能分析和调试。 首先,...
P6spy是一个JDBC Driver的包装工具,p6spy通过对JDBC Driver的封装以达到对SQL语句的监听和分析,以达到各种目的。 p6spy的安装步骤: 1. 下载p6spy的安装包 2. 把p6spy的jar包放到Classpath中,如果是WEB App...
8. 之后,P6Spy将在指定的日志文件(如`c:/spy.log`)中记录所有的数据库操作,包括完整的SQL语句和执行详情。 通过P6Spy,我们可以得到诸如SQL语句的原始格式、执行时间、异常信息等详细信息,这对于分析和优化...
P6Spy是一个广泛使用的开源框架,它允许开发者无侵入地监控和记录应用程序中的所有SQL语句。这个项目的目标是借鉴P6Spy的部分源码,创建一个自定义的SQL执行监控器,以满足特定的需求或提供更定制化的功能。 P6Spy...
一旦启用 P6Spy,每次应用程序执行 SQL 语句时,P6Spy 都会记录这些 SQL 的详细信息,包括执行前后的原始 SQL、执行参数、返回结果以及执行时间等,这对于性能调优和问题排查非常有用。 【排除ResultSet】 P6Spy ...
1. **SQL日志记录**:P6Spy可以捕获并记录所有执行的SQL语句,包括原始的SQL、执行时间、返回结果等,这对于追踪数据库操作和性能分析非常有用。 2. **日志格式自定义**:P6Spy允许用户通过配置文件定制日志输出...
这篇博客“使用p6spy完整显示hibernate的SQL语句”可能详细解释了如何配置和使用p6spy来跟踪Hibernate生成并执行的SQL。 首先,`p6spy`是一个Java数据库代理库,它可以拦截并记录所有通过JDBC发送到数据库的SQL语句...
1. **SQL日志记录**:P6Spy 可以捕获并记录应用程序执行的所有SQL语句,包括参数和执行时间,这对于调试和性能分析非常有用。 2. **格式化输出**:P6Spy 提供了自定义的日志格式,可以按照开发者的需求定制输出信息...
标题中提到的“输出完整SQL”,意味着P6Spy可以捕获并记录应用程序发出的所有SQL语句,包括参数。这对于调试和性能分析非常有用,特别是当SQL语句是动态生成或者使用了预编译的PreparedStatement时。 5. **兼容性*...
总结来说,P6Spy和SqlProfiler是Java开发中不可或缺的数据库监控工具。它们能够帮助我们深入了解应用程序与数据库的交互,从而进行有效的性能优化和问题定位。在日常开发和维护过程中,正确使用这两个工具可以显著...
首先,p6spy的核心功能是SQL日志记录,它能够捕获应用程序执行的所有SQL语句,并将其详细信息输出到日志文件中。这对于性能调优、故障排查以及审计都是非常有用的。在原版p6spy中,用户需要配置`spy.properties`文件...
p6spy dataSource 配置 监听真实sql语句
通过使用SQL Profiler,你可以追踪SQL Server实例上的事件,如T-SQL语句的执行、锁争用、索引使用情况等。这有助于找出慢查询和不合适的索引,从而提高数据库性能。配置SQL Profiler通常涉及创建跟踪模板、选择要...
1. **SQL日志记录**:P6Spy能够捕获并记录应用程序执行的所有SQL语句,包括参数值,这对于分析SQL性能和定位问题非常有价值。 2. **格式化输出**:P6Spy可以按照自定义的格式输出SQL日志,使其更易于阅读和分析。 ...
6. **测试和分析**:启动或重启WebLogic Server,然后运行应用程序,观察`spy.log`(默认的日志文件)中记录的SQL执行详情。通过这些信息,你可以发现执行时间长的SQL语句,优化数据库查询,提升应用性能。 7. **...
在实际应用中,我们可以先用P6Spy收集基础的SQL执行数据,然后通过IronTrack SQL进行深入分析,找出性能问题并采取相应的优化措施。例如,如果发现某个SQL查询执行时间过长,可以进一步查看它的执行计划,检查是否...
- 通过P6spy收集的日志信息,你可以将这些SQL语句导入到SqlProfiler中进行更深入的分析。 4. **测试与调试** - 启动Tomcat,运行应用程序,进行数据库操作。 - 检查P6spy的日志文件,查看SQL语句的执行情况。 -...
P6Spy的工作原理是通过代理模式,拦截SQL语句并记录其执行情况,这有助于开发者进行性能优化和问题排查。 一、P6Spy简介 P6Spy是一个SQL日志记录器,它能够捕获并记录应用程序中的所有数据操作,包括插入、更新、...