X-Git-Url: http://git.harvie.cz/?p=svn%2FPrometheus-QoS%2F.git;a=blobdiff_plain;f=htmlandlogs.c;h=431d044bf3d36fb53ada3ae48340152c5744c613;hp=39a4286abd51192fbcfda7e3542588be5d66627d;hb=HEAD;hpb=8e7aa99528485133231579d5933643eecfe0e0af diff --git a/htmlandlogs.c b/htmlandlogs.c index 39a4286..431d044 100644 --- a/htmlandlogs.c +++ b/htmlandlogs.c @@ -14,15 +14,15 @@ extern const char *version; extern const char *stats_html_signature; extern char *jquery_url; extern int keywordcount; -extern long long int line; extern int dry_run; extern int qos_proxy; extern char *title; extern char *log_url; -extern int found_lmsid; +extern int found_code; extern char *lms_url; extern char *log_dir; extern char *ip6prefix; +extern int traffic_detected; const char *tr_odd_even(void); /* implemented in prometheus.c, shared with parselogs.c */ @@ -42,9 +42,9 @@ void append_log(struct IP *self) /*using global variables*/ f = fopen(str, "a"); if(f > 0) { - fprintf(f, "%ld\t%s\t%Lu\t%Lu\t%Lu\t%Lu\t%d\t%d\t%d\t%d\t%s", + fprintf(f, "%ld\t%s\t%Lu\t%Lu\t%Lu\t%Lu\t%d\t%d\t%d\t%s\t%s", time(NULL), self->name, self->traffic, self->direct, self->proxy, - self->upload, self->min, self->max, self->desired, self->lmsid, d); /* d = date*/ + self->upload, self->min, self->max, self->desired, self->code, d); /* d = date*/ fclose(f); } else @@ -100,19 +100,19 @@ void write_htmlandlogs(char *html, char *d, int total, int just_preview) count++; } #ifdef DEBUG - printf("Total groups: %d Total bandwidth requested: %d kb/s\nAGGREGATION: 1/%d\n", - count, i, i/line); + printf("Total groups: %d Total bandwidth requested: %d kb/s\n", + count, i, i); #endif fprintf(f,"\n\ \n\ -Line %Ld kb/s",line); +"); fprintf(f,"%d%d kb/s",total,i); for_each(keyword, keywords) if(keyword->ip_count) { fprintf(f,"%d IPs",keyword->ip_count); } - fprintf(f,"Aggregation 1/%d\n", (int)(0.5+i/line)); + fprintf(f,"\n"); fprintf(f,"%d traffic classes\n", keywordcount, total); fputs("\n",f); @@ -125,15 +125,15 @@ void write_htmlandlogs(char *html, char *d, int total, int just_preview) i=0; if(f > 0) { - unsigned long long total_traffic=0, total_direct=0, total_proxy=0, total_upload=0, tmp_sum = 0; + unsigned long long total_traffic = 1 /* prevent divide by zero */ , total_direct=0, total_proxy=0, total_upload=0, tmp_sum = 0; unsigned long long total_pktup = 0, total_pktdown = 0; int active_classes = 0; // int colspan = 14; struct Sum {unsigned long long l; int i; list(Sum);} *sum,*sums = NULL; - int limit_count = 0, prio_count = 0; + int agreg_count = 0, limit_count = 0, prio_count = 0; int popup_button = 0; /* IPv6 vs. IPv4 stats */ - unsigned long long pkts4 =0, pkts6 = 0, bytes4 = 0, bytes6 = 0; + unsigned long long pkts4 = 1, pkts6 = 1 /*prevent divide by zero */, bytes4 = 0, bytes6 = 0; int count4 = 0, count6 = 0; int mpkts; double perc6; @@ -197,7 +197,13 @@ $(\'#pktsup_\'+n).show();\ char *f1="", *f2=""; i++; - if(ip->max < ip->desired) + if(ip->aggregated > 1) + { + f1 = ""; + f2 = ""; + agreg_count++; + } + else if(ip->max < ip->desired) { f1 = ""; f2 = ""; @@ -232,8 +238,8 @@ $(\'#pktsup_\'+n).show();\ for_each(sharedip, ips) if(eq(ip->name, sharedip->sharing) && sharedip->v6) /* IPv6 only */ { - fprintf(f, "
%s/64\n", - log_url, sharedip->addr, sharedip->addr); + fprintf(f, "
%s/%d\n", + log_url, sharedip->addr, sharedip->addr, sharedip->mask); popup_button++; } @@ -249,17 +255,17 @@ style=\"cursor: pointer;\">+%d]", fputs("\n",f); /* ----------------------------------------------- */ - if(found_lmsid) + if(found_code) { fputs("",f); - if(ip->lmsid > 0) + if(ip->code[0]) { - fprintf(f, "%04d\n", - lms_url, ip->lmsid, ip->lmsid); + fprintf(f, "%s\n", + lms_url, ip->code, ip->code); } - else if(ip->lmsid == 0) + else if(ip->code[0] == 0) { - fputs("-------",f); + fputs("------",f); } fputs("\n",f); } @@ -397,7 +403,7 @@ style=\"cursor: pointer;\">+%d]", insert(sum,sums,order_by,i); } - if(!just_preview) + if(!just_preview && traffic_detected) { append_log(ip); for_each(sharedip,ips) if(eq(ip->name, sharedip->sharing)) @@ -405,6 +411,10 @@ style=\"cursor: pointer;\">+%d]", append_log(sharedip); } } + else + { + printf("."); + } } fprintf(f, "\n\ %d CLASSES", i); @@ -419,9 +429,11 @@ style=\"cursor: pointer;\">+%d]", */ fprintf(f, "%Lu%d", total_direct, total_pktdown/i); - fprintf(f, "LIMIT %dx \ -LOW-PRIO %dx\n\n", - limit_count, prio_count); + fprintf(f, "\ +AGR %dx \ +FUP %dx \ +PRIO %dx\n\n", + agreg_count, limit_count, prio_count); if(ip6prefix) {