diff options
| author | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2003-03-28 06:16:53 +0000 |
|---|---|---|
| committer | hugetoad <hugetoad@97f52cf1-0a1b-0410-bd0e-c28be96e8082> | 2003-03-28 06:16:53 +0000 |
| commit | fc390fec510bdfb947145f911c817b4df9bccec7 (patch) | |
| tree | 83a338768a2f0592c3501d7306931b7940eb7232 /src | |
| parent | 2a219251a07a71a3f083d65738472724e09904cb (diff) | |
| download | zabbix-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.c | 51 | ||||
| -rw-r--r-- | src/zabbix_agent/interfaces.c | 12 |
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); } |
