druid监控数据转存mysql_如何将监控数据保存到数据库里?

public void run() throws FileNotFoundException, JSONException, EmailException, IOException {

SpringStatManager springStatManager = SpringStatManager.getInstance();

List> lists = springStatManager.getMethodStatData();

String sqlMethod = "INSERT INTO springMethodStatData(controlServerIp,addtime,Class,Method,RunningCount,ConcurrentMax,ExecuteCount,"

+ "ExecuteErrorCount,ExecuteTimeMillis,JdbcCommitCount,JdbcRollbackCount,JdbcPoolConnectionOpenCount,"

+ "JdbcPoolConnectionCloseCount,JdbcResultSetOpenCount,JdbcResultSetCloseCount,JdbcExecuteCount,"

+ "JdbcExecuteErrorCount,JdbcExecuteTimeMillis,JdbcFetchRowCount,JdbcUpdateCount,LastError,LastErrorTime,"

+ "Histogram,Histogram_0_1,Histogram_1_10,Histogram_10_100,Histogram_100_1000,Histogram_1000_10000,Histogram_10000_100000,"

+ "Histogram_100000_1000000,Histogram_1000000_more) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";

String sql = "INSERT INTO springStat (controlServerIp,addtime,Class,Method,ExecuteCount,ExecuteTimeMillis,"

+ "RunningCount,ConcurrentMax,JdbcExecuteCount,JdbcExecuteTimeMillis,JdbcCommitCount,JdbcRollbackCount,"

+ "JdbcFetchRowCount,JdbcUpdateCount,Histogram,Histogram_0_1,Histogram_1_10,Histogram_10_100,Histogram_100_1000,Histogram_1000_10000,"

+ "Histogram_10000_100000,Histogram_100000_1000000,Histogram_1000000_more) values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";

for (Map list : lists){

long[] histogram = (long[]) list.get("Histogram");

int j= jdbcTemplate.update(sqlMethod, controlserver.getServerIp(),new Date(),list.get("Class"),list.get("Method"),list.get("RunningCount"),

list.get("ConcurrentMax"),list.get("ExecuteCount"),list.get("ExecuteErrorCount"),list.get("ExecuteTimeMillis"),list.get("JdbcCommitCount"),

list.get("JdbcRollbackCount"),list.get("JdbcPoolConnectionOpenCount"),list.get("JdbcPoolConnectionCloseCount"),list.get("JdbcResultSetOpenCount"),

list.get("JdbcResultSetCloseCount"),list.get("JdbcExecuteCount"),list.get("JdbcExecuteErrorCount"),list.get("JdbcExecuteTimeMillis"),

list.get("JdbcFetchRowCount"),list.get("JdbcUpdateCount"),list.get("LastError"),list.get("LastErrorTime"),

Arrays.toString((long[]) list.get("Histogram")),histogram[0],histogram[1],histogram[2],histogram[3],histogram[4],histogram[5],histogram[6],histogram[7]);

int i= jdbcTemplate.update(sql, controlserver.getServerIp(),new Date(),list.get("Class"),list.get("Method"),list.get("ExecuteCount"),list.get("ExecuteTimeMillis"),

list.get("RunningCount"),list.get("ConcurrentMax"),list.get("JdbcExecuteCount"),list.get("JdbcExecuteTimeMillis"),list.get("JdbcCommitCount"),

list.get("JdbcRollbackCount"),list.get("JdbcFetchRowCount"),list.get("JdbcUpdateCount"),Arrays.toString((long[]) list.get("Histogram")),

histogram[0],histogram[1],histogram[2],histogram[3],histogram[4],histogram[5],histogram[6],histogram[7]);

log.debug("update:" + i);

log.debug("update springMethodStatData:" + j);

}

springStatManager.resetStat();

}

贴个代码,这是我定时任务的方法,定时保存到mysql,希望对你有帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值