- int top20_count=0,top20_perc1=0;\r
- long long top20_perc2=0;\r
- unsigned long long top20_sum=0l;\r
- \r
- fputs("<a name=\"erp\"></a><p><table class=\"decorated last\"><caption>Enterprise Resource Planning (ERP)</caption>\n",f);\r
- fputs("<thead><tr>\n\\r
-<th>Analytic category</th>\n\\r
-<th colspan=\"2\" style=\"text-align: center\">Active Classes</th>\n\\r
-<th colspan=\"2\" style=\"text-align: center\">Data transfers</th>\n\\r
-</tr></thead><tbody>\n",f);\r
-\r
- if_exists(sum,sums,sum->l>=total_traffic/4)\r
- {\r
- fprintf(f,"%s<td>Top 25%% of traffic</td>\n", tr_odd_even());\r
- fprintf(f,"<td style=\"text-align: right\">%d</td><td style=\"text-align: right\">%d %%</td><td style=\"text-align: right\">%Lu M</td><td style=\"text-align: right\">%Ld %%</td></tr>\n",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==10)\r
- {\r
- fprintf(f,"%s<td>Top 10 downloaders</td>\n", tr_odd_even());\r
- fprintf(f,"<td style=\"text-align: right\"><strong>10</strong></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
- (100*sum->i+50)/active_classes,sum->l,(100*sum->l+50)/total_traffic);\r
- }\r
-\r
- 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,"<tr><thead><th><a class=\"blue\" 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 M</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