每分钟线程加入打印内存

lvxinran 2020-11-22 07:40:52 +08:00
parent f8a502b6b0
commit 3d6da1905c
1 changed files with 39 additions and 23 deletions

View File

@ -39,11 +39,15 @@ import com.ljsd.jieling.logic.store.BuyGoodsLogic;
import com.ljsd.jieling.logic.store.StoreLogic; import com.ljsd.jieling.logic.store.StoreLogic;
import com.ljsd.jieling.network.server.ProtocolsManager; import com.ljsd.jieling.network.server.ProtocolsManager;
import com.ljsd.jieling.util.MessageUtil; import com.ljsd.jieling.util.MessageUtil;
import io.netty.util.internal.PlatformDependent;
import manager.STableManager; import manager.STableManager;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.util.ReflectionUtils;
import java.lang.reflect.Field;
import java.util.*; import java.util.*;
import java.util.concurrent.atomic.AtomicLong;
public class MinuteTask extends Thread { public class MinuteTask extends Thread {
private static final Logger LOGGER = LoggerFactory.getLogger(MinuteTask.class); private static final Logger LOGGER = LoggerFactory.getLogger(MinuteTask.class);
@ -104,12 +108,12 @@ public class MinuteTask extends Thread {
e.printStackTrace(); e.printStackTrace();
LOGGER.error("Exception::=>{}",e.toString()); LOGGER.error("Exception::=>{}",e.toString());
} }
try { // try {
fiveMinuteOnlineSend(); // fiveMinuteOnlineSend();
}catch (Exception e){ // }catch (Exception e){
e.printStackTrace(); // e.printStackTrace();
LOGGER.error("Exception::=>{}",e.toString()); // LOGGER.error("Exception::=>{}",e.toString());
} // }
try { try {
CheckFight.getInstance().luaHotFix(); CheckFight.getInstance().luaHotFix();
MongoUtil.getInstence().lastUpdate(); MongoUtil.getInstence().lastUpdate();
@ -150,29 +154,30 @@ public class MinuteTask extends Thread {
directMemoryGet();//打印堆外内存
LOGGER.info("MinuteTask end..."); LOGGER.info("MinuteTask end...");
} catch (Exception e) { } catch (Exception e) {
LOGGER.error("e",e); LOGGER.error("e",e);
} }
} }
private void fiveMinuteOnlineSend() { //弃用
Calendar calendar = Calendar.getInstance(); // private void fiveMinuteOnlineSend() {
int minute = calendar.get(Calendar.MINUTE); // Calendar calendar = Calendar.getInstance();
if(minute%5 == 0){ // int minute = calendar.get(Calendar.MINUTE);
KTAppOnline ktAppOnline = new KTAppOnline(); // if(minute%5 == 0){
int onlineNum = OnlineUserManager.sessionMap.size(); // KTAppOnline ktAppOnline = new KTAppOnline();
ParamEventBean paramEventBean = new ParamEventBean(ParamEventBean.OnlineEvent); // int onlineNum = OnlineUserManager.sessionMap.size();
int time =(int)(calendar.getTimeInMillis()/1000); // ParamEventBean paramEventBean = new ParamEventBean(ParamEventBean.OnlineEvent);
paramEventBean.add(String.valueOf(time)); // int time =(int)(calendar.getTimeInMillis()/1000);
paramEventBean.add(String.valueOf(onlineNum)); // paramEventBean.add(String.valueOf(time));
ktAppOnline.setParam_event(paramEventBean); // paramEventBean.add(String.valueOf(onlineNum));
ktAppOnline.setParam_data(KtBeanBuilderUtils.paramDataBuildForSystem()); // ktAppOnline.setParam_event(paramEventBean);
ktAppOnline.getParam_data().setCategory_s(LoginParamType.DATA_CATEGORY_APP); // ktAppOnline.setParam_data(KtBeanBuilderUtils.paramDataBuildForSystem());
DataMessageUtils.addLogQueue(ktAppOnline); // ktAppOnline.getParam_data().setCategory_s(LoginParamType.DATA_CATEGORY_APP);
} // DataMessageUtils.addLogQueue(ktAppOnline);
} // }
// }
//每分钟异步上报在线人数 //每分钟异步上报在线人数
private void reportUserOnline() { private void reportUserOnline() {
new OnlineUserReportTask().start(); new OnlineUserReportTask().start();
@ -272,5 +277,16 @@ public class MinuteTask extends Thread {
} }
} }
public void directMemoryGet(){
Field field = ReflectionUtils.findField(PlatformDependent.class,"DIRECT_MEMORY_COUNTER");
field.setAccessible(true);
try {
AtomicLong direct = (AtomicLong)field.get(PlatformDependent.class);
LOGGER.info("directMemoryGet 堆外大小=>{}", direct.get());
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
} }