压测全链路日志的时候,不知道怎么监测ES的实时入库速度,于是在Chrome的浏览器里写了点js脚本,实现了对ES实时入库速度的监控,不能说是百分之百实时,不过满足压测的数据观察。
二话不说上JS
var startTime = new Date();
var baseCount=0;
var showStat = function(){
$.getJSON(“http://es.yue.ma:9200/_stats”,null,function(d){
console.log(d._all.primaries.docs.count);
//有数据的时候才开始统计
if(baseCount==0){
baseCount = d._all.primaries.docs.count;
startTime = new Date();
}
if(baseCount>0){
var currentTime = new Date();
console.log(“开始时间:”+startTime);
console.log(“统计时间:”+currentTime);
var diffTime = currentTime.getTime() -startTime.getTime();
console.log(“时间差:”+diffTime);
var diffSec = diffTime / 1000;
console.log(“时间差(秒):”+diffSec);
var speadSec = d._all.primaries.docs.count / diffSec;
console.log(“平均每秒新增doc数量:”+speadSec);
console.log(“预估每分钟新增doc数量:”+speadSec*60);
}else{
console.log(“还未探测到数据流”);
}
});
setTimeout(‘showStat()’,3000);
};
showStat();
能实时速率显示效果,及时发现压测指标是否达成!
感觉功能小巧好用!