]> err.no Git - varnish/commitdiff
Add a argument to the stat_field macro, to be used with locking evilness
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 20 Feb 2009 14:00:16 +0000 (14:00 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Fri, 20 Feb 2009 14:00:16 +0000 (14:00 +0000)
shortly.

git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3794 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/mgt_cli.c
varnish-cache/bin/varnishstat/varnishstat.c
varnish-cache/bin/varnishtest/vtc_varnish.c
varnish-cache/include/stat_field.h
varnish-cache/include/stats.h

index 040d2a185a978fdce39df57685979df2db882f55..a1e64eeed0b8f88139136cec057d3fc9e6f2f271 100644 (file)
@@ -84,7 +84,7 @@ mcf_stats(struct cli *cli, const char * const *av, void *priv)
        (void)priv;
 
        AN(VSL_stats);
-#define MAC_STAT(n, t, f, d) \
+#define MAC_STAT(n, t, l, f, d) \
     cli_out(cli, "%12ju  %s\n", (VSL_stats->n), d);
 #include "stat_field.h"
 #undef MAC_STAT
index e91389ac2919957449000d31cf794b36f108f550..333abb731be628459e0294ffcfd7c5b9e45daa7a 100644 (file)
@@ -146,7 +146,7 @@ do_curses(struct varnish_stats *VSL_stats, int delay, const char *fields)
                mvprintw(2, 0, "Hitrate avg:   %8.4f %8.4f %8.4f", a1, a2, a3);
 
                line = 3;
-#define MAC_STAT(n, t, f, d) \
+#define MAC_STAT(n, t, l, f, d) \
        if ((fields == NULL || show_field( #n, fields )) && line < LINES) { \
                ju = VSL_stats->n; \
                if (ju == 0 && !seen.n) { \
@@ -228,7 +228,7 @@ do_once(struct varnish_stats *VSL_stats, const char* fields)
                    ".  ", "Child uptime");
        } while (0);
 
-#define MAC_STAT(n, t, f, d) \
+#define MAC_STAT(n, t, l, f, d) \
        do { \
                if (fields != NULL && ! show_field( #n, fields )) break; \
                intmax_t ju = VSL_stats->n; \
@@ -271,7 +271,7 @@ list_fields(void)
        fprintf(stderr, "----------           -----------\n");
        fprintf(stderr, "uptime               Child uptime\n");
 
-#define MAC_STAT(n, t, f, d) \
+#define MAC_STAT(n, t, l, f, d) \
        do { \
                fprintf(stderr, "%-20s %s\n", #n, d);\
        } while (0);
@@ -285,7 +285,7 @@ valid_fields(const char* fields)
        int i, valid_field, field_length;
        const char *all_fields[] = {
          "uptime",
-#define MAC_STAT(n, t, f, d) \
+#define MAC_STAT(n, t, l, f, d) \
        #n,
 #include "stat_field.h"
 #undef MAC_STAT
index 320d3291ab17a0c55fe766f89ddc7bcd08b27fe1..0a951f5bb2c9adbd6c61317eb08fa540cd801254 100644 (file)
@@ -451,7 +451,7 @@ varnish_expect(const struct varnish *v, char * const *av) {
        for (i = 0; i < 10; i++, usleep(100000)) {
 
 
-#define MAC_STAT(n, t, f, d)                                   \
+#define MAC_STAT(n, t, l, f, d)                                        \
                if (!strcmp(av[0], #n)) {                       \
                        val = v->stats->n;                      \
                } else
index b7e4e311fb204833bd91593979810009bb038506..f5043b4a264ad4e5059667de33f493dd34017270 100644 (file)
  * $Id$
  */
 
-MAC_STAT(client_conn,          uint64_t, 'a', "Client connections accepted")
-MAC_STAT(client_req,           uint64_t, 'a', "Client requests received")
+MAC_STAT(client_conn,          uint64_t, 0, 'a', "Client connections accepted")
+MAC_STAT(client_req,           uint64_t, 0, 'a', "Client requests received")
 
-MAC_STAT(cache_hit,            uint64_t, 'a', "Cache hits")
-MAC_STAT(cache_hitpass,                uint64_t, 'a', "Cache hits for pass")
-MAC_STAT(cache_miss,           uint64_t, 'a', "Cache misses")
+MAC_STAT(cache_hit,            uint64_t, 0, 'a', "Cache hits")
+MAC_STAT(cache_hitpass,                uint64_t, 0, 'a', "Cache hits for pass")
+MAC_STAT(cache_miss,           uint64_t, 0, 'a', "Cache misses")
 
-MAC_STAT(backend_conn,         uint64_t, 'a', "Backend connections success")
-MAC_STAT(backend_unhealthy,    uint64_t, 'a',
+MAC_STAT(backend_conn,         uint64_t, 0, 'a', "Backend connections success")
+MAC_STAT(backend_unhealthy,    uint64_t, 0, 'a',
     "Backend connections not attempted")
-MAC_STAT(backend_busy,         uint64_t, 'a', "Backend connections too many")
-MAC_STAT(backend_fail,         uint64_t, 'a', "Backend connections failures")
-MAC_STAT(backend_reuse,                uint64_t, 'a', "Backend connections reuses")
-MAC_STAT(backend_recycle,      uint64_t, 'a', "Backend connections recycles")
-MAC_STAT(backend_unused,       uint64_t, 'a', "Backend connections unused")
-
-MAC_STAT(n_srcaddr,            uint64_t, 'i', "N struct srcaddr")
-MAC_STAT(n_srcaddr_act,                uint64_t, 'i', "N active struct srcaddr")
-MAC_STAT(n_sess_mem,           uint64_t, 'i', "N struct sess_mem")
-MAC_STAT(n_sess,               uint64_t, 'i', "N struct sess")
-MAC_STAT(n_object,             uint64_t, 'i', "N struct object")
-MAC_STAT(n_objecthead,         uint64_t, 'i', "N struct objecthead")
-MAC_STAT(n_smf,                        uint64_t, 'i', "N struct smf")
-MAC_STAT(n_smf_frag,           uint64_t, 'i', "N small free smf")
-MAC_STAT(n_smf_large,          uint64_t, 'i', "N large free smf")
-MAC_STAT(n_vbe_conn,           uint64_t, 'i', "N struct vbe_conn")
-MAC_STAT(n_bereq,              uint64_t, 'i', "N struct bereq")
-MAC_STAT(n_wrk,                        uint64_t, 'i', "N worker threads")
-MAC_STAT(n_wrk_create,         uint64_t, 'a', "N worker threads created")
-MAC_STAT(n_wrk_failed,         uint64_t, 'a', "N worker threads not created")
-MAC_STAT(n_wrk_max,            uint64_t, 'a', "N worker threads limited")
-MAC_STAT(n_wrk_queue,          uint64_t, 'a', "N queued work requests")
-MAC_STAT(n_wrk_overflow,       uint64_t, 'a', "N overflowed work requests")
-MAC_STAT(n_wrk_drop,           uint64_t, 'a', "N dropped work requests")
-MAC_STAT(n_backend,            uint64_t, 'i', "N backends")
-
-MAC_STAT(n_expired,            uint64_t, 'i', "N expired objects")
-MAC_STAT(n_lru_nuked,          uint64_t, 'i', "N LRU nuked objects")
-MAC_STAT(n_lru_saved,          uint64_t, 'i', "N LRU saved objects")
-MAC_STAT(n_lru_moved,          uint64_t, 'i', "N LRU moved objects")
-MAC_STAT(n_deathrow,           uint64_t, 'i', "N objects on deathrow")
-
-MAC_STAT(losthdr,              uint64_t, 'a', "HTTP header overflows")
-
-MAC_STAT(n_objsendfile,                uint64_t, 'a', "Objects sent with sendfile")
-MAC_STAT(n_objwrite,           uint64_t, 'a', "Objects sent with write")
-MAC_STAT(n_objoverflow,                uint64_t, 'a', "Objects overflowing workspace")
-
-MAC_STAT(s_sess,               uint64_t, 'a', "Total Sessions")
-MAC_STAT(s_req,                        uint64_t, 'a', "Total Requests")
-MAC_STAT(s_pipe,               uint64_t, 'a', "Total pipe")
-MAC_STAT(s_pass,               uint64_t, 'a', "Total pass")
-MAC_STAT(s_fetch,              uint64_t, 'a', "Total fetch")
-MAC_STAT(s_hdrbytes,           uint64_t, 'a', "Total header bytes")
-MAC_STAT(s_bodybytes,          uint64_t, 'a', "Total body bytes")
-
-MAC_STAT(sess_closed,          uint64_t, 'a', "Session Closed")
-MAC_STAT(sess_pipeline,                uint64_t, 'a', "Session Pipeline")
-MAC_STAT(sess_readahead,       uint64_t, 'a', "Session Read Ahead")
-MAC_STAT(sess_linger,          uint64_t, 'a', "Session Linger")
-MAC_STAT(sess_herd,            uint64_t, 'a', "Session herd")
-
-MAC_STAT(shm_records,          uint64_t, 'a', "SHM records")
-MAC_STAT(shm_writes,           uint64_t, 'a', "SHM writes")
-MAC_STAT(shm_flushes,          uint64_t, 'a', "SHM flushes due to overflow")
-MAC_STAT(shm_cont,             uint64_t, 'a', "SHM MTX contention")
-MAC_STAT(shm_cycles,           uint64_t, 'a', "SHM cycles through buffer")
-
-MAC_STAT(sm_nreq,              uint64_t, 'a', "allocator requests")
-MAC_STAT(sm_nobj,              uint64_t, 'i', "outstanding allocations")
-MAC_STAT(sm_balloc,            uint64_t, 'i', "bytes allocated")
-MAC_STAT(sm_bfree,             uint64_t, 'i', "bytes free")
-
-MAC_STAT(sma_nreq,             uint64_t, 'a', "SMA allocator requests")
-MAC_STAT(sma_nobj,             uint64_t, 'i', "SMA outstanding allocations")
-MAC_STAT(sma_nbytes,           uint64_t, 'i', "SMA outstanding bytes")
-MAC_STAT(sma_balloc,           uint64_t, 'i', "SMA bytes allocated")
-MAC_STAT(sma_bfree,            uint64_t, 'i', "SMA bytes free")
-
-MAC_STAT(sms_nreq,             uint64_t, 'a', "SMS allocator requests")
-MAC_STAT(sms_nobj,             uint64_t, 'i', "SMS outstanding allocations")
-MAC_STAT(sms_nbytes,           uint64_t, 'i', "SMS outstanding bytes")
-MAC_STAT(sms_balloc,           uint64_t, 'i', "SMS bytes allocated")
-MAC_STAT(sms_bfree,            uint64_t, 'i', "SMS bytes freed")
-
-MAC_STAT(backend_req,          uint64_t, 'a', "Backend requests made")
-
-MAC_STAT(n_vcl,                        uint64_t, 'a', "N vcl total")
-MAC_STAT(n_vcl_avail,          uint64_t, 'a', "N vcl available")
-MAC_STAT(n_vcl_discard,                uint64_t, 'a', "N vcl discarded")
-
-MAC_STAT(n_purge,              uint64_t, 'i', "N total active purges")
-MAC_STAT(n_purge_add,          uint64_t, 'a', "N new purges added")
-MAC_STAT(n_purge_retire,       uint64_t, 'a', "N old purges deleted")
-MAC_STAT(n_purge_obj_test,     uint64_t, 'a', "N objects tested")
-MAC_STAT(n_purge_re_test,      uint64_t, 'a', "N regexps tested against")
-MAC_STAT(n_purge_dups,         uint64_t, 'a', "N duplicate purges removed")
-
-MAC_STAT(hcb_nolock,           uint64_t, 'a', "HCB Lookups without lock")
-MAC_STAT(hcb_lock,             uint64_t, 'a', "HCB Lookups with lock")
-MAC_STAT(hcb_insert,           uint64_t, 'a', "HCB Inserts")
-
-MAC_STAT(esi_parse,            uint64_t, 'a', "Objects ESI parsed (unlock)")
-MAC_STAT(esi_errors,           uint64_t, 'a', "ESI parse errors (unlock)")
+MAC_STAT(backend_busy,         uint64_t, 0, 'a', "Backend connections too many")
+MAC_STAT(backend_fail,         uint64_t, 0, 'a', "Backend connections failures")
+MAC_STAT(backend_reuse,                uint64_t, 0, 'a', "Backend connections reuses")
+MAC_STAT(backend_recycle,      uint64_t, 0, 'a', "Backend connections recycles")
+MAC_STAT(backend_unused,       uint64_t, 0, 'a', "Backend connections unused")
+
+MAC_STAT(n_srcaddr,            uint64_t, 0, 'i', "N struct srcaddr")
+MAC_STAT(n_srcaddr_act,                uint64_t, 0, 'i', "N active struct srcaddr")
+MAC_STAT(n_sess_mem,           uint64_t, 0, 'i', "N struct sess_mem")
+MAC_STAT(n_sess,               uint64_t, 0, 'i', "N struct sess")
+MAC_STAT(n_object,             uint64_t, 0, 'i', "N struct object")
+MAC_STAT(n_objecthead,         uint64_t, 0, 'i', "N struct objecthead")
+MAC_STAT(n_smf,                        uint64_t, 0, 'i', "N struct smf")
+MAC_STAT(n_smf_frag,           uint64_t, 0, 'i', "N small free smf")
+MAC_STAT(n_smf_large,          uint64_t, 0, 'i', "N large free smf")
+MAC_STAT(n_vbe_conn,           uint64_t, 0, 'i', "N struct vbe_conn")
+MAC_STAT(n_bereq,              uint64_t, 0, 'i', "N struct bereq")
+MAC_STAT(n_wrk,                        uint64_t, 0, 'i', "N worker threads")
+MAC_STAT(n_wrk_create,         uint64_t, 0, 'a', "N worker threads created")
+MAC_STAT(n_wrk_failed,         uint64_t, 0, 'a', "N worker threads not created")
+MAC_STAT(n_wrk_max,            uint64_t, 0, 'a', "N worker threads limited")
+MAC_STAT(n_wrk_queue,          uint64_t, 0, 'a', "N queued work requests")
+MAC_STAT(n_wrk_overflow,       uint64_t, 0, 'a', "N overflowed work requests")
+MAC_STAT(n_wrk_drop,           uint64_t, 0, 'a', "N dropped work requests")
+MAC_STAT(n_backend,            uint64_t, 0, 'i', "N backends")
+
+MAC_STAT(n_expired,            uint64_t, 0, 'i', "N expired objects")
+MAC_STAT(n_lru_nuked,          uint64_t, 0, 'i', "N LRU nuked objects")
+MAC_STAT(n_lru_saved,          uint64_t, 0, 'i', "N LRU saved objects")
+MAC_STAT(n_lru_moved,          uint64_t, 0, 'i', "N LRU moved objects")
+MAC_STAT(n_deathrow,           uint64_t, 0, 'i', "N objects on deathrow")
+
+MAC_STAT(losthdr,              uint64_t, 0, 'a', "HTTP header overflows")
+
+MAC_STAT(n_objsendfile,                uint64_t, 0, 'a', "Objects sent with sendfile")
+MAC_STAT(n_objwrite,           uint64_t, 0, 'a', "Objects sent with write")
+MAC_STAT(n_objoverflow,                uint64_t, 0, 'a', "Objects overflowing workspace")
+
+MAC_STAT(s_sess,               uint64_t, 0, 'a', "Total Sessions")
+MAC_STAT(s_req,                        uint64_t, 0, 'a', "Total Requests")
+MAC_STAT(s_pipe,               uint64_t, 0, 'a', "Total pipe")
+MAC_STAT(s_pass,               uint64_t, 0, 'a', "Total pass")
+MAC_STAT(s_fetch,              uint64_t, 0, 'a', "Total fetch")
+MAC_STAT(s_hdrbytes,           uint64_t, 0, 'a', "Total header bytes")
+MAC_STAT(s_bodybytes,          uint64_t, 0, 'a', "Total body bytes")
+
+MAC_STAT(sess_closed,          uint64_t, 0, 'a', "Session Closed")
+MAC_STAT(sess_pipeline,                uint64_t, 0, 'a', "Session Pipeline")
+MAC_STAT(sess_readahead,       uint64_t, 0, 'a', "Session Read Ahead")
+MAC_STAT(sess_linger,          uint64_t, 0, 'a', "Session Linger")
+MAC_STAT(sess_herd,            uint64_t, 0, 'a', "Session herd")
+
+MAC_STAT(shm_records,          uint64_t, 0, 'a', "SHM records")
+MAC_STAT(shm_writes,           uint64_t, 0, 'a', "SHM writes")
+MAC_STAT(shm_flushes,          uint64_t, 0, 'a', "SHM flushes due to overflow")
+MAC_STAT(shm_cont,             uint64_t, 0, 'a', "SHM MTX contention")
+MAC_STAT(shm_cycles,           uint64_t, 0, 'a', "SHM cycles through buffer")
+
+MAC_STAT(sm_nreq,              uint64_t, 0, 'a', "allocator requests")
+MAC_STAT(sm_nobj,              uint64_t, 0, 'i', "outstanding allocations")
+MAC_STAT(sm_balloc,            uint64_t, 0, 'i', "bytes allocated")
+MAC_STAT(sm_bfree,             uint64_t, 0, 'i', "bytes free")
+
+MAC_STAT(sma_nreq,             uint64_t, 0, 'a', "SMA allocator requests")
+MAC_STAT(sma_nobj,             uint64_t, 0, 'i', "SMA outstanding allocations")
+MAC_STAT(sma_nbytes,           uint64_t, 0, 'i', "SMA outstanding bytes")
+MAC_STAT(sma_balloc,           uint64_t, 0, 'i', "SMA bytes allocated")
+MAC_STAT(sma_bfree,            uint64_t, 0, 'i', "SMA bytes free")
+
+MAC_STAT(sms_nreq,             uint64_t, 0, 'a', "SMS allocator requests")
+MAC_STAT(sms_nobj,             uint64_t, 0, 'i', "SMS outstanding allocations")
+MAC_STAT(sms_nbytes,           uint64_t, 0, 'i', "SMS outstanding bytes")
+MAC_STAT(sms_balloc,           uint64_t, 0, 'i', "SMS bytes allocated")
+MAC_STAT(sms_bfree,            uint64_t, 0, 'i', "SMS bytes freed")
+
+MAC_STAT(backend_req,          uint64_t, 0, 'a', "Backend requests made")
+
+MAC_STAT(n_vcl,                        uint64_t, 0, 'a', "N vcl total")
+MAC_STAT(n_vcl_avail,          uint64_t, 0, 'a', "N vcl available")
+MAC_STAT(n_vcl_discard,                uint64_t, 0, 'a', "N vcl discarded")
+
+MAC_STAT(n_purge,              uint64_t, 0, 'i', "N total active purges")
+MAC_STAT(n_purge_add,          uint64_t, 0, 'a', "N new purges added")
+MAC_STAT(n_purge_retire,       uint64_t, 0, 'a', "N old purges deleted")
+MAC_STAT(n_purge_obj_test,     uint64_t, 0, 'a', "N objects tested")
+MAC_STAT(n_purge_re_test,      uint64_t, 0, 'a', "N regexps tested against")
+MAC_STAT(n_purge_dups,         uint64_t, 0, 'a', "N duplicate purges removed")
+
+MAC_STAT(hcb_nolock,           uint64_t, 0, 'a', "HCB Lookups without lock")
+MAC_STAT(hcb_lock,             uint64_t, 0, 'a', "HCB Lookups with lock")
+MAC_STAT(hcb_insert,           uint64_t, 0, 'a', "HCB Inserts")
+
+MAC_STAT(esi_parse,            uint64_t, 0, 'a', "Objects ESI parsed (unlock)")
+MAC_STAT(esi_errors,           uint64_t, 0, 'a', "ESI parse errors (unlock)")
index f63e86a246690f80a30ab07212d4d931ee966c74..fb69882678b267f13deb73d686185ed6781f61ec 100644 (file)
@@ -33,7 +33,7 @@
 
 struct varnish_stats {
        time_t                  start_time;
-#define MAC_STAT(n,t,f,e)      t n;
+#define MAC_STAT(n, t, l, f, e)        t n;
 #include "stat_field.h"
 #undef MAC_STAT
 };