-b Boot mode
[svn/Prometheus-QoS/.git] / htmlandlogs.c
index 39a4286abd51192fbcfda7e3542588be5d66627d..431d044bf3d36fb53ada3ae48340152c5744c613 100644 (file)
@@ -14,15 +14,15 @@ extern const char *version;
 extern const char *stats_html_signature;\r
 extern char *jquery_url;\r
 extern int keywordcount;\r
-extern long long int line;\r
 extern int dry_run;\r
 extern int qos_proxy;\r
 extern char *title;\r
 extern char *log_url;\r
-extern int found_lmsid;\r
+extern int found_code;\r
 extern char *lms_url;\r
 extern char *log_dir;\r
 extern char *ip6prefix;\r
+extern int traffic_detected;\r
 \r
 const char *tr_odd_even(void);\r
 /* implemented in prometheus.c, shared with parselogs.c */\r
@@ -42,9 +42,9 @@ void append_log(struct IP *self) /*using global variables*/
  f = fopen(str, "a");\r
  if(f > 0)\r
  {\r
-  fprintf(f, "%ld\t%s\t%Lu\t%Lu\t%Lu\t%Lu\t%d\t%d\t%d\t%d\t%s",\r
+  fprintf(f, "%ld\t%s\t%Lu\t%Lu\t%Lu\t%Lu\t%d\t%d\t%d\t%s\t%s",\r
              time(NULL), self->name, self->traffic, self->direct, self->proxy,\r
-             self->upload, self->min, self->max, self->desired, self->lmsid, d); /* d = date*/\r
+             self->upload, self->min, self->max, self->desired, self->code, d); /* d = date*/\r
   fclose(f);\r
  }\r
  else\r
@@ -100,19 +100,19 @@ void write_htmlandlogs(char *html, char *d, int total, int just_preview)
    count++; \r
   }\r
 #ifdef DEBUG\r
-   printf("Total groups: %d Total bandwidth requested: %d kb/s\nAGGREGATION: 1/%d\n",\r
-          count, i, i/line);\r
+   printf("Total groups: %d Total bandwidth requested: %d kb/s\n",\r
+          count, i, i);\r
 #endif\r
    fprintf(f,"</tr></tbody>\n\\r
 <thead><tr>\n\\r
-<th colspan=\"2\" style=\"text-align: left\">Line %Ld kb/s</td>",line);\r
+<th colspan=\"2\" style=\"text-align: left\"></td>");\r
    fprintf(f,"<th style=\"text-align: right\">%d</td><th style=\"text-align: right\">%d kb/s</td>",total,i);\r
 \r
    for_each(keyword, keywords) if(keyword->ip_count)\r
    {\r
     fprintf(f,"<th style=\"text-align: right\">%d IPs</th>",keyword->ip_count);\r
    }\r
-   fprintf(f,"</tr><tr><th colspan=\"4\">Aggregation 1/%d</th>\n", (int)(0.5+i/line));\r
+   fprintf(f,"</tr><tr><th colspan=\"4\"></th>\n");\r
    fprintf(f,"<th colspan=\"%d\">%d traffic classes</th></tr>\n", keywordcount, total);\r
 \r
    fputs("</thead></table>\n",f);\r
@@ -125,15 +125,15 @@ void write_htmlandlogs(char *html, char *d, int total, int just_preview)
  i=0;\r
  if(f > 0)\r
  {\r
-  unsigned long long total_traffic=0, total_direct=0, total_proxy=0, total_upload=0, tmp_sum = 0;\r
+  unsigned long long total_traffic = 1 /* prevent divide by zero */ , total_direct=0, total_proxy=0, total_upload=0, tmp_sum = 0;\r
   unsigned long long total_pktup = 0, total_pktdown = 0;\r
   int active_classes = 0;\r
 //  int colspan = 14;\r
   struct Sum {unsigned long long l; int i; list(Sum);} *sum,*sums = NULL;\r
-  int limit_count = 0, prio_count = 0;\r
+  int agreg_count = 0, limit_count = 0, prio_count = 0;\r
   int popup_button = 0;\r
   /* IPv6 vs. IPv4 stats */\r
-  unsigned long long pkts4 =0, pkts6 = 0, bytes4 = 0, bytes6 = 0;\r
+  unsigned long long pkts4 = 1, pkts6 = 1 /*prevent divide by zero */, bytes4 = 0, bytes6 = 0;\r
   int count4 = 0, count6 = 0;\r
   int mpkts;\r
   double perc6;\r
@@ -197,7 +197,13 @@ $(\'#pktsup_\'+n).show();\
    char *f1="", *f2="";\r
    i++;\r
 \r
-   if(ip->max < ip->desired) \r
+   if(ip->aggregated > 1)\r
+   {\r
+    f1 = "<span style=\"color:green\">";\r
+    f2 = "</span>";   \r
+    agreg_count++;\r
+   }\r
+   else if(ip->max < ip->desired) \r
    {\r
     f1 = "<span style=\"color:red\">";\r
     f2 = "</span>"; \r
@@ -232,8 +238,8 @@ $(\'#pktsup_\'+n).show();\
 \r
      for_each(sharedip, ips) if(eq(ip->name, sharedip->sharing) && sharedip->v6) /* IPv6 only */\r
      {\r
-      fprintf(f, "<br /><a class=\"blue\" target=\"_blank\" href=\"%s%s.log\">%s/64</a>\n", \r
-                 log_url, sharedip->addr, sharedip->addr);\r
+      fprintf(f, "<br /><a class=\"blue\" target=\"_blank\" href=\"%s%s.log\">%s/%d</a>\n", \r
+                 log_url, sharedip->addr, sharedip->addr, sharedip->mask);\r
       popup_button++;\r
      }\r
 \r
@@ -249,17 +255,17 @@ style=\"cursor: pointer;\">+%d</a>]</span>",
    fputs("</td>\n",f);\r
    /* ----------------------------------------------- */\r
 \r
-   if(found_lmsid)\r
+   if(found_code)\r
    {\r
     fputs("<td style=\"text-align: right\">",f);\r
-    if(ip->lmsid > 0)\r
+    if(ip->code[0])\r
     {\r
-     fprintf(f, "<a class=\"blue\" target=\"_blank\" href=\"%s%d\">%04d</a>\n",\r
-                lms_url, ip->lmsid, ip->lmsid);\r
+     fprintf(f, "<a class=\"blue\" target=\"_blank\" href=\"%s%s\">%s</a>\n",\r
+                lms_url, ip->code, ip->code);\r
     }\r
-    else if(ip->lmsid == 0)\r
+    else if(ip->code[0] == 0)\r
     {\r
-     fputs("-------",f);\r
+     fputs("------",f);\r
     }\r
     fputs("</td>\n",f);\r
    }\r
@@ -397,7 +403,7 @@ style=\"cursor: pointer;\">+%d</a>]</span>",
     insert(sum,sums,order_by,i);\r
    }\r
 \r
-   if(!just_preview)\r
+   if(!just_preview && traffic_detected)\r
    {\r
     append_log(ip);\r
     for_each(sharedip,ips) if(eq(ip->name, sharedip->sharing))\r
@@ -405,6 +411,10 @@ style=\"cursor: pointer;\">+%d</a>]</span>",
      append_log(sharedip);\r
     }\r
    }\r
+   else\r
+   {\r
+    printf(".");\r
+   }\r
   }\r
   fprintf(f, "</tbody><thead><tr>\n\\r
 <th colspan=\"5\" style=\"text-align: left\">%d CLASSES</th>", i);\r
@@ -419,9 +429,11 @@ style=\"cursor: pointer;\">+%d</a>]</span>",
 */\r
   fprintf(f, "<th style=\"text-align: right\">%Lu</th><th style=\"text-align: right\">%d</th>",\r
              total_direct, total_pktdown/i);\r
-  fprintf(f, "<th colspan=\"6\"><span style=\"color:red\">LIMIT %dx</span> \\r
-<span style=\"color:brown\">LOW-PRIO %dx</span></th></tr>\n</thead></table>\n",\r
-             limit_count, prio_count);\r
+  fprintf(f, "<th colspan=\"6\">\\r
+<span style=\"color:green\">AGR %dx</span> \\r
+<span style=\"color:red\">FUP %dx</span> \\r
+<span style=\"color:brown\">PRIO %dx</span></th></tr>\n</thead></table>\n",\r
+             agreg_count, limit_count, prio_count);\r
 \r
   if(ip6prefix)\r
   { \r
This page took 0.194322 seconds and 4 git commands to generate.