summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--multiload/linux-proc.c184
1 files changed, 91 insertions, 93 deletions
diff --git a/multiload/linux-proc.c b/multiload/linux-proc.c
index df2a2e90..96754092 100644
--- a/multiload/linux-proc.c
+++ b/multiload/linux-proc.c
@@ -65,8 +65,8 @@ GetLoad (int Maximum, int data [5], LoadGraph *g)
g->cpu_time [4] = cpu.idle;
if (!g->cpu_initialized) {
- memcpy (g->cpu_last, g->cpu_time, sizeof (g->cpu_last));
- g->cpu_initialized = 1;
+ memcpy (g->cpu_last, g->cpu_time, sizeof (g->cpu_last));
+ g->cpu_initialized = 1;
}
usr = g->cpu_time [0] - g->cpu_last [0];
@@ -95,61 +95,61 @@ GetLoad (int Maximum, int data [5], LoadGraph *g)
void
GetDiskLoad (int Maximum, int data [3], LoadGraph *g)
{
- static gboolean first_call = TRUE;
- static guint64 lastread = 0, lastwrite = 0;
- static AutoScaler scaler;
+ static gboolean first_call = TRUE;
+ static guint64 lastread = 0, lastwrite = 0;
+ static AutoScaler scaler;
- glibtop_mountlist mountlist;
- glibtop_mountentry *mountentries;
- guint i;
- int max;
+ glibtop_mountlist mountlist;
+ glibtop_mountentry *mountentries;
+ guint i;
+ int max;
- guint64 read, write;
- guint64 readdiff, writediff;
+ guint64 read, write;
+ guint64 readdiff, writediff;
- if(first_call)
- {
- autoscaler_init(&scaler, 60, 500);
- }
+ if(first_call)
+ {
+ autoscaler_init(&scaler, 60, 500);
+ }
- read = write = 0;
+ read = write = 0;
- mountentries = glibtop_get_mountlist (&mountlist, FALSE);
+ mountentries = glibtop_get_mountlist (&mountlist, FALSE);
- for (i = 0; i < mountlist.number; i++)
- {
- glibtop_fsusage fsusage;
+ for (i = 0; i < mountlist.number; i++)
+ {
+ glibtop_fsusage fsusage;
- if (strcmp(mountentries[i].type, "smbfs") == 0
- || strcmp(mountentries[i].type, "nfs") == 0
- || strcmp(mountentries[i].type, "cifs") == 0)
- continue;
+ if (strcmp(mountentries[i].type, "smbfs") == 0
+ || strcmp(mountentries[i].type, "nfs") == 0
+ || strcmp(mountentries[i].type, "cifs") == 0)
+ continue;
- glibtop_get_fsusage(&fsusage, mountentries[i].mountdir);
- read += fsusage.read; write += fsusage.write;
- }
+ glibtop_get_fsusage(&fsusage, mountentries[i].mountdir);
+ read += fsusage.read; write += fsusage.write;
+ }
- g_free(mountentries);
+ g_free(mountentries);
- readdiff = read - lastread;
- writediff = write - lastwrite;
+ readdiff = read - lastread;
+ writediff = write - lastwrite;
- lastread = read;
- lastwrite = write;
+ lastread = read;
+ lastwrite = write;
- if(first_call)
- {
- first_call = FALSE;
- memset(data, 0, 3 * sizeof data[0]);
- return;
- }
+ if(first_call)
+ {
+ first_call = FALSE;
+ memset(data, 0, 3 * sizeof data[0]);
+ return;
+ }
- max = autoscaler_get_max(&scaler, readdiff + writediff);
+ max = autoscaler_get_max(&scaler, readdiff + writediff);
- data[0] = (float)Maximum * readdiff / (float)max;
- data[1] = (float)Maximum * writediff / (float)max;
- data[2] = (float)Maximum - (data [0] + data[1]);
+ data[0] = (float)Maximum * readdiff / (float)max;
+ data[1] = (float)Maximum * writediff / (float)max;
+ data[2] = (float)Maximum - (data [0] + data[1]);
}
#if 0
@@ -219,7 +219,7 @@ GetMemory (int Maximum, int data [5], LoadGraph *g)
data [0] = user;
data [1] = shared;
data [2] = buffer;
- data[3] = cached;
+ data [3] = cached;
data [4] = Maximum-user-shared-buffer-cached;
}
@@ -234,10 +234,10 @@ GetSwap (int Maximum, int data [2], LoadGraph *g)
g_return_if_fail ((swap.flags & needed_swap_flags) == needed_swap_flags);
if (swap.total == 0) {
- used = 0;
+ used = 0;
}
else {
- used = rint (Maximum * (float)swap.used / swap.total);
+ used = rint (Maximum * (float)swap.used / swap.total);
}
data [0] = used;
@@ -306,11 +306,11 @@ void
GetNet (int Maximum, int data [4], LoadGraph *g)
{
enum Types {
- IN_COUNT = 0,
- OUT_COUNT = 1,
- LOCAL_COUNT = 2,
- COUNT_TYPES = 3
- };
+ IN_COUNT = 0,
+ OUT_COUNT = 1,
+ LOCAL_COUNT = 2,
+ COUNT_TYPES = 3
+ };
static int ticks = 0;
static gulong past[COUNT_TYPES] = {0};
@@ -322,42 +322,40 @@ GetNet (int Maximum, int data [4], LoadGraph *g)
gchar **devices;
glibtop_netlist netlist;
-
if(ticks == 0)
{
- autoscaler_init(&scaler, 60, 501);
+ autoscaler_init(&scaler, 60, 501);
}
-
devices = glibtop_get_netlist(&netlist);
for(i = 0; i < netlist.number; ++i)
{
- int index;
- glibtop_netload netload;
+ int index;
+ glibtop_netload netload;
- glibtop_get_netload(&netload, devices[i]);
+ glibtop_get_netload(&netload, devices[i]);
- g_return_if_fail((netload.flags & needed_netload_flags) == needed_netload_flags);
+ g_return_if_fail((netload.flags & needed_netload_flags) == needed_netload_flags);
- if (!(netload.if_flags & (1L << GLIBTOP_IF_FLAGS_UP)))
- continue;
+ if (!(netload.if_flags & (1L << GLIBTOP_IF_FLAGS_UP)))
+ continue;
- if (netload.if_flags & (1L << GLIBTOP_IF_FLAGS_LOOPBACK)) {
- /* for loopback in and out are identical, so only count in */
- present[LOCAL_COUNT] += netload.bytes_in;
- continue;
- }
+ if (netload.if_flags & (1L << GLIBTOP_IF_FLAGS_LOOPBACK)) {
+ /* for loopback in and out are identical, so only count in */
+ present[LOCAL_COUNT] += netload.bytes_in;
+ continue;
+ }
- /*
- * Do not include virtual devices (VPN, PPPOE...) to avoid
- * counting the same throughput several times.
- */
- if (is_net_device_virtual(devices[i]))
- continue;
+ /*
+ * Do not include virtual devices (VPN, PPPOE...) to avoid
+ * counting the same throughput several times.
+ */
+ if (is_net_device_virtual(devices[i]))
+ continue;
- present[IN_COUNT] += netload.bytes_in;
- present[OUT_COUNT] += netload.bytes_out;
+ present[IN_COUNT] += netload.bytes_in;
+ present[OUT_COUNT] += netload.bytes_out;
}
g_strfreev(devices);
@@ -366,35 +364,35 @@ GetNet (int Maximum, int data [4], LoadGraph *g)
if(ticks < 2) /* avoid initial spike */
{
- ticks++;
- memset(data, 0, COUNT_TYPES * sizeof data[0]);
+ ticks++;
+ memset(data, 0, COUNT_TYPES * sizeof data[0]);
}
else
{
- int delta[COUNT_TYPES];
- int max;
- int total = 0;
-
- for (i = 0; i < COUNT_TYPES; i++)
- {
- /* protect against weirdness */
- if (present[i] >= past[i])
- delta[i] = (present[i] - past[i]);
- else
- delta[i] = 0;
- total += delta[i];
- }
-
- max = autoscaler_get_max(&scaler, total);
-
- for (i = 0; i < COUNT_TYPES; i++)
- data[i] = rint (Maximum * (float)delta[i] / max);
+ int delta[COUNT_TYPES];
+ int max;
+ int total = 0;
+
+ for (i = 0; i < COUNT_TYPES; i++)
+ {
+ /* protect against weirdness */
+ if (present[i] >= past[i])
+ delta[i] = (present[i] - past[i]);
+ else
+ delta[i] = 0;
+ total += delta[i];
+ }
+
+ max = autoscaler_get_max(&scaler, total);
+
+ for (i = 0; i < COUNT_TYPES; i++)
+ data[i] = rint (Maximum * (float)delta[i] / max);
}
//data[4] = Maximum - data[3] - data[2] - data[1] - data[0];
data[COUNT_TYPES] = Maximum;
for (i = 0; i < COUNT_TYPES; i++)
- data[COUNT_TYPES] -= data[i];
+ data[COUNT_TYPES] -= data[i];
memcpy(past, present, sizeof past);
}