summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2003-03-28 06:16:53 +0000
committerhugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082>2003-03-28 06:16:53 +0000
commitfc390fec510bdfb947145f911c817b4df9bccec7 (patch)
tree83a338768a2f0592c3501d7306931b7940eb7232 /src
parent2a219251a07a71a3f083d65738472724e09904cb (diff)
downloadzabbix-fc390fec510bdfb947145f911c817b4df9bccec7.tar.gz
zabbix-fc390fec510bdfb947145f911c817b4df9bccec7.tar.xz
zabbix-fc390fec510bdfb947145f911c817b4df9bccec7.zip
Improvements for disk stats code.
git-svn-id: svn://svn.zabbix.com/trunk@728 97f52cf1-0a1b-0410-bd0e-c28be96e8082
Diffstat (limited to 'src')
-rw-r--r--src/zabbix_agent/diskdevices.c51
-rw-r--r--src/zabbix_agent/interfaces.c12
2 files changed, 43 insertions, 20 deletions
diff --git a/src/zabbix_agent/diskdevices.c b/src/zabbix_agent/diskdevices.c
index 54214a15..ee4c764c 100644
--- a/src/zabbix_agent/diskdevices.c
+++ b/src/zabbix_agent/diskdevices.c
@@ -61,7 +61,7 @@
DISKDEVICE diskdevices[MAX_DISKDEVICES];
-void init_stats()
+void init_stats_diskdevices()
{
FILE *file;
char *s;
@@ -107,7 +107,7 @@ void init_stats()
fclose(file);
}
-void report_stats(FILE *file, int now)
+void report_stats_diskdevices(FILE *file, int now)
{
int time=0,
time1=0,
@@ -173,27 +173,24 @@ void report_stats(FILE *file, int now)
{
read_io_ops[0]=diskdevices[i].read_io_ops[j];
write_io_ops[0]=diskdevices[i].write_io_ops[j];
- received=diskdevices[i].received[j];
}
if(diskdevices[i].clock[j]==time1)
{
read_io_ops[1]=diskdevices[i].read_io_ops[j];
write_io_ops[1]=diskdevices[i].write_io_ops[j];
- received1=diskdevices[i].received[j];
}
if(diskdevices[i].clock[j]==time5)
{
read_io_ops[2]=diskdevices[i].read_io_ops[j];
write_io_ops[2]=diskdevices[i].write_io_ops[j];
- received5=diskdevices[i].received[j];
}
if(diskdevices[i].clock[j]==time15)
{
read_io_ops[3]=diskdevices[i].read_io_ops[j];
write_io_ops[3]=diskdevices[i].write_io_ops[j];
- received15=diskdevices[i].received[j];
}
}
+
if((read_io_ops[0]!=0)&&(read_io_ops[1]!=0))
{
fprintf(file,"netloadout1[%s] %f\n", diskdevices[i].device, (float)((read_io_ops[0]-read_io_ops[1])/(now-time1)));
@@ -219,6 +216,32 @@ void report_stats(FILE *file, int now)
fprintf(file,"netloadout15[%s] 0\n", diskdevices[i].device);
}
+ if((write_io_ops[0]!=0)&&(write_io_ops[1]!=0))
+ {
+ fprintf(file,"netloadout1[%s] %f\n", diskdevices[i].device, (float)((write_io_ops[0]-write_io_ops[1])/(now-time1)));
+ }
+ else
+ {
+ fprintf(file,"netloadout1[%s] 0\n", diskdevices[i].device);
+ }
+ if((write_io_ops[0]!=0)&&(write_io_ops[2]!=0))
+ {
+ fprintf(file,"netloadout5[%s] %f\n", diskdevices[i].device, (float)((write_io_ops[0]-write_io_ops[2])/(now-time5)));
+ }
+ else
+ {
+ fprintf(file,"netloadout5[%s] 0\n", diskdevices[i].device);
+ }
+ if((write_io_ops[0]!=0)&&(write_io_ops[3]!=0))
+ {
+ fprintf(file,"netloadout15[%s] %f\n", diskdevices[i].device, (float)((write_io_ops[0]-write_io_ops[3])/(now-time15)));
+ }
+ else
+ {
+ fprintf(file,"netloadout15[%s] 0\n", diskdevices[i].device);
+ }
+
+/*
if((received!=0)&&(received1!=0))
{
fprintf(file,"netloadin1[%s] %f\n", diskdevices[i].interface, (float)((received-received1)/(now-time1)));
@@ -242,13 +265,13 @@ void report_stats(FILE *file, int now)
else
{
fprintf(file,"netloadin15[%s] 0\n", diskdevices[i].interface);
- }
+ }*/
}
}
-void add_values(int now,char *interface,float value_sent,float value_received)
+void add_values_diskdevices(int now,char *device,float read_io_ops,float write_io_ops)
{
int i,j;
@@ -256,15 +279,15 @@ void add_values(int now,char *interface,float value_sent,float value_received)
for(i=0;i<MAX_DISKDEVICES;i++)
{
- if(0 == strcmp(diskdevices[i].interface,interface))
+ if(0 == strcmp(diskdevices[i].device,device))
{
for(j=0;j<15*60;j++)
{
if(diskdevices[i].clock[j]<now-15*60)
{
diskdevices[i].clock[j]=now;
- diskdevices[i].sent[j]=value_sent;
- diskdevices[i].received[j]=value_received;
+ diskdevices[i].read_io_ops[j]=read_io_ops;
+ diskdevices[i].write_io_ops[j]=write_io_ops;
break;
}
}
@@ -290,7 +313,7 @@ void collect_stats_diskdevices(FILE *outfile)
if( 0 == initialised)
{
- init_stats();
+ init_stats_diskdevices();
initialised=1;
}
@@ -335,7 +358,7 @@ void collect_stats_diskdevices(FILE *outfile)
{
/* printf("Sent [%s]\n",s);*/
sent=atof(s);
- add_values(now,interface,sent,received);
+ add_values_diskdevices(now,interface,sent,received);
}
j++;
}
@@ -343,5 +366,5 @@ void collect_stats_diskdevices(FILE *outfile)
}
fclose(file);
- report_stats(outfile, now);
+ report_stats_diskdevices(outfile, now);
}
diff --git a/src/zabbix_agent/interfaces.c b/src/zabbix_agent/interfaces.c
index 5bfe00c2..c6d07830 100644
--- a/src/zabbix_agent/interfaces.c
+++ b/src/zabbix_agent/interfaces.c
@@ -61,7 +61,7 @@
INTERFACE interfaces[MAX_INTERFACE];
-void init_stats()
+void init_stats_interfaces()
{
FILE *file;
char *s;
@@ -107,7 +107,7 @@ void init_stats()
fclose(file);
}
-void report_stats(FILE *file, int now)
+void report_stats_interfaces(FILE *file, int now)
{
int time=0,
time1=0,
@@ -239,7 +239,7 @@ void report_stats(FILE *file, int now)
}
-void add_values(int now,char *interface,float value_sent,float value_received)
+void add_values_interfaces(int now,char *interface,float value_sent,float value_received)
{
int i,j;
@@ -281,7 +281,7 @@ void collect_stats_interfaces(FILE *outfile)
if( 0 == initialised)
{
- init_stats();
+ init_stats_interfaces();
initialised=1;
}
@@ -326,7 +326,7 @@ void collect_stats_interfaces(FILE *outfile)
{
/* printf("Sent [%s]\n",s);*/
sent=atof(s);
- add_values(now,interface,sent,received);
+ add_values_interfaces(now,interface,sent,received);
}
j++;
}
@@ -334,5 +334,5 @@ void collect_stats_interfaces(FILE *outfile)
}
fclose(file);
- report_stats(outfile, now);
+ report_stats_interfaces(outfile, now);
}