AOP@Work: 用AspectJ进行性能监视,第1部分 - 编程入门网
请求的操作统计值与它们双亲的统计值 关联起来(例如,哪个 servlet 请求造成了这个数据库访问)。对于示例监视 系 统来说,我明确地 需要 嵌套的工人对象,而 不想 把自己限制在只能处理顶级 请求上。例如,所有的 Duke 书店 servlet 都把调用 BannerServlet 作为显示 页面的一部分。所以能把这些调用的次数分开是有用的,如清单 5 所示。在这 里 ,我没有显示在操作统计值中查询嵌套统计值的支持代码(可以在本文的源代码 中看到它)。在第二部分,我将重新回到这个主题,介绍如何更新 JMX 支持来 显 示像这样的嵌套统计值。
清单 5. 更新的 servlet 监视
清单 5 显示了修订后进行 serverlet 请求跟踪的监视建议。余下的全部代 码 与 清单 1 相同:或者推入基方面 AbstractRequestMonitor 方面,或者保持一 致。 AOP@Work: 用AspectJ进行性能监视,第1部分(10)时间:2011-09-07 IBM Ron BodkinJDBC 监视 设置好性能监视框架后,我现在准备跟踪数据库的连接次数以及数据库语句 的 时间。而且,我还希望能够把数据库语句和实际连接的数据库关联起来(在 lookupStats() 方法中)。为了做到这一点,我创建了两个跟踪 JDBC 语句和连 接信息的方面: JdbcConnectionMonitor 和 JdbcStatementMonitor。 这些方面的一个关键职责是跟踪对象引用的链。我想根据我用来连接数据库 的 URI 跟踪请求,或者至少根据数据库名称来跟踪。这就要求跟踪用来获得连接的 数据源。我还想进一步根据 SQL 字符串跟踪预备语句(在执行之前就已经准备 就 绪)。最后,我需要跟踪与正在执行的语句关联的 JDBC 连接。您会注意到: JDBC 语句 确实 为它们的连接提供了存取器;但是,应用程序服务器和 Web 应 用程序框架频繁地使用修饰器模式包装 JDBC 连接。我想确保自己能够把语句与 我拥有句柄的连接关联起来,而不是与包装的连接关联起来。 JdbcConnectionMonitor 负责测量数据库连接的性能统计值,它也把连接与 它 们来自数据源或连接 URL 的元数据(例如 JDBC URL 或数据库名称)关联在一 起 。JdbcStatementMonitor 负责测量执行语句的性能统计值,跟踪用来取得语句 的 连接,跟踪与预备(和可调用)语句关联的 SQL 字符串。清单 6 显示了 JdbcConnectionMonitor 方面。 清单 6. JdbcConnectionMonitor 方面
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |