Limpieza y corrección de CpuMon

Signed-off-by: somebody_master <somebody_master@somebodyserver.mooo.com>
This commit is contained in:
Somebody Master 2021-05-12 09:42:56 +02:00
parent 08702e3071
commit 67a7c2249c
Signed by: somebody_master
GPG Key ID: 78315CFDF0B25505
2 changed files with 11 additions and 21 deletions

View File

@ -44,15 +44,11 @@ public:
CpuMon(uint8_t num_hilos, WINDOW *ventanaMonitorCPU);
void iniciarCPU_MON();
void pararCPU_MON();
// int getColumnas();
// uint8_t getNum_sectores();
size_t getTiempoInactivo(const DatosCPU &e);
size_t getTiempoActivo(const DatosCPU &e);
void leerEstadoCPU(std::vector<DatosCPU> &entradas);
void obtenerUsoCPU(const std::vector<DatosCPU> &entradas1,
const std::vector<DatosCPU> &entradas2);
void setEnfuncionamiento(bool enFuncionamiento);
std::string obtenerBarra(float *porcentaje, uint8_t *cpu);
void setNum_sectores(uint8_t num_sectores);
};

View File

@ -31,24 +31,26 @@ void CpuMon::setNum_sectores(uint8_t num_sectores) {
}
void CpuMon::iniciarCPU_MON() {
std::vector<DatosCPU> entries1;
std::vector<DatosCPU> entries2;
std::vector<DatosCPU> entradas1;
std::vector<DatosCPU> entradas2;
std::thread dormir(CpuMon::esperar, 1);
// snapshot 1
leerEstadoCPU(entries1);
// captura 1
leerEstadoCPU(entradas1);
// 100ms pause
std::this_thread::sleep_for(std::chrono::milliseconds(100));
// snapshot 2
leerEstadoCPU(entries2);
// captura 2
leerEstadoCPU(entradas2);
// print output
obtenerUsoCPU(entries1, entries2);
// Mostrar entrada
obtenerUsoCPU(entradas1, entradas2);
dormir.join();
// Se necesita limpiar los vectores de entrada, arreglo chapuza llamando
// recursivamente la función a si misma
if (CpuMon::enFuncionamiento) {
CpuMon::iniciarCPU_MON();
}
@ -56,14 +58,6 @@ void CpuMon::iniciarCPU_MON() {
void CpuMon::pararCPU_MON() { CpuMon::enFuncionamiento = false; }
// int CpuMon::getColumnas() { return CpuMon::columnas; }
// uint8_t CpuMon::getNum_sectores() { return CpuMon::num_sectores; }
void CpuMon::setEnfuncionamiento(bool enFuncionamiento) {
CpuMon::enFuncionamiento = enFuncionamiento;
}
void CpuMon::leerEstadoCPU(std::vector<DatosCPU> &entradas) {
std::ifstream fileStat("/proc/stat");