]> err.no Git - varnish/commitdiff
Supress stats in the curses mode until we have see a non-zero value.
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Mon, 1 Dec 2008 14:13:49 +0000 (14:13 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Mon, 1 Dec 2008 14:13:49 +0000 (14:13 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3447 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishstat/varnishstat.c

index f9360c6285583225399376fece87a14c2db648b5..e91389ac2919957449000d31cf794b36f108f550 100644 (file)
@@ -52,6 +52,7 @@
 
 #define FIELD_EXCLUSION_CHARACTER '^'
 
+
 static void
 myexp(double *acc, double val, unsigned *n, unsigned nmax)
 {
@@ -95,6 +96,7 @@ static void
 do_curses(struct varnish_stats *VSL_stats, int delay, const char *fields)
 {
        struct varnish_stats copy;
+       struct varnish_stats seen;
        intmax_t ju;
        struct timeval tv;
        double tt, lt, hit, miss, ratio, up;
@@ -104,6 +106,7 @@ do_curses(struct varnish_stats *VSL_stats, int delay, const char *fields)
        int ch, line;
 
        memset(&copy, 0, sizeof copy);
+       memset(&seen, 0, sizeof seen);
 
        a1 = a2 = a3 = 0.0;
        n1 = n2 = n3 = 0;
@@ -144,13 +147,18 @@ do_curses(struct varnish_stats *VSL_stats, int delay, const char *fields)
 
                line = 3;
 #define MAC_STAT(n, t, f, d) \
-       if ((fields == NULL || show_field( #n, fields )) && ++line < LINES) { \
+       if ((fields == NULL || show_field( #n, fields )) && line < LINES) { \
                ju = VSL_stats->n; \
-               if (f == 'a') { \
+               if (ju == 0 && !seen.n) { \
+               } else if (f == 'a') { \
+                       seen.n = 1; \
+                       line++; \
                        mvprintw(line, 0, "%12ju %12.2f %12.2f %s\n", \
                            ju, (ju - (intmax_t)copy.n)/lt, ju / up, d); \
                        copy.n = ju; \
                } else { \
+                       seen.n = 1; \
+                       line++; \
                        mvprintw(line, 0, "%12ju %12s %12s %s\n", \
                            ju, ".  ", ".  ", d); \
                } \