X-Git-Url: https://git.harvie.cz/?a=blobdiff_plain;f=prometheus.c;h=6aaa3c78869793a9c3042eb18a6e5bc0e5fb8235;hb=a7e55d860299849e031ce7997aca053223160bb3;hp=f12de1530e477e15cf1fbf45689f2f31aa56f352;hpb=4f4d182088d6b40224a5475f284a9c756ae604a1;p=svn%2FPrometheus-QoS%2F.git
diff --git a/prometheus.c b/prometheus.c
index f12de15..6aaa3c7 100644
--- a/prometheus.c
+++ b/prometheus.c
@@ -7,7 +7,7 @@
/* Credit: CZFree.Net,Martin Devera,Netdave,Aquarius,Gandalf */
/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
-/* Modified by: xChaos, 20120516
+/* Modified by: xChaos, 20120610
ludva, 20080415
Prometheus QoS is free software; you can redistribute it and/or
@@ -33,7 +33,7 @@
#include "cll1-0.6.2.h"
-const char *version = "0.8.3-d";
+const char *version = "0.8.3-e";
/* Version numbers: 0.8.3 is development releases ("beta"), 0.8.4 will be "stable" */
/* Debian(RPM) package versions/patchlevels: 0.7.9-2, 0.8.0-1, 0.8.0-2, etc. */
@@ -58,7 +58,7 @@ char *credit = "/var/lib/misc/prometheus.credit"; /* credit log file */
char *classmap = "/var/lib/misc/prometheus.classes"; /* credit log file */
char *html = "/var/www/traffic.html"; /* hall of fame - html version */
char *preview = "/var/www/preview.html"; /* hall of fame preview */
-char *json = "/var/www/traffic.json"; /* hall of fame - json version */
+char *json = "/var/www/logs/traffic.json"; /* hall of fame - json version */
char *cmdlog = "/var/log/prometheuslog"; /* command log filename */
char *log_dir = "/var/www/logs/"; /* log directory pathname, ended with slash */
char *log_url = "/logs/"; /* log directory relative URI prefix (partial URL) */
@@ -610,7 +610,7 @@ void get_traffic_statistics(void)
{
printf("(upload) ");
}
- printf("IP %s: %Lu M (%ld pkts)\n", ipaddr, traffic, pkts);
+ printf("IP %s: %Lu MB (%ld pkts)\n", ipaddr, traffic, pkts);
if_exists(ip,ips,eq(ip->addr,ipaddr));
else
@@ -958,7 +958,11 @@ void parse_ip_log(int argc, char **argv)
if_exists(iplog,iplogs,iplog->l>=total/4)
{
fprintf(f,"%s
Top 25%% of traffic | \n", tr_odd_even());
- fprintf(f,"%d | %d %% | %ld G | %d %% | \n",iplog->i,(100*iplog->i+50)/i,iplog->l,(int)((100*iplog->l+50)/total));
+ fprintf(f,"%d | \n\
+%d %% | \n\
+%ld GB | \n\
+%d %% | \n",
+ iplog->i, (100*iplog->i+50)/i, iplog->l, (int)((100*iplog->l+50)/total));
}
if_exists(iplog,iplogs,iplog->i==10)
@@ -966,9 +970,9 @@ void parse_ip_log(int argc, char **argv)
fprintf(f,"%sTop 10 downloaders | \n", tr_odd_even());
fprintf(f,"10 | \n\
%d %% | \n\
-%ld G | \n\
+%ld GB | \n\
%d %% | \n",
- (100*iplog->i+50)/i,iplog->l,(int)((100*iplog->l+50)/total));
+ (100*iplog->i+50)/i, iplog->l, (int)((100*iplog->l+50)/total));
}
if_exists(iplog,iplogs,iplog->l>=total/2)
@@ -976,7 +980,7 @@ void parse_ip_log(int argc, char **argv)
fprintf(f,"%sTop 50%% of traffic | \n", tr_odd_even());
fprintf(f,"%d | \n\
%d %% | \n\
-%ld G | \n\
+%ld GB | \n\
%d %% | \n",
iplog->i,(100*iplog->i+50)/i,iplog->l,(int)((100*iplog->l+50)/total));
}
@@ -986,9 +990,9 @@ void parse_ip_log(int argc, char **argv)
fprintf(f,"%sTop 80%% of traffic | \n",tr_odd_even());
fprintf(f,"%d | \n\
%d %% | \n\
-%ld G | \n\
+%ld GB | \n\
%d %% | \n",
- iplog->i,(100*iplog->i+50)/i,iplog->l,(int)((100*iplog->l+50)/total));
+ iplog->i, (100*iplog->i+50)/i, iplog->l, (int)((100*iplog->l+50)/total));
}
if_exists (iplog,iplogs,iplog->i>=i/5)
@@ -996,15 +1000,19 @@ void parse_ip_log(int argc, char **argv)
fprintf(f,"%sTop 20%% downloaders | \n",tr_odd_even());
fprintf(f,"%d | \n\
%d %% | \n\
-%ld G | \n\
+%ld GB | \n\
%d %% | \n",
- iplog->i,(100*iplog->i+50)/i,iplog->l,(int)((100*iplog->l+50)/total));
+ iplog->i, (100*iplog->i+50)/i, iplog->l, (int)((100*iplog->l+50)/total));
}
if_exists(iplog,iplogs,iplog->i>=i/4)
{
fprintf(f,"%sTop 25%% downloaders | \n", tr_odd_even());
- fprintf(f,"%d | %d %% | %ld G | %d %% | \n",iplog->i,(100*iplog->i+50)/i,iplog->l,(int)((100*iplog->l+50)/total));
+ fprintf(f,"%d | \n\
+%d %% | \n\
+%ld GB | \n\
+%d %% | \n",
+ iplog->i, (100*iplog->i+50)/i, iplog->l, (int)((100*iplog->l+50)/total));
}
if_exists(iplog,iplogs,iplog->i>=i/2)
@@ -1012,19 +1020,25 @@ void parse_ip_log(int argc, char **argv)
fprintf(f,"%sTop 50%% downloaders | \n",tr_odd_even());
fprintf(f,"%d | \n\
%d %% | \n\
-%ld G | %d %% | \n",iplog->i,(100*iplog->i+50)/i,iplog->l,(int)((100*iplog->l+50)/total));
+%ld GB | \n\
+%d %% | \n",
+ iplog->i, (100*iplog->i+50)/i, iplog->l, (int)((100*iplog->l+50)/total));
}
if_exists(iplog,iplogs,iplog->i>=4*i/5)
{
fprintf(f,"%sTop 80%% downloaders | \n",tr_odd_even());
- fprintf(f,"%d | %d %% | %ld G | %d %% | \n",iplog->i,(100*iplog->i+50)/i,iplog->l,(int)((100*iplog->l+50)/total));
+ fprintf(f,"%d | \n\
+%d %% | \n\
+%ld GB | \n\
+%d %% | \n",
+ iplog->i, (100*iplog->i+50)/i, iplog->l, (int)((100*iplog->l+50)/total));
}
fprintf(f,"All users, all traffic | \n", log_url);
fprintf(f,"%d | \n\
100 %% | \n\
-%ld G | \n\
+%ld GB | \n\
100 %% |
\n",i-1,total);
fputs("\n", f);
}
@@ -1635,16 +1649,17 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version);
fprintf(f, "{\n");
for_each(ip, ips)
{
- if(jsoncount)
+ if( ip->lmsid > 0
+ && (ip->traffic || ip->direct || ip->proxy || ip->upload))
{
- fprintf(f, ",\n");
- }
- if(ip->traffic || ip->direct || ip->proxy || ip->upload)
- {
- fprintf(f, " %d:{ \"ip\":\"%s\", \"total\":%Lu, \"down\":%Lu, \"proxy\":%Lu, \"up\":%Lu }",
- ip->lmsid, ip->addr, ip->traffic, ip->direct, ip->proxy, ip->upload);
+ if(jsoncount)
+ {
+ fprintf(f, ",\n");
+ }
+ fprintf(f, " \"%s\":{ \"lms\": %d, \"ip\":\"%s\", \"total\":%Lu, \"down\":%Lu, \"proxy\":%Lu, \"up\":%Lu }",
+ ip->name, ip->lmsid, ip->addr, ip->traffic, ip->direct, ip->proxy, ip->upload);
+ jsoncount++;
}
- jsoncount++;
}
fprintf(f, "}\n");
fclose(f);
@@ -1924,7 +1939,11 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version);
if_exists(sum,sums,sum->l>=total_traffic/4)
{
fprintf(f,"%sTop 25%% of traffic | \n", tr_odd_even());
- fprintf(f,"%d | %d %% | %Lu M | %Ld %% | \n",sum->i,(100*sum->i+50)/active_classes,sum->l,(100*sum->l+50)/total_traffic);
+ fprintf(f,"%d | \n\
+%d %% | \n\
+%Lu MB | \n\
+%Ld %% | \n",
+ sum->i, (100*sum->i+50)/active_classes, sum->l, (100*sum->l+50)/total_traffic);
}
if_exists(sum,sums,sum->i==10)
@@ -1934,7 +1953,7 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version);
%d %% | \n\
%Lu MB | \n\
%Ld %% | \n",
- (100*sum->i+50)/active_classes,sum->l,(100*sum->l+50)/total_traffic);
+ (100*sum->i+50)/active_classes, sum->l, (100*sum->l+50)/total_traffic);
}
if_exists(sum,sums,sum->l>=total_traffic/2)
@@ -2004,7 +2023,7 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version);
fprintf(f,"All users, all traffic | \n", log_url);
fprintf(f,"%d | \n\
100 %% | \n\
-%Lu M | \n\
+%Lu MB | \n\
100 %% |
\n",active_classes,total_traffic);
fputs("\n", f);
@@ -2165,7 +2184,7 @@ Credit: CZFree.Net, Martin Devera, Netdave, Aquarius, Gandalf\n\n",version);
if(f)
{
- fprintf(f, "%s %d", ip->addr, ip->mark);
+ fprintf(f, "%s %d\n", ip->addr, ip->mark);
}
}
else