如何创建一个功能来测量java中查询的开始时间、结束时间和执行时间?
下午好!我需要创建允许我测量查询开始/结束时间和持续时间的功能。我尝试使用log4j库并创建自己的记录器,但无法在applicationSpringContext中指定它。也许有人可以建议如何正确处理这个问题?我可以使用什么工具来完成这些任务?非常感谢你的帮助! 迈洛格:如何创建一个功能来测量java中查询的开始时间、结束时间和执行时间?,java,spring,hibernate,log4j,benchmarking,Java,Spring,Hibernate,Log4j,Benchmarking,下午好!我需要创建允许我测量查询开始/结束时间和持续时间的功能。我尝试使用log4j库并创建自己的记录器,但无法在applicationSpringContext中指定它。也许有人可以建议如何正确处理这个问题?我可以使用什么工具来完成这些任务?非常感谢你的帮助! 迈洛格: package net.proselyte.springbootdemo; import org.hibernate.engine.internal.StatisticalLoggingSessionEventListene
package net.proselyte.springbootdemo;
import org.hibernate.engine.internal.StatisticalLoggingSessionEventListener;
import org.jboss.logging.Logger;
public class NewStatisticalLoggingSessionEventListener extends StatisticalLoggingSessionEventListener {
private static final Logger log = Logger.getLogger(NewStatisticalLoggingSessionEventListener.class);
@Override
public void jdbcExecuteStatementStart() {
//Write method
}
@Override
public void jdbcPrepareStatementEnd() {
//Write method
}
}
尝试添加时的MyApplicationContext:
logging.level.net.proselyte.springbootdemo.NewStatisticalLoggingSessionEventListener=info
我的任务应具有以下输出:
startTime=2020-09-18 Time 10:30:1231
endTime=2020-09-18 Time 10:30:2500
requestExecutionTime=60;
success/unsuccess
您可以使用以下选项:
long startTime = System.currentTimeMillis();
// Some JDBC call
long finishTime = System.currentTimeMillis();
long timeElapsed = finish - start;
您可以使用以下选项:
long startTime = System.currentTimeMillis();
// Some JDBC call
long finishTime = System.currentTimeMillis();
long timeElapsed = finish - start;
有很多方法,如果我对每个方法都调用start()stop(),这将花费很长时间。我需要一个通用的选项我见过像New Relic这样的技术可以做到这一点,但这里有一个名为“log4jdbc”的库。您可以参考有许多方法,如果我对每一个方法调用start()stop(),这将花费很长时间。我需要一个通用的选项我见过像New Relic这样的技术可以做到这一点,但这里有一个名为“log4jdbc”的库。你可以参考