监听 JDBC 次通话
monitor JDBC calls
我有一个 Java 应用程序连接到 Postgres 数据库并发出一些 SQL 语句。我想监视连接以获取有关每个查询执行速度的统计信息。我尝试过使用 JAMon (http://jamonapi.sourceforge.net/),但不是很了解它,而且发现文档非常缺乏。
这是我打开连接的方式:
Class.forName("com.jamonapi.proxy.JAMonDriver");
con = DriverManager.getConnection("jdbc:jamon:postgresql://localhost:5432/myDB?jamonrealdriver=org.postgresql.Driver", "user", "pw");
不过我没有发现任何差异。一切仍然正常,所以我想这至少没有配置错误,但我在任何地方都没有得到日志或任何东西。我还需要设置什么吗?
我也尝试添加这一行,但它也没有任何作用:
con = MonProxyFactory.monitor(con);
所以基本上,我正在寻找的是一个完整且易于理解的初学者指南,用于使用 JAMon(或者任何其他监控工具,只要易于设置)监控 JDBC 呼叫。
注意:完成的程序应该 运行 在我没有无限制访问权限的远程数据库上,这意味着我无法编辑 postgresql.conf 或访问数据库的日志文件。这意味着我无法使用 Can I log query execution time in PostgresSQL 8.4?
的解决方案
我也尝试过使用 JDbMonitor (http://www.jdbmonitor.com/),我设法将其设置为监视器成功连接的点(它从 Java 应用程序找到了我打开的数据库连接) ,但从未有任何查询 displayed/logged。所以对那个显示器有一点帮助也很好 :D.
编辑:log4jdbc (https://github.com/arthurblake/log4jdbc) 是一个可行的选择吗?最新版本说它只适用于 Java 1.7,所以我不确定它是否能工作,但会在此处等待答案时尝试一下...
可以使用P6Spy
https://p6spy.github.io/p6spy/2.0/install.html
https://p6spy.readthedocs.io/en/latest/install.html
一旦与应用程序正确集成,它就会生成一个综合日志。
我广泛使用了 Log4jdbc,它运行良好。您只需要替换 jdbc 连接字符串并在您的类路径中包含原始的 .jar 驱动程序文件,它就像一个魅力。如果您使用 SL4FJ 作为日志外观是 must-have。
我有一个 Java 应用程序连接到 Postgres 数据库并发出一些 SQL 语句。我想监视连接以获取有关每个查询执行速度的统计信息。我尝试过使用 JAMon (http://jamonapi.sourceforge.net/),但不是很了解它,而且发现文档非常缺乏。
这是我打开连接的方式:
Class.forName("com.jamonapi.proxy.JAMonDriver");
con = DriverManager.getConnection("jdbc:jamon:postgresql://localhost:5432/myDB?jamonrealdriver=org.postgresql.Driver", "user", "pw");
不过我没有发现任何差异。一切仍然正常,所以我想这至少没有配置错误,但我在任何地方都没有得到日志或任何东西。我还需要设置什么吗?
我也尝试添加这一行,但它也没有任何作用:
con = MonProxyFactory.monitor(con);
所以基本上,我正在寻找的是一个完整且易于理解的初学者指南,用于使用 JAMon(或者任何其他监控工具,只要易于设置)监控 JDBC 呼叫。
注意:完成的程序应该 运行 在我没有无限制访问权限的远程数据库上,这意味着我无法编辑 postgresql.conf 或访问数据库的日志文件。这意味着我无法使用 Can I log query execution time in PostgresSQL 8.4?
的解决方案我也尝试过使用 JDbMonitor (http://www.jdbmonitor.com/),我设法将其设置为监视器成功连接的点(它从 Java 应用程序找到了我打开的数据库连接) ,但从未有任何查询 displayed/logged。所以对那个显示器有一点帮助也很好 :D.
编辑:log4jdbc (https://github.com/arthurblake/log4jdbc) 是一个可行的选择吗?最新版本说它只适用于 Java 1.7,所以我不确定它是否能工作,但会在此处等待答案时尝试一下...
可以使用P6Spy
https://p6spy.github.io/p6spy/2.0/install.html
https://p6spy.readthedocs.io/en/latest/install.html
一旦与应用程序正确集成,它就会生成一个综合日志。
我广泛使用了 Log4jdbc,它运行良好。您只需要替换 jdbc 连接字符串并在您的类路径中包含原始的 .jar 驱动程序文件,它就像一个魅力。如果您使用 SL4FJ 作为日志外观是 must-have。