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); CpuMon(uint8_t num_hilos, WINDOW *ventanaMonitorCPU);
void iniciarCPU_MON(); void iniciarCPU_MON();
void pararCPU_MON(); void pararCPU_MON();
// int getColumnas();
// uint8_t getNum_sectores();
size_t getTiempoInactivo(const DatosCPU &e); size_t getTiempoInactivo(const DatosCPU &e);
size_t getTiempoActivo(const DatosCPU &e); size_t getTiempoActivo(const DatosCPU &e);
void leerEstadoCPU(std::vector<DatosCPU> &entradas); void leerEstadoCPU(std::vector<DatosCPU> &entradas);
void obtenerUsoCPU(const std::vector<DatosCPU> &entradas1, void obtenerUsoCPU(const std::vector<DatosCPU> &entradas1,
const std::vector<DatosCPU> &entradas2); const std::vector<DatosCPU> &entradas2);
void setEnfuncionamiento(bool enFuncionamiento);
std::string obtenerBarra(float *porcentaje, uint8_t *cpu); std::string obtenerBarra(float *porcentaje, uint8_t *cpu);
void setNum_sectores(uint8_t num_sectores); 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() { void CpuMon::iniciarCPU_MON() {
std::vector<DatosCPU> entries1; std::vector<DatosCPU> entradas1;
std::vector<DatosCPU> entries2; std::vector<DatosCPU> entradas2;
std::thread dormir(CpuMon::esperar, 1); std::thread dormir(CpuMon::esperar, 1);
// snapshot 1 // captura 1
leerEstadoCPU(entries1); leerEstadoCPU(entradas1);
// 100ms pause // 100ms pause
std::this_thread::sleep_for(std::chrono::milliseconds(100)); std::this_thread::sleep_for(std::chrono::milliseconds(100));
// snapshot 2 // captura 2
leerEstadoCPU(entries2); leerEstadoCPU(entradas2);
// print output // Mostrar entrada
obtenerUsoCPU(entries1, entries2); obtenerUsoCPU(entradas1, entradas2);
dormir.join(); dormir.join();
// Se necesita limpiar los vectores de entrada, arreglo chapuza llamando
// recursivamente la función a si misma
if (CpuMon::enFuncionamiento) { if (CpuMon::enFuncionamiento) {
CpuMon::iniciarCPU_MON(); CpuMon::iniciarCPU_MON();
} }
@ -56,14 +58,6 @@ void CpuMon::iniciarCPU_MON() {
void CpuMon::pararCPU_MON() { CpuMon::enFuncionamiento = false; } 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) { void CpuMon::leerEstadoCPU(std::vector<DatosCPU> &entradas) {
std::ifstream fileStat("/proc/stat"); std::ifstream fileStat("/proc/stat");