get real time cpu usage of remote server

Aperta
#415 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
25/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
javascript, node.js, typescript
Ambito
backend, web-dev

Direzione di ricerca

Non viene indicato alcun file del repository né alcun test. Inizia riproducendo le risposte ripetute relative all’handler ready della connessione, all’evento get_live_usage e alla funzione getNewSeries lato client; chiarisci se una singola emissione del client debba produrre esattamente una risposta sull’utilizzo prima di definire i criteri di completamento.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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
    })
}
Lingua principale
TypeScript
Stelle
1k
Fork
94
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di steelbrain/node-ssh

Tutte le issue di steelbrain/node-ssh

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.