- if_exists(sum,sums,sum->l>=total_traffic/2)\r
- {\r
- fprintf(f,"%s<td>Top 50%% of traffic</td>\n", tr_odd_even());\r
- fprintf(f,"<td style=\"text-align: right\">%d</td>\n\\r
-<td style=\"text-align: right\">%d %%</td>\n\\r
-<td style=\"text-align: right\">%Lu MB</td>\n\\r
-<td style=\"text-align: right\"><strong>%Ld %%</strong></td></tr>\n",\r
- sum->i,(100*sum->i+50)/active_classes,sum->l,(100*sum->l+50)/total_traffic);\r
- }\r
-\r
- if_exists(sum,sums,sum->l>=4*total_traffic/5)\r
- {\r
- fprintf(f,"%s<td>Top 80%% of traffic</td>\n", tr_odd_even());\r
- fprintf(f,"<td style=\"text-align: right\">%d</td>\n\\r
-<td style=\"text-align: right\">%d %%</td>\n\\r
-<td style=\"text-align: right\">%Lu MB</td>\n\\r
-<td style=\"text-align: right\"><strong>%Ld %%</strong></td></tr>\n",\r
- sum->i,(100*sum->i+50)/active_classes,sum->l,(100*sum->l+50)/total_traffic);\r
- }\r
-\r
- if_exists(sum,sums,sum->i>=(active_classes+1)/5)\r
- {\r
- fprintf(f,"%s<td>Top 20%% downloaders</td>\n", tr_odd_even());\r
- top20_count=sum->i;\r
- top20_perc1=(100*sum->i+50)/active_classes;\r
- top20_sum=sum->l;\r
- top20_perc2=(100*sum->l+50)/total_traffic;\r
- fprintf(f,"<td style=\"text-align: right\">%d</td>\n\\r
-<td style=\"text-align: right\"><strong>%d %%</strong></td>\n\\r
-<td style=\"text-align: right\">%Lu MB</td>\n\\r
-<td style=\"text-align: right\">%Ld %%</td></tr>\n",\r
- top20_count,top20_perc1,top20_sum,top20_perc2);\r
- }\r
-\r
- if_exists(sum,sums,sum->i>=(active_classes+1)/4)\r
- {\r
- fprintf(f,"%s<td>Top 25%% downloaders</td>\n", tr_odd_even());\r
- fprintf(f,"<td style=\"text-align: right\">%d</td>\n\\r
-<td style=\"text-align: right\">%d %%</td>\n\\r
-<td style=\"text-align: right\">%Lu MB</td>\n\\r
-<td style=\"text-align: right\">%Ld %%</td></tr>\n",\r
- sum->i,(100*sum->i+50)/active_classes,sum->l,(100*sum->l+50)/total_traffic);\r
- }\r
-\r
- if_exists(sum,sums,sum->i>=(active_classes+1)/2)\r
- {\r
- fprintf(f,"%s<td>Top 50%% downloaders</td>\n", tr_odd_even());\r
- fprintf(f,"<td style=\"text-align: right\">%d</td>\n\\r
-<td style=\"text-align: right\"><strong>%d %%</strong></td>\n\\r
-<td style=\"text-align: right\">%Lu MB</td>\n\\r
-<td style=\"text-align: right\">%Ld %%</td></tr>\n",\r
- sum->i,(100*sum->i+50)/active_classes,sum->l,(100*sum->l+50)/total_traffic);\r
- }\r
-\r
- if_exists(sum,sums,sum->i>=4*(active_classes+1)/5)\r
- {\r
- fprintf(f,"%s<td>Top 80%% downloaders</td>\n", tr_odd_even());\r
- fprintf(f,"<td style=\"text-align: right\">%d</td>\n\\r
-<td style=\"text-align: right\">%d %%</td>\n\\r
-<td style=\"text-align: right\">%Lu MB</td>\n\\r
-<td style=\"text-align: right\">%Ld %%</td></tr></tbody>\n",\r
- sum->i,(100*sum->i+50)/active_classes,sum->l,(100*sum->l+50)/total_traffic);\r
- }\r
-\r
- fprintf(f,"<thead><tr><th><a class=\"blue\" target=\"_blank\" href=\"%sERP.log\">All users, all traffic</a></th>\n", log_url);\r
- fprintf(f,"<th style=\"text-align: right\">%d</th>\n\\r
-<th style=\"text-align: right\">100 %%</th>\n\\r
-<th style=\"text-align: right\">%Lu MB</th>\n\\r
-<th style=\"text-align: right\">100 %%</th></tr>\n",active_classes,total_traffic);\r
- fputs("</thead></table>\n", f);\r
-\r
- /* write basic ERP data to log directory */\r
- if(!just_preview)\r
- {\r
- FILE *iplog;\r
- sprintf(str,"%s/ERP.log",log_dir);\r
- iplog=fopen(str,"a");\r
- if(iplog)\r
- {\r
- fprintf(iplog,"%ld\t%d\t%d %%\t%Lu M\t%Ld %%\tACTIVE %d\tTRAFFIC %Lu M\tCLASSES %d\tFUP-LIMIT %d\tLOW-PRIO %d\t%s",\r
- time(NULL), top20_count, top20_perc1, top20_sum, top20_perc2, \r
- active_classes, total_traffic, i, limit_count, prio_count, d); /* d = date*/\r
- fclose(iplog);\r
- }\r
- else\r
- {\r
- perror(str);\r
- }\r
- }\r
- }\r
-\r
- fprintf(f, stats_html_signature, version);\r
- fclose(f);\r
- }\r
-\r
- if(just_preview)\r
- {\r
- char swchar='p';\r
- if(start_shaping)\r
- {\r
- swchar='s';\r
- }\r