X-Git-Url: https://git.harvie.cz/?a=blobdiff_plain;f=prometheus.c;h=f158e3257dd5a9a8bbdf084f93ef80449d8971ca;hb=60a8251d24edd7db28a2490a5cbc8bc98d305eed;hp=5a0939fc8e1bb265e3cddb5266c256d1241447bf;hpb=ad4cb1299f009eb3885b2feb7a26851b5e57dac6;p=svn%2FPrometheus-QoS%2F.git diff --git a/prometheus.c b/prometheus.c index 5a0939f..f158e32 100644 --- a/prometheus.c +++ b/prometheus.c @@ -646,7 +646,7 @@ void run_restore(void) /* == This function strips extra characters after IP address and stores it = */ -void parse_ip(struct IP *ip, char *str) +void parse_ip(char *str) { char *ptr,*ipaddr=NULL,*ipname=NULL,*lmsid=NULL; @@ -1033,7 +1033,7 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version); if(substring) { substring+=8; //"sharing-" - parse_ip(ip, str); + parse_ip(str); ip_count++; ip->sharing=substring; ip->keyword=defaultkeyword; /* settings for default keyword */ @@ -1049,7 +1049,7 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version); if_exists(keyword,keywords,(substring=strstr(str,keyword->key))) { - parse_ip(ip, str); + parse_ip(str); ip_count++; ip->keyword=keyword; keyword->ip_count++; @@ -1672,6 +1672,10 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version); if(active_classes>10) { + int top20_count=0,top20_perc1=0; + long long top20_perc2=0; + unsigned long long top20_sum=0l; + fputs("

\n",f); fputs("\n",f); fputs("\n",f); @@ -1700,10 +1704,14 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version); fprintf(f,"\n",sum->i,(100*sum->i+50)/active_classes,sum->l,(100*sum->l+50)/total); } - if_exists (sum,sums,sum->i>=(active_classes+1)/5) + if_exists(sum,sums,sum->i>=(active_classes+1)/5) { fprintf(f,"\n"); - fprintf(f,"\n",sum->i,(100*sum->i+50)/active_classes,sum->l,(100*sum->l+50)/total); + top20_count=sum->i; + top20_perc1=(100*sum->i+50)/active_classes; + top20_sum=sum->l; + top20_perc2=(100*sum->l+50)/total; + fprintf(f,"\n",top20_count,top20_perc1,top20_sum,top20_perc2); } if_exists(sum,sums,sum->i>=(active_classes+1)/4) @@ -1727,7 +1735,21 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version); fprintf(f,"\n"); fprintf(f,"\n",active_classes,total); fputs("
Enterprise Research and Planning (ERP)
Analytic categoryActive ClassesData transfers
%d%d %%%Lu M%Ld %%
Top 20%% downloaders%d%d %%%Lu M%Ld %%
%d%d %%%Lu M%Ld %%
All users, all traffic%d100 %%%Lu M100 %%
\n", f); + + /*write basic ERP data to log directory*/ + if(!just_preview) + { + sprintf(str,"%s/ERP.log",log_dir); + iplog=fopen(str,"a"); + if(iplog) + { + fprintf(iplog,"%ld\t%d\t%d %%\t%Lu\t%Ld %%\t%d\t%Lu\t%s", + time(NULL), top20_count, top20_perc1, top20_sum, top20_perc2, active_classes, total, d); /* d = date*/ + fclose(iplog); + } + } } + fprintf(f, stats_html_signature, version); fclose(f); }