]> granicus.if.org Git - vnstat/commitdiff
improve daemon startup and debug prints, use ISO YYYY-MM-DD date format timestamps...
authorTeemu Toivola <git@humdi.net>
Sun, 22 Jun 2014 22:22:40 +0000 (01:22 +0300)
committerTeemu Toivola <git@humdi.net>
Sun, 22 Jun 2014 22:22:40 +0000 (01:22 +0300)
CHANGES
src/Makefile
src/common.c
src/dbcache.c
src/vnstatd.c
src/vnstatd.h
tests/Makefile

diff --git a/CHANGES b/CHANGES
index c43d77270c75ba07e10fe2f31f2af19f3b1356b9..547af8894c9416f08f3263179d45728574d2e66f 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,7 +7,7 @@
    of command execution
  - Fix: Live traffic meter occasionally showing higher minimum than average
    in end statistics (Debian Bug #687812)
- - Fix: Cppcheck findings
+ - Fix: Cppcheck findings (may fix Debian Bug #692330)
  - Improve traffic meter output accuracy
  - Add tests and debug compilation target
  - Remove use of -D parameter in Makefile install commands in order to
  - Add support for database import from text file (--importdb)
    (based on patch by Tilmann Bubeck)
  - Rename --dumpdb to --exportdb
- - Code refactoring
+ - Add example systemd service file
+ - Add example launchd plist file for OS X
+ - Use ISO YYYY-MM-DD date format timestamps if logfile is used
+ - Improve daemon startup prints
 
 
 1.11 / 1-Jun-11
index ada69e4f4a4c33f955e78a4253d5b4c6a8283108..2dc140356b5c28742de88caec696647094d4385c 100644 (file)
@@ -26,7 +26,7 @@ dbxml.o: dbxml.c dbxml.h common.h
 dbshow.o: dbshow.c dbshow.h misc.h common.h
 dbaccess.o: dbaccess.c dbaccess.h common.h
 dbmerge.o: dbmerge.c dbmerge.h dbaccess.h common.h
-dbcache.o: dbcache.c dbcache.h dbaccess.h common.h ifinfo.h
+dbcache.o: dbcache.c dbcache.h dbaccess.h common.h ifinfo.h cfg.h
 common.o: common.c common.h
 misc.o: misc.c misc.h common.h
 cfg.o: cfg.c cfg.h common.h
index 8cb53ea43de8138c0691a96a2f6677920be3a021..dc10c617e125c147b5c07a7378f21f3ccb4445d0 100644 (file)
@@ -67,7 +67,7 @@ int logprint(PrintType type)
                }
 
                current = time(NULL);
-               strftime(timestamp, 22, "%Y.%m.%d %H:%M:%S", localtime(&current));
+               strftime(timestamp, 22, "%Y-%m-%d %H:%M:%S", localtime(&current));
 
                switch (type) {
                        case PT_Info:
index 53bf14700c721394c2cf01f7b8e9d7ccbb4360bd..c1549b041e2d72f4478ba12490194cc453be6af7 100644 (file)
@@ -2,6 +2,7 @@
 #include "ifinfo.h"
 #include "dbaccess.h"
 #include "dbcache.h"
+#include "cfg.h"
 
 int cacheadd(const char *iface, int sync)
 {
@@ -151,8 +152,8 @@ void cacheshow(void)
 
 void cachestatus(void)
 {
-       char buffer[512];
-       int b = 13, count = 0;
+       char buffer[512], bwtemp[8];
+       int b = 13, count = 0, bwlimit = 0;
        datanode *p = dataptr;
 
        snprintf(buffer, b, "Monitoring: ");
@@ -160,10 +161,15 @@ void cachestatus(void)
        if (p != NULL) {
 
                while (p != NULL) {
-                       if ((b+strlen(p->data.interface)+1) < 508) {
+                       if ((b+strlen(p->data.interface)+8) < 508) {
+                               bwlimit = ibwget(p->data.interface);
+                               if (bwlimit < 0) {
+                                       bwlimit = 0;
+                               }
+                               snprintf(bwtemp, 8, " (%d) ", bwlimit);
                                strncat(buffer, p->data.interface, strlen(p->data.interface));
-                               strcat(buffer, " ");
-                               b = b+strlen(p->data.interface)+1;
+                               strncat(buffer, bwtemp, strlen(bwtemp));
+                               b += strlen(p->data.interface) + strlen(bwtemp);
                        } else {
                                strcat(buffer, "...");
                                break;
index c631bc7a4af4d7122164ec01e36734d1f6bac752..247990b4825eca650705e19d967dbdad93055696 100644 (file)
@@ -117,14 +117,14 @@ int main(int argc, char *argv[])
        if (showhelp) {
                printf(" vnStat daemon %s by Teemu Toivola <tst at iki dot fi>\n\n", VNSTATVERSION);
                printf("         -d, --daemon         fork process to background\n");
-               printf("         -n, --nodaemon       stay in foreground attached to the terminal\n");
+               printf("         -n, --nodaemon       stay in foreground attached to the terminal\n\n");
                printf("         -s, --sync           sync interface counters on first update\n");
                printf("         -D, --debug          show additional debug and disable daemon\n");
                printf("         -?, --help           show this help\n");
                printf("         -v, --version        show version\n");
                printf("         -p, --pidfile        select used pid file\n");
-               printf("         --config             select used config file\n\n");
-               printf("         --noadd              don't add found interfaces if no dbs are found\n");
+               printf("         --config             select used config file\n");
+               printf("         --noadd              don't add found interfaces if no dbs are found\n\n");
                printf("See also \"man vnstatd\".\n");
                return 0;
        }
@@ -203,6 +203,7 @@ int main(int argc, char *argv[])
                        updateinterval = cfg.updateinterval;
 
                        if (debug) {
+                               debugtimestamp();
                                cacheshow();
                        }
 
@@ -554,7 +555,7 @@ void daemonize(void)
 int addinterfaces(const char *dirname)
 {
        char *ifacelist, interface[32];
-       int index = 0, count = 0;
+       int index = 0, count = 0, bwlimit = 0;
 
        /* get list of currently visible interfaces */
        if (getiflist(&ifacelist)==0) {
@@ -595,7 +596,12 @@ int addinterfaces(const char *dirname)
                        continue;
                }
                count++;
-               printf("\"%s\" added, %d Mbit bandwidth limit.\n", interface, ibwget(interface));
+               bwlimit = ibwget(interface);
+               if (bwlimit > 0) {
+                       printf("\"%s\" added with %d Mbit bandwidth limit.\n", interface, bwlimit);
+               } else {
+                       printf("\"%s\" added. Warning: no bandwidth limit has been set.\n", interface);
+               }
        }
 
        if (count==1) {
@@ -605,7 +611,7 @@ int addinterfaces(const char *dirname)
        }
 
        if (count) {
-               printf(" Limits can be modified using the configuration file.");
+               printf(" Limits can be modified using the configuration file. See \"man vnstat.conf\".");
        }
 
        printf("\n");
@@ -613,3 +619,13 @@ int addinterfaces(const char *dirname)
        free(ifacelist);
        return count;
 }
+
+void debugtimestamp()
+{
+       time_t now;
+       char timestamp[22];
+
+       now = time(NULL);
+       strftime(timestamp, 22, "%Y-%m-%d %H:%M:%S", localtime(&now));
+       printf("%s\n", timestamp);
+}
index c536eaf46109d2160b07df92969419f4e021237c..14a66888b420a7a0a9e8ac2aabcee8705e342bcf 100644 (file)
@@ -3,5 +3,6 @@
 
 void daemonize(void);
 int addinterfaces(const char *dirname);
+void debugtimestamp();
 
 #endif
index 15ca72995dcf19dee4b69c741ba787f265cf3cef..42a177f9f70aea5126b87320f54719ea9daeb4c8 100644 (file)
@@ -32,7 +32,7 @@ misc_tests.o: misc_tests.c misc_tests.h vnstat_tests.h common.h misc.h
 common.o: common.c common.h
 ifinfo.o: ifinfo.c ifinfo.h common.h dbaccess.h misc.h cfg.h
 dbaccess.o: dbaccess.c dbaccess.h common.h
-dbcache.o: dbcache.c dbcache.h dbaccess.h common.h ifinfo.h
+dbcache.o: dbcache.c dbcache.h dbaccess.h common.h ifinfo.h cfg.h
 cfg.o: cfg.c cfg.h common.h
 misc.o: misc.c misc.h common.h