Хочу передавать метрики с железки, на которой крутится NodeJS. Метрики собираются разными библиотеками под NodeJS
Задача - раз в 5 секунд кидать JSON объект содержащий данные
Как задачу решить в классическом синхронном языке для меня не загадка. Но с нодой такой подход не работает.
Пример который "побеждаю"
...
//Делать замер каждые 3 секунды
setInterval(function(){
var data = getData();
}, 3000);
function getData(){
sensor.read(11, 6, function(err, temperature, humidity) {
if (!err) {
h=humidity.toFixed(1);
t=temperature.toFixed(1);
}
});
os.cpuUsage(function(v){
cpu=v*100;
});
os.cpuFree(function(v){
cpu2=v*100;
});
totalmem=os.totalmem();
freemem=os.freemem();
var ret={
'freemem':freemem,
'totalmem':totalmem,
'temp':t,
'hum':h,
'cpu':cpu,
'cpu2':cpu2,
};
return ret;
}
...
дальше отправка данных data в setInterval