快速业务通道

Java运行时监控,第2部分: 编译后插装和性能监控 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
的数据库调用汇总平均运行时间和请求量。

清单 14 显示了 spring-jdbc-tracing.xml 文件中的新 bean 定义的实例。注意在 InstrumentedJDBC.DataSource bean 中定义的 JDBC URL 使用了 munged 约定。

清单 14. spring-jdbc-tracing.xml 片段

<!-- A DataSource Interceptor --> <bean id="InstrumentedJDBCDataSourceInterceptor"   class="org.runtimemonitoring.spring.interceptors.SpringDataSourceInterceptor">   <property name="interceptorName" value="InstrumentedJDBC.DataSource"/> </bean> <!-- A DataSource for Instrumented JDBC --> <bean id="InstrumentedJDBC.DataSource"   class="org.apache.commons.dbcp.BasicDataSource"   destroy-method="close"   p:url="jdbc:!itracer!wrapped:postgresql://DBSERVER:5432/runtime"   p:driverClassName="org.runtimemonitoring.jdbc.WrappingJDBCDriver"   p:username="scott"   p:password="tiger"   p:initial-size="2"   p:max-active="10"   p:pool-prepared-statements="true"   p:validation-query="SELECT CURRENT_TIMESTAMP"   p:test-on-borrow="false"   p:test-while-idle="false"/> <!-- The Spring proxy for the DataSource --> <bean id="InstrumentedJDBC.DataSource.Proxy"   class="org.springframework.aop.framework.ProxyFactoryBean">   <property name="target" ref="InstrumentedJDBC.DataSource"/>   <property name="optimize"><value>true</value></property>   <property name="proxyTargetClass"><value>true</value></property>   <property name="interceptorNames">    <list>      <idref local="InstrumentedJDBCDataSourceInterceptor"/>    </list>   </property> </bean> <!-- The Spring proxy for the DataSource which is injected into the DAO bean instead of the DataSource bean itself. --> <bean id="InstrumentedJDBC.DataSource.Proxy"   class="org.springframework.aop.framework.ProxyFactoryBean">   <property name="target" ref="InstrumentedJDBC.DataSource"/>   <property name="optimize"><value>true</value></property>   <property name="proxyTargetClass"><value>true</value></property>   <property name="interceptorNames">    <list>      <idref local="InstrumentedJDBCDataSourceInterceptor"/>    </list>   </property> </bean>

Java运行时监控,第2部分: 编译后插装和性能监控(15)

时间:2011-02-13 IBM Nicholas Whitehead

图 10 显示了这个测试用例的 APM 指标树:

图 10. 插装的 JDBC 指标树

Java运行时监控,第2部分: 编译后插装和性能监控 - 编程入门网

有了这个例子中的大量数据,就可以使用一些具体例子展示线程 BLOCK 和 WAIT 的起因。SpringRunnerJDBC 在每一个循环末尾的一个简单的语句 Thread.currentThread().join(100) 周围添加了一个 ThreadInfoCapture

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号