wip: remove the blocky
This commit is contained in:
parent
85d0782533
commit
981b377523
|
@ -6,24 +6,29 @@
|
|||
static Eina_List *batteries = NULL;
|
||||
static Eina_List *sensors = NULL;
|
||||
static Eina_List *network_interfaces = NULL;
|
||||
static Eina_List *cores = NULL;
|
||||
|
||||
int
|
||||
main(int argc, char **argv)
|
||||
{
|
||||
Eina_List *l;
|
||||
Cpu_Core *core;
|
||||
ecore_init();
|
||||
|
||||
puts("CORES:");
|
||||
|
||||
Cpu_Core **cores;
|
||||
|
||||
int ncpu = 0;
|
||||
cores = system_cpu_usage_delayed_get(&ncpu, 1000000);
|
||||
for (int i = 0; i < ncpu; i++)
|
||||
cores = cores_find();
|
||||
for (int i = 0; i < 10; i++)
|
||||
{
|
||||
printf("core %i = %1.2f%%\n", cores[i]->id, cores[i]->percent);
|
||||
free(cores[i]);
|
||||
cores_check(cores);
|
||||
EINA_LIST_FOREACH(cores, l, core)
|
||||
{
|
||||
printf("core %i = %1.2f%%\n", core->id, core->percent);
|
||||
}
|
||||
usleep(1000000);
|
||||
}
|
||||
free(cores);
|
||||
EINA_LIST_FREE(cores, core)
|
||||
free(core);
|
||||
|
||||
puts("BATTERIES:");
|
||||
Battery *bat;
|
||||
|
|
|
@ -104,6 +104,15 @@ battery_check(Battery *bat);
|
|||
Eina_List *
|
||||
sensors_find(void);
|
||||
|
||||
void
|
||||
memory_info(Meminfo *memory);
|
||||
|
||||
void
|
||||
cores_check(Eina_List *cores);
|
||||
|
||||
Eina_List *
|
||||
cores_find(void);
|
||||
|
||||
void
|
||||
sensor_free(Sensor *sensor);
|
||||
|
||||
|
@ -113,21 +122,8 @@ sensor_check(Sensor *sensor);
|
|||
Eina_List *
|
||||
network_interfaces_find(void);
|
||||
|
||||
int
|
||||
system_cpu_online_count_get(void);
|
||||
|
||||
int
|
||||
system_cpu_count_get(void);
|
||||
|
||||
Cpu_Core **
|
||||
system_cpu_usage_get(int *ncpu);
|
||||
|
||||
Cpu_Core **
|
||||
system_cpu_usage_delayed_get(int *ncpu, int usecs);
|
||||
|
||||
Cpu_Core **
|
||||
system_cpu_state_get(int *ncpu);
|
||||
|
||||
// XXX
|
||||
int
|
||||
system_cpu_frequency_get(void);
|
||||
|
||||
|
@ -146,7 +142,4 @@ system_cpu_frequency_min_max_get(int *min, int *max);
|
|||
void
|
||||
system_cpu_topology_get(int *ids, int ncpus);
|
||||
|
||||
void
|
||||
system_memory_usage_get(Meminfo *memory);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -71,27 +71,29 @@ system_cpu_online_count_get(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
_cpu_state_get(Cpu_Core **cores, int ncpu)
|
||||
void
|
||||
cores_check(Eina_List *cores)
|
||||
{
|
||||
int diff_total, diff_idle;
|
||||
double ratio, percent;
|
||||
unsigned long total, idle, used;
|
||||
Cpu_Core *core;
|
||||
int ncpu = eina_list_count(cores);
|
||||
if (!ncpu) return;
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
size_t size;
|
||||
int i, j;
|
||||
|
||||
if (!ncpu)
|
||||
return;
|
||||
size = sizeof(unsigned long) * (CPU_STATES * ncpu);
|
||||
unsigned long cpu_times[ncpu][CPU_STATES];
|
||||
|
||||
if (sysctlbyname("kern.cp_times", cpu_times, &size, NULL, 0) < 0)
|
||||
return;
|
||||
|
||||
for (i = 0; i < ncpu; i++) {
|
||||
core = cores[i];
|
||||
for (i = 0; i < ncpu; i++)
|
||||
{
|
||||
core = eina_list_nth(cores, i);
|
||||
unsigned long *cpu = cpu_times[i];
|
||||
|
||||
total = 0;
|
||||
|
@ -115,7 +117,6 @@ _cpu_state_get(Cpu_Core **cores, int ncpu)
|
|||
core->percent = percent;
|
||||
core->total = total;
|
||||
core->idle = idle;
|
||||
core->id = i;
|
||||
}
|
||||
#elif defined(__OpenBSD__)
|
||||
static struct cpustats cpu_times[CPU_STATES];
|
||||
|
@ -124,11 +125,10 @@ _cpu_state_get(Cpu_Core **cores, int ncpu)
|
|||
int i, j;
|
||||
|
||||
memset(&cpu_times, 0, CPU_STATES * sizeof(struct cpustats));
|
||||
if (!ncpu)
|
||||
return;
|
||||
|
||||
for (i = 0; i < ncpu; i++) {
|
||||
core = cores[i];
|
||||
for (i = 0; i < ncpu; i++)
|
||||
{
|
||||
core = eina_list_nth(cores, i);
|
||||
size = sizeof(struct cpustats);
|
||||
cpu_time_mib[2] = i;
|
||||
if (sysctl(cpu_time_mib, 3, &cpu_times[i], &size, NULL, 0) < 0)
|
||||
|
@ -155,7 +155,6 @@ _cpu_state_get(Cpu_Core **cores, int ncpu)
|
|||
core->percent = percent;
|
||||
core->total = total;
|
||||
core->idle = idle;
|
||||
core->id = i;
|
||||
}
|
||||
#elif defined(__linux__)
|
||||
char *buf, name[128];
|
||||
|
@ -164,8 +163,9 @@ _cpu_state_get(Cpu_Core **cores, int ncpu)
|
|||
buf = file_contents("/proc/stat");
|
||||
if (!buf) return;
|
||||
|
||||
for (i = 0; i < ncpu; i++) {
|
||||
core = cores[i];
|
||||
for (i = 0; i < ncpu; i++)
|
||||
{
|
||||
core = eina_list_nth(cores, i);
|
||||
snprintf(name, sizeof(name), "cpu%d", i);
|
||||
char *line = strstr(buf, name);
|
||||
if (line)
|
||||
|
@ -194,7 +194,6 @@ _cpu_state_get(Cpu_Core **cores, int ncpu)
|
|||
core->percent = percent;
|
||||
core->total = total;
|
||||
core->idle = idle;
|
||||
core->id = i;
|
||||
}
|
||||
}
|
||||
free(buf);
|
||||
|
@ -205,7 +204,7 @@ _cpu_state_get(Cpu_Core **cores, int ncpu)
|
|||
unsigned int cpu_count;
|
||||
int i;
|
||||
|
||||
cpu_count = ncpu;
|
||||
cpu_count = eina_list_count(cores);
|
||||
|
||||
count = HOST_CPU_LOAD_INFO_COUNT;
|
||||
mach_port = mach_host_self();
|
||||
|
@ -213,8 +212,9 @@ _cpu_state_get(Cpu_Core **cores, int ncpu)
|
|||
(processor_info_array_t *)&load, &count) != KERN_SUCCESS)
|
||||
exit(-1);
|
||||
|
||||
for (i = 0; i < ncpu; i++) {
|
||||
core = cores[i];
|
||||
for (i = 0; i < ncpu; i++)
|
||||
{
|
||||
core = eina_list_nth(cores, i);
|
||||
|
||||
total = load[i].cpu_ticks[CPU_STATE_USER] +
|
||||
load[i].cpu_ticks[CPU_STATE_SYSTEM] +
|
||||
|
@ -236,57 +236,27 @@ _cpu_state_get(Cpu_Core **cores, int ncpu)
|
|||
core->percent = percent;
|
||||
core->total = total;
|
||||
core->idle = idle;
|
||||
core->id = i;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
Cpu_Core **
|
||||
system_cpu_state_get(int *ncpu)
|
||||
Eina_List *
|
||||
cores_find(void)
|
||||
{
|
||||
Cpu_Core **cores;
|
||||
int i;
|
||||
Eina_List *cores = NULL;
|
||||
Cpu_Core *core;
|
||||
int i, ncpu;
|
||||
|
||||
*ncpu = cpu_count();
|
||||
cores = malloc((*ncpu) * sizeof(Cpu_Core *));
|
||||
for (i = 0; i < *ncpu; i++)
|
||||
cores[i] = calloc(1, sizeof(Cpu_Core));
|
||||
|
||||
_cpu_state_get(cores, *ncpu);
|
||||
|
||||
return cores;
|
||||
}
|
||||
|
||||
Cpu_Core **
|
||||
system_cpu_usage_delayed_get(int *ncpu, int usecs)
|
||||
{
|
||||
Cpu_Core **cores;
|
||||
int i;
|
||||
|
||||
*ncpu = cpu_count();
|
||||
|
||||
cores = malloc((*ncpu) * sizeof(Cpu_Core *));
|
||||
if (!cores) return NULL;
|
||||
|
||||
for (i = 0; i < *ncpu; i++)
|
||||
ncpu = cpu_count();
|
||||
for (i = 0; i < ncpu; i++)
|
||||
{
|
||||
cores[i] = calloc(1, sizeof(Cpu_Core));
|
||||
if (!cores[i]) return NULL;
|
||||
core = calloc(1, sizeof(Cpu_Core));
|
||||
core->id = i;
|
||||
cores = eina_list_append(cores, core);
|
||||
}
|
||||
|
||||
_cpu_state_get(cores, *ncpu);
|
||||
usleep(usecs);
|
||||
_cpu_state_get(cores, *ncpu);
|
||||
|
||||
return cores;
|
||||
}
|
||||
|
||||
Cpu_Core **
|
||||
system_cpu_usage_get(int *ncpu)
|
||||
{
|
||||
return system_cpu_usage_delayed_get(ncpu, 1000000);
|
||||
}
|
||||
|
||||
static int _cpu_temp_min = 0;
|
||||
static int _cpu_temp_max = 100;
|
||||
static char _core_temps[256][512];
|
||||
|
|
|
@ -16,7 +16,7 @@ _meminfo_parse_line(const char *line)
|
|||
#endif
|
||||
|
||||
void
|
||||
system_memory_usage_get(Meminfo *memory)
|
||||
memory_info(Meminfo *memory)
|
||||
{
|
||||
memset(memory, 0, sizeof(Meminfo));
|
||||
#if defined(__linux__)
|
||||
|
|
Loading…
Reference in New Issue