Zadania rekrutacyjne i ćwiczeniowe
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

35 lines
842 B

#include "infrastructure/ProcReader.h"
#include "infrastructure/ProcPrinter.h"
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <inttypes.h>
int main() {
uint8_t numCores = countCpuCores();
CpuStats* prevStats = calloc(numCores, sizeof(CpuStats));
CpuStats* currentStats = calloc(numCores, sizeof(CpuStats));
double* results = calloc(numCores, sizeof(double));
for (int i = 0; i < 4; i++) {
readCpuStats(currentStats, numCores);
if (prevStats[0].user != 0) {
getCpuUsage(results, currentStats, prevStats, numCores);
printCpuUsage(results, numCores);
}
memcpy(prevStats, currentStats, numCores * sizeof(currentStats));
usleep(500 * 1000);
}
free(results);
free(prevStats);
free(currentStats);
return 0;
}