Close sqlRwStat, sqlLastStatSQL, sqlLargeStat, big size sql functions and only leave sqlHighStat function when useSqlStat=1

This commit is contained in:
TommyZC
2023-04-04 10:52:55 +08:00
parent d6965e56c9
commit b74dde1e51
3 changed files with 28 additions and 33 deletions

View File

@@ -942,10 +942,10 @@ public final class DbleServer {
public void run() {
Map<String, UserStat> statMap = UserStatAnalyzer.getInstance().getUserStatMap();
for (UserStat userStat : statMap.values()) {
userStat.getSqlLastStat().recycle();
userStat.getSqlRecorder().recycle();
//userStat.getSqlLastStat().recycle();
//userStat.getSqlRecorder().recycle();
userStat.getSqlHigh().recycle();
userStat.getSqlLargeRowStat().recycle();
//userStat.getSqlLargeRowStat().recycle();
}
}
};

View File

@@ -8,12 +8,9 @@ package com.actiontech.dble.manager.response;
import com.actiontech.dble.config.ErrorCode;
import com.actiontech.dble.manager.ManagerConnection;
import com.actiontech.dble.net.mysql.OkPacket;
import com.actiontech.dble.statistic.stat.UserStat;
import com.actiontech.dble.statistic.stat.UserStatAnalyzer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Map;
public final class ReloadSqlSlowTime {
private ReloadSqlSlowTime() {
@@ -27,10 +24,10 @@ public final class ReloadSqlSlowTime {
return;
}
Map<String, UserStat> statMap = UserStatAnalyzer.getInstance().getUserStatMap();
for (UserStat userStat : statMap.values()) {
userStat.setSlowTime(time);
}
//Map<String, UserStat> statMap = UserStatAnalyzer.getInstance().getUserStatMap();
//for (UserStat userStat : statMap.values()) {
// userStat.setSlowTime(time);
//}
LOGGER.info(String.valueOf(c) + " reload @@sqlslow=" + time + " success by manager");

View File

@@ -6,8 +6,6 @@
package com.actiontech.dble.statistic.stat;
import com.actiontech.dble.DbleServer;
import com.actiontech.dble.server.parser.ServerParse;
import com.actiontech.dble.statistic.SQLRecord;
import com.actiontech.dble.statistic.SQLRecorder;
import java.util.concurrent.atomic.AtomicInteger;
@@ -19,7 +17,7 @@ import java.util.concurrent.atomic.AtomicInteger;
*/
public class UserStat {
private volatile int sqlSlowTime = DbleServer.getInstance().getConfig().getSystem().getSqlSlowTime();
//private volatile int sqlSlowTime = DbleServer.getInstance().getConfig().getSystem().getSqlSlowTime();
private String user;
@@ -102,10 +100,10 @@ public class UserStat {
}
public void setSlowTime(int time) {
this.sqlSlowTime = time;
this.sqlRecorder.clear();
}
//public void setSlowTime(int time) {
// this.sqlSlowTime = time;
// this.sqlRecorder.clear();
//}
public void clearSql() {
this.sqlLastStat.reset();
@@ -155,33 +153,33 @@ public class UserStat {
//slow sql
long executeTime = endTime - startTime;
if (executeTime >= sqlSlowTime) {
SQLRecord record = new SQLRecord();
record.setExecuteTime(executeTime);
record.setStatement(sql);
record.setStartTime(startTime);
this.sqlRecorder.add(record);
}
//if (executeTime >= sqlSlowTime) {
// SQLRecord record = new SQLRecord();
// record.setExecuteTime(executeTime);
// record.setStatement(sql);
// record.setStartTime(startTime);
// this.sqlRecorder.add(record);
//}
//sqlRwStat
this.sqlRwStat.setConcurrentMax(concurrentMax.get());
this.sqlRwStat.add(sqlType, sql, executeTime, netInBytes, netOutBytes, startTime, endTime);
//this.sqlRwStat.setConcurrentMax(concurrentMax.get());
//this.sqlRwStat.add(sqlType, sql, executeTime, netInBytes, netOutBytes, startTime, endTime);
//sqlLastStatSQL
this.sqlLastStat.add(sql, executeTime, startTime, endTime);
//this.sqlLastStat.add(sql, executeTime, startTime, endTime);
//sqlHighStat
this.sqlHighStat.addSql(sql, executeTime, startTime, endTime);
//sqlLargeStat large than 10000 rows
if (sqlType == ServerParse.SELECT && sqlRows > 10000) {
this.sqlLargeStat.add(sql, sqlRows, executeTime, startTime, endTime);
}
//if (sqlType == ServerParse.SELECT && sqlRows > 10000) {
// this.sqlLargeStat.add(sql, sqlRows, executeTime, startTime, endTime);
//}
//big size sql
if (resultSetSize >= DbleServer.getInstance().getConfig().getSystem().getMaxResultSet()) {
this.sqlResultSizeRecorder.addSql(sql, resultSetSize);
}
//if (resultSetSize >= DbleServer.getInstance().getConfig().getSystem().getMaxResultSet()) {
// this.sqlResultSizeRecorder.addSql(sql, resultSetSize);
//}
//after
//-----------------------------------------------------