DataSqlMonitor
This commit is contained in:
@@ -70,6 +70,9 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource
|
|||||||
@Resource(required = false)
|
@Resource(required = false)
|
||||||
protected DataNativeSqlParser nativeSqlParser;
|
protected DataNativeSqlParser nativeSqlParser;
|
||||||
|
|
||||||
|
@Resource(required = false)
|
||||||
|
protected DataSqlMonitor sqlMonitor;
|
||||||
|
|
||||||
protected BiFunction<EntityInfo, Object, CharSequence> sqlFormatter;
|
protected BiFunction<EntityInfo, Object, CharSequence> sqlFormatter;
|
||||||
|
|
||||||
protected BiConsumer errorCompleteConsumer = (r, t) -> {
|
protected BiConsumer errorCompleteConsumer = (r, t) -> {
|
||||||
@@ -385,8 +388,8 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void slowLog(long startTime, String... sqls) {
|
protected void slowLog(long startTime, String... sqls) {
|
||||||
if (slowmsError > 0 || slowmsWarn > 0) {
|
|
||||||
long cost = System.currentTimeMillis() - startTime;
|
long cost = System.currentTimeMillis() - startTime;
|
||||||
|
if (slowmsError > 0 || slowmsWarn > 0) {
|
||||||
if (slowmsError > 0 && cost > slowmsError) {
|
if (slowmsError > 0 && cost > slowmsError) {
|
||||||
logger.log(
|
logger.log(
|
||||||
Level.SEVERE,
|
Level.SEVERE,
|
||||||
@@ -399,6 +402,9 @@ public abstract class AbstractDataSqlSource extends AbstractDataSource
|
|||||||
+ " ms, content: " + Arrays.toString(sqls));
|
+ " ms, content: " + Arrays.toString(sqls));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (sqlMonitor != null) {
|
||||||
|
sqlMonitor.visitCostTime(this, cost, sqls);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
protected String parseNotExistTableName(SQLException e) {
|
protected String parseNotExistTableName(SQLException e) {
|
||||||
|
|||||||
17
src/main/java/org/redkale/source/DataSqlMonitor.java
Normal file
17
src/main/java/org/redkale/source/DataSqlMonitor.java
Normal 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);
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user