get real time cpu usage of remote server

未关闭
#415 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
25/100
Issue 类型
缺陷
描述清晰度
需要澄清
活跃度
停滞
领域
backend, web-dev

调研方向

未指定任何仓库文件或测试。首先复现 connection 的 ready handler、get_live_usage 事件以及客户端 getNewSeries 函数周围重复出现的响应;在定义完成标准之前,先明确一次 client emission 是否应当产生且仅产生一个 usage 响应。

由索引模型根据 Issue 内容生成。

描述

unconfirmed bug

hello I am trying to use ssh2 with websocket , so I can get REAL Time cpu usage , this is my code

     conn.connect({
        host: '127.0.0.1',
        port: 22,
        username: 'muhammed',
        password:"Muhbu2020"

    });
    conn.on("ready", () => {
      routerconnection.usagemonitor.channel.to(namespace).emit('ready_to_get_data');

 socket.on("get_live_usage",function(){
      conn.exec('cat /proc/stat', (err, stream) => {
            if (err) throw err;
            stream.on('data', (data) => {
                console.log("recieving data");


                handleMonitorResponse(routerconnection,router_id,data.toString());



            })

        });
 });

    });

actually what isgoing on is when I am emmiting get_live_usage to node js from javascript ,the server start to run a lot of instance and it return a lot of response for one emmit , which making my chart going crazy , did I missed somethings or what , I don't understand ,
this is my client side code

   socket.on('live_usage',function (recieved) {
        console.log("recieved"+ recieved.load)

        getNewSeries(lastDate, {
            min: 0,
            max: 100
        },recieved)
        resetData()
        chart.updateSeries([{
            data: data
        }])
    });

and this is the getNewSeries function

function getNewSeries(baseval, yrange,recieved) {
console.log(recieved)
    var newDate = baseval + TICKINTERVAL;
    lastDate = newDate

    for(var i = 0; i< data.length - 100; i++) {
        // IMPORTANT
        // we reset the x and y of the data which is out of drawing area
        // to prevent memory leaks
        data[i].x = newDate - XAXISRANGE - TICKINTERVAL
        data[i].y = 0
        console.log("weeeeeeare in for")
    }




        window['status'+admin_id+nas_id] =0;

               cpu = recieved.load

           var iowait = recieved.iowait;
           $('#iobar').attr('style', "width:" + iowait + "%");
           $('#iobar').html(iowait + "%")
           $('#cpubar').attr('style', "width:" + cpu + "%");
           $('#cpubar').html(cpu + "%")
           $('#cpu-usage').html(cpu + "%")


        socket.emit('get_live_usage', detail);






    data.push({
        x: newDate,
        y: cpu
    })
}
主要语言
TypeScript
星标
1k
派生
94
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

steelbrain/node-ssh 的其他 Issue

查看 steelbrain/node-ssh 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。