package com.github.ltsopensource.admin.access;
import com.github.ltsopensource.admin.access.domain.NodeOnOfflineLog;
import com.github.ltsopensource.admin.web.vo.NodeInfo;
import com.github.ltsopensource.core.cluster.Node;
import com.github.ltsopensource.core.cluster.NodeType;
import com.github.ltsopensource.monitor.access.domain.*;
import com.github.ltsopensource.store.jdbc.dbutils.ResultSetHandler;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* @author Robert HG (254963746@qq.com) on 3/9/16.
*/
public class RshHandler {
public static final ResultSetHandler<List<Node>> NODE_LIST_RSH = new ResultSetHandler<List<Node>>() {
@Override
public List<Node> handle(ResultSet rs) throws SQLException {
List<Node> nodes = new ArrayList<Node>();
while (rs.next()) {
nodes.add(getNodeByRs(rs));
}
return nodes;
}
};
public static final ResultSetHandler<Node> NODE_RSH = new ResultSetHandler<Node>() {
@Override
public Node handle(ResultSet rs) throws SQLException {
if (rs.next()) {
return getNodeByRs(rs);
}
return null;
}
};
private static Node getNodeByRs(final ResultSet rs) throws SQLException {
Node node = new Node();
node.setIdentity(rs.getString("identity"));
node.setClusterName(rs.getString("cluster_name"));
node.setNodeType(NodeType.valueOf(rs.getString("node_type")));
node.setIp(rs.getString("ip"));
node.setPort(rs.getInt("port"));
node.setGroup(rs.getString("node_group"));
node.setCreateTime(rs.getLong("create_time"));
node.setThreads(rs.getInt("threads"));
node.setAvailable(rs.getInt("available") == 1);
node.setHostName(rs.getString("host_name"));
node.setHttpCmdPort(rs.getInt("http_cmd_port"));
return node;
}
public static final ResultSetHandler<List<JobTrackerMDataPo>> JOB_TRACKER_SUM_M_DATA_RSH = new ResultSetHandler<List<JobTrackerMDataPo>>() {
@Override
public List<JobTrackerMDataPo> handle(ResultSet rs) throws SQLException {
List<JobTrackerMDataPo> list = new ArrayList<JobTrackerMDataPo>();
while (rs.next()) {
JobTrackerMDataPo po = new JobTrackerMDataPo();
// po.setId(rs.getString("id"));
// po.setGmtCreated(rs.getLong("gmt_created"));
po.setTimestamp(rs.getLong("timestamp"));
// po.setNodeType(NodeType.convert(rs.getString("node_type")));
// po.setNodeGroup(rs.getString("node_group"));
// po.setIdentity(rs.getString("identity"));
po.setReceiveJobNum(rs.getLong("receive_job_num"));
po.setPushJobNum(rs.getLong("push_job_num"));
po.setExeSuccessNum(rs.getLong("exe_success_num"));
po.setExeFailedNum(rs.getLong("exe_failed_num"));
po.setExeLaterNum(rs.getLong("exe_later_num"));
po.setExeExceptionNum(rs.getLong("exe_exception_num"));
po.setFixExecutingJobNum(rs.getLong("fix_executing_job_num"));
list.add(po);
}
return list;
}
};
public static final ResultSetHandler<List<NodeOnOfflineLog>> NODE_ON_OFFLINE_LOG_LIST_RSH = new ResultSetHandler<List<NodeOnOfflineLog>>() {
@Override
public List<NodeOnOfflineLog> handle(ResultSet rs) throws SQLException {
List<NodeOnOfflineLog> list = new ArrayList<NodeOnOfflineLog>();
while (rs.next()) {
NodeOnOfflineLog log = new NodeOnOfflineLog();
log.setLogTime(rs.getTimestamp("log_time"));
log.setEvent(rs.getString("event"));
log.setNodeType(NodeType.convert(rs.getString("node_type")));
log.setClusterName(rs.getString("cluster_name"));
log.setIp(rs.getString("ip"));
log.setPort(rs.getInt("port"));
log.setHostName(rs.getString("host_name"));
log.setGroup(rs.getString("group"));
log.setCreateTime(rs.getLong("create_time"));
log.setThreads(rs.getInt("threads"));
log.setIdentity(rs.getString("identity"));
log.setHttpCmdPort(rs.getInt("http_cmd_port"));
list.add(log);
}
return list;
}
};
public static final ResultSetHandler<List<TaskTrackerMDataPo>> TASK_TRACKER_SUM_M_DATA_RSH = new ResultSetHandler<List<TaskTrackerMDataPo>>() {
@Override
public List<TaskTrackerMDataPo> handle(ResultSet rs) throws SQLException {
List<TaskTrackerMDataPo> list = new ArrayList<TaskTrackerMDataPo>();
while (rs.next()) {
TaskTrackerMDataPo po = new TaskTrackerMDataPo();
po.setTimestamp(rs.getLong("timestamp"));
po.setExeSuccessNum(rs.getLong("exe_success_num"));
po.setExeFailedNum(rs.getLong("exe_failed_num"));
po.setExeLaterNum(rs.getLong("exe_later_num"));
po.setExeExceptionNum(rs.getLong("exe_exception_num"));
po.setTotalRunningTime(rs.getLong("total_running_time"));
list.add(po);
}
return list;
}
};
public static final ResultSetHandler<List<JobClientMDataPo>> JOB_CLIENT_SUM_M_DATA_RSH = new ResultSetHandler<List<JobClientMDataPo>>() {
@Override
public List<JobClientMDataPo> handle(ResultSet rs) throws SQLException {
List<JobClientMDataPo> list = new ArrayList<JobClientMDataPo>();
while (rs.next()) {
JobClientMDataPo po = new JobClientMDataPo();
po.setTimestamp(rs.getLong("timestamp"));
po.setSubmitSuccessNum(rs.getLong("submit_success_num"));
po.setSubmitFailedNum(rs.getLong("submit_failed_num"));
po.setFailStoreNum(rs.getLong("fail_store_num"));
po.setSubmitFailStoreNum(rs.getLong("submit_fail_store_num"));
po.setHandleFeedbackNum(rs.getLong("handle_feedback_num"));
list.add(po);
}
return list;
}
};
public static final ResultSetHandler<List<NodeInfo>> NODE_INFO_LIST_RSH = new ResultSetHandler<List<NodeInfo>>() {
@Override
public List<NodeInfo> handle(ResultSet rs) throws SQLException {
List<NodeInfo> list = new ArrayList<NodeInfo>();
while (rs.next()) {
NodeInfo nodeInfo = new NodeInfo();
nodeInfo.setIdentity(rs.getString("identity"));
nodeInfo.setNodeGroup(rs.getString("node_group"));
list.add(nodeInfo);
}
return list;
}
};
public static final ResultSetHandler<List<JVMMemoryDataPo>> JVM_MEMORY_SUM_M_DATA_RSH = new ResultSetHandler<List<JVMMemoryDataPo>>() {
@Override
public List<JVMMemoryDataPo> handle(ResultSet rs) throws SQLException {
List<JVMMemoryDataPo> list = new ArrayList<JVMMemoryDataPo>();
while (rs.next()) {
JVMMemoryDataPo po = new JVMMemoryDataPo();
po.setTimestamp(rs.getLong("timestamp"));
po.setHeapMemoryCommitted(rs.getLong("heap_memory_committed"));
po.setHeapMemoryInit(rs.getLong("heap_memory_init"));
po.setHeapMemoryMax(rs.getLong("heap_memory_max"));
po.setHeapMemoryUsed(rs.getLong("heap_memory_used"));
po.setNonHeapMemoryCommitted(rs.getLong("non_heap_memory_committed"));
po.setNonHeapMemoryInit(rs.getLong("non_heap_memory_init"));
po.setNonHeapMemoryMax(rs.getLong("non_heap_memory_max"));
po.setNonHeapMemoryUsed(rs.getLong("non_heap_memory_used"));
po.setPermGenCommitted(rs.getLong("perm_gen_committed"));
po.setPermGenInit(rs.getLong("perm_gen_init"));
po.setPermGenMax(rs.getLong("perm_gen_max"));
po.setPermGenUsed(rs.getLong("perm_gen_used"));
po.setOldGenCommitted(rs.getLong("old_gen_committed"));
po.setOldGenInit(rs.getLong("old_gen_init"));
po.setOldGenMax(rs.getLong("old_gen_max"));
po.setOldGenUsed(rs.getLong("old_gen_used"));
po.setEdenSpaceCommitted(rs.getLong("eden_space_committed"));
po.setEdenSpaceInit(rs.getLong("eden_space_init"));
po.setEdenSpaceMax(rs.getLong("eden_space_max"));
po.setEdenSpaceUsed(rs.getLong("eden_space_used"));
po.setSurvivorCommitted(rs.getLong("survivor_committed"));
po.setSurvivorInit(rs.getLong("survivor_init"));
po.setSurvivorMax(rs.getLong("survivor_max"));
po.setSurvivorUsed(rs.getLong("survivor_used"));
list.add(po);
}
return list;
}
};
public static final ResultSetHandler<List<JVMGCDataPo>> JVM_GC_SUM_M_DATA_RSH = new ResultSetHandler<List<JVMGCDataPo>>() {
@Override
public List<JVMGCDataPo> handle(ResultSet rs) throws SQLException {
List<JVMGCDataPo> list = new ArrayList<JVMGCDataPo>();
while (rs.next()) {
JVMGCDataPo po = new JVMGCDataPo();
po.setTimestamp(rs.getLong("timestamp"));
po.setYoungGCCollectionCount(rs.getLong("young_gc_collection_count"));
po.setYoungGCCollectionTime(rs.getLong("young_gc_collection_time"));
po.setFullGCCollectionCount(rs.getLong("full_gc_collection_count"));
po.setFullGCCollectionTime(rs.getLong("full_gc_collection_time"));
po.setSpanYoungGCCollectionCount(rs.getLong("span_young_gc_collection_count"));
po.setSpanYoungGCCollectionTime(rs.getLong("span_young_gc_collection_time"));
po.setSpanFullGCCollectionCount(rs.getLong("span_full_gc_collection_count"));
po.setSpanFullGCCollectionTime(rs.getLong("span_full_gc_collection_time"));
list.add(po);
}
return list;
}
};
public static final ResultSetHandler<List<JVMThreadDataPo>> JVM_THREAD_SUM_M_DATA_RSH = new ResultSetHandler<List<JVMThreadDataPo>>() {
@Override
public List<JVMThreadDataPo> handle(ResultSet rs) throws SQLException {
List<JVMThreadDataPo> list = new ArrayList<JVMThreadDataPo>();
while (rs.next()) {
JVMThreadDataPo po = new JVMThreadDataPo();
po.setTimestamp(rs.getLong("timestamp"));
po.setDaemonThreadCount(rs.getInt("daemon_thread_count"));
po.setThreadCount(rs.getInt("thread_count"));
po.setTotalStartedThreadCount(rs.getLong("total_started_thread_count"));
po.setDeadLockedThreadCount(rs.getInt("dead_locked_thread_count"));
po.setProcessCpuTimeRate(rs.getDouble("process_cpu_time_rate"));
list.add(po);
}
return list;
}
};
}