Stress_UI/include/cpu_mon.hpp
somebody_master c505350e6d
Implementar CpuMon al completo
Signed-off-by: somebody_master <somebody_master@somebodyserver.mooo.com>
2021-05-12 01:41:06 +02:00

60 lines
1.2 KiB
C++

#include "ui.hpp"
#include <string>
#include <vector>
#ifdef _WIN32
#include <Windows.h>
#else
#include <unistd.h>
#endif
#ifndef CPU_MON_HPP_
#define CPU_MON_HPP_
const int NUM_ESTADOS_CPU = 10;
enum EstadosCPU {
S_USER = 0,
S_NICE,
S_SYSTEM,
S_IDLE,
S_IOWAIT,
S_IRQ,
S_SOFTIRQ,
S_STEAL,
S_GUEST,
S_GUEST_NICE
};
typedef struct DatosCPU {
std::string cpu;
size_t times[NUM_ESTADOS_CPU];
} DatosCPU;
class CpuMon {
private:
uint8_t num_hilos;
uint8_t num_sectores;
int columnas;
WINDOW *ventanaMonitorCPU;
static void esperar(int segundos);
bool enFuncionamiento;
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);
};
#endif // CPU_MON_HPP_