使用Javascript检测CPU使用情况

在GitHub的问题看到居安js检测CPU的使用方法使用,感觉很好。
特别是,您已经实现了它,还有一个绘制直方图的函数,它可以直观地看到CPU的使用。

见效果:传输门

实现思想

事实上,它是使用setInterval,当前时间减去最后计时器记录时间的时间差来反映CPU的延迟,和侧面反映了CPU的利用率。
复制代码代码如下所示:
var数据{ },t;
无功cputimer = setInterval()函数(){
T data.push(Data.now)-(T);
T = data.now();
},500);

从理论上讲,数据应该是{ 500500500500500…},但事实上,CPU肯定会稍微延迟,数据可能是{ 501502502501503…}。如果CPU使用率很高,延迟将非常大,并且数据将转为{ 550551552552551…}。

用直方图表示CPU使用率

通过绘制数据直方图可以看到数据的波动,当直方图值在一定时间内急剧增加时,证明当时CPU使用率较高。
复制代码代码如下所示:
功能drawhisto(数据){
VaR CVS = document.getelementbyid('canvas);
CTX = cvs.getcontext(二维的);
VaR的宽度= cvs.width,
高度= cvs.height,
histowidth =宽/尺寸;

/ /重绘直方图
ctx.fillstyle =# FFF;
ctx.fillrect(0,0,宽度,高度);
Ctx.beginPath();
Ctx.lineWidth = histoWidth/2;
ctx.strokestyle =000#;
对于(var i = 0,len = data.length;我< len;i++){
var x =我histowidth,
+ 5,,20,- 10,
对于数值积分来说,等于(数学,地板)。
Y = ~ ~((数据{我} -速度+ 5)/ 20×(height-10));
Ctx.moveTo(x + histowidth / 2、高度);
Ctx.lineTo(x + histowidth / 2,height-y);
Ctx.stroke();
}
}