X-Git-Url: https://git.wpitchoune.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fcpu.c;h=33884559551c78218e30fa80328507b267ea1264;hb=24332d1608e683c9c31a3bd1fda0d810d6e33505;hp=df6b96365dce34ce51bcaaac7b128dd919e15ac1;hpb=117980feebda75789c20b9fba0efef84f836f365;p=psensor.git diff --git a/src/lib/cpu.c b/src/lib/cpu.c index df6b963..3388455 100644 --- a/src/lib/cpu.c +++ b/src/lib/cpu.c @@ -29,15 +29,16 @@ static float last_used; static float last_total; +static const char *PROVIDER_NAME = "gtop2"; + struct psensor *create_cpu_usage_sensor(int measures_len) { - char *label; + char *label, *id; int type; - char *id; struct psensor *psensor; - id = strdup("cpu usage"); - label = strdup("cpu usage"); + id = g_strdup_printf("%s cpu usage", PROVIDER_NAME); + label = strdup(_("CPU usage")); type = SENSOR_TYPE_GTOP | SENSOR_TYPE_CPU_USAGE; psensor = psensor_create(id, @@ -62,9 +63,9 @@ cpu_psensor_list_add(struct psensor **sensors, int measures_len) static double get_usage() { glibtop_cpu cpu; - unsigned long int used = 0; + unsigned long int used; unsigned long int dt; - double cpu_rate = UNKNOWN_DBL_VALUE; + double cpu_rate; glibtop_get_cpu(&cpu); @@ -73,7 +74,9 @@ static double get_usage() dt = cpu.total - last_total; if (dt) - cpu_rate = 100 * (used - last_used) / dt; + cpu_rate = 100.0 * (used - last_used) / dt; + else + cpu_rate = UNKNOWN_DBL_VALUE; last_used = used; last_total = cpu.total; @@ -83,7 +86,12 @@ static double get_usage() void cpu_usage_sensor_update(struct psensor *s) { - psensor_set_current_value(s, get_usage()); + double v; + + v = get_usage(); + + if (v != UNKNOWN_DBL_VALUE) + psensor_set_current_value(s, v); } void cpu_psensor_list_update(struct psensor **sensors)