DataSqlMonitor

This commit is contained in:
redkale
2024-06-06 18:11:40 +08:00
parent 02202e3d06
commit 4ee64ed1ef
2 changed files with 24 additions and 1 deletions

View File

@@ -70,6 +70,9 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource
@Resource(required = false)
protected DataNativeSqlParser nativeSqlParser;
@Resource(required = false)
protected DataSqlMonitor sqlMonitor;
protected BiFunction<EntityInfo, Object, CharSequence> sqlFormatter;
protected BiConsumer errorCompleteConsumer = (r, t) -> {
@@ -385,8 +388,8 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource
}
protected void slowLog(long startTime, String... sqls) {
long cost = System.currentTimeMillis() - startTime;
if (slowmsError > 0 || slowmsWarn > 0) {
long cost = System.currentTimeMillis() - startTime;
if (slowmsError > 0 && cost > slowmsError) {
logger.log(
Level.SEVERE,
@@ -399,6 +402,9 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource
+ " ms, content: " + Arrays.toString(sqls));
}
}
if (sqlMonitor != null) {
sqlMonitor.visitCostTime(this, cost, sqls);
}
}
protected String parseNotExistTableName(SQLException e) {

View File

@@ -0,0 +1,17 @@
/*
*/
package org.redkale.source;
/**
* DataSource的监控借口
*
* <p>详情见: https://redkale.org
*
* @author zhangjx
* @since 2.8.0
*/
public interface DataSqlMonitor {
public void visitCostTime(DataSqlSource source, long costMills, String... sqls);
}