projects
/
psensor.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
normalize sensor id
[psensor.git]
/
src
/
lib
/
cpu.c
diff --git
a/src/lib/cpu.c
b/src/lib/cpu.c
index
0fe66df
..
b9065be
100644
(file)
--- a/
src/lib/cpu.c
+++ b/
src/lib/cpu.c
@@
-1,5
+1,5
@@
/*
/*
- * Copyright (C) 2010-201
3
jeanfi@gmail.com
+ * Copyright (C) 2010-201
4
jeanfi@gmail.com
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@
-26,22
+26,26
@@
#include "cpu.h"
#include "cpu.h"
-static glibtop_cpu *cpu;
static float last_used;
static float last_total;
static float last_used;
static float last_total;
+static const char *PROVIDER_NAME = "gtop2";
+
struct psensor *create_cpu_usage_sensor(int measures_len)
{
struct psensor *create_cpu_usage_sensor(int measures_len)
{
- char *label;
+ char *label
, *id
;
int type;
int type;
- char *id;
struct psensor *psensor;
struct psensor *psensor;
- id =
strdup("cpu usage"
);
- label = strdup(
"cpu usage"
);
- type = SENSOR_TYPE_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, label, strdup("CPU"), type, measures_len);
+ psensor = psensor_create(id,
+ label,
+ strdup(_("CPU")),
+ type,
+ measures_len);
return psensor;
}
return psensor;
}
@@
-58,24
+62,24
@@
cpu_psensor_list_add(struct psensor **sensors, int measures_len)
static double get_usage()
{
static double get_usage()
{
- unsigned long int used = 0;
+ glibtop_cpu cpu;
+ unsigned long int used;
unsigned long int dt;
unsigned long int dt;
- double cpu_rate = UNKNOWN_DBL_VALUE;
-
- if (!cpu)
- cpu = malloc(sizeof(glibtop_cpu));
+ double cpu_rate;
- glibtop_get_cpu(cpu);
+ glibtop_get_cpu(
&
cpu);
- used = cpu
->user + cpu->nice + cpu->
sys;
+ used = cpu
.user + cpu.nice + cpu.
sys;
- dt = cpu
->
total - last_total;
+ dt = cpu
.
total - last_total;
if (dt)
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_used = used;
- last_total = cpu
->
total;
+ last_total = cpu
.
total;
return cpu_rate;
}
return cpu_rate;
}
@@
-87,21
+91,15
@@
void cpu_usage_sensor_update(struct psensor *s)
void cpu_psensor_list_update(struct psensor **sensors)
{
void cpu_psensor_list_update(struct psensor **sensors)
{
- struct psensor *
*ss, *
s;
+ struct psensor *s;
- ss = sensors;
- while (*ss) {
- s = *ss;
+ while (*sensors) {
+ s = *sensors;
- if (s->type == SENSOR_TYPE_CPU_USAGE)
+ if (s->type & SENSOR_TYPE_GTOP
+ && s->type & SENSOR_TYPE_CPU_USAGE)
cpu_usage_sensor_update(s);
cpu_usage_sensor_update(s);
- ss++;
+ s
ensor
s++;
}
}
}
}
-
-void cpu_cleanup()
-{
- if (cpu)
- free(cpu);
-}