From 84640cd767611d6f57b7e3210bfa5bf9bce48e05 Mon Sep 17 00:00:00 2001 From: phk Date: Fri, 20 Feb 2009 14:00:16 +0000 Subject: [PATCH] Add a argument to the stat_field macro, to be used with locking evilness 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 | 2 +- varnish-cache/bin/varnishstat/varnishstat.c | 8 +- varnish-cache/bin/varnishtest/vtc_varnish.c | 2 +- varnish-cache/include/stat_field.h | 202 ++++++++++---------- varnish-cache/include/stats.h | 2 +- 5 files changed, 108 insertions(+), 108 deletions(-) diff --git a/varnish-cache/bin/varnishd/mgt_cli.c b/varnish-cache/bin/varnishd/mgt_cli.c index 040d2a18..a1e64eee 100644 --- a/varnish-cache/bin/varnishd/mgt_cli.c +++ b/varnish-cache/bin/varnishd/mgt_cli.c @@ -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 diff --git a/varnish-cache/bin/varnishstat/varnishstat.c b/varnish-cache/bin/varnishstat/varnishstat.c index e91389ac..333abb73 100644 --- a/varnish-cache/bin/varnishstat/varnishstat.c +++ b/varnish-cache/bin/varnishstat/varnishstat.c @@ -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 diff --git a/varnish-cache/bin/varnishtest/vtc_varnish.c b/varnish-cache/bin/varnishtest/vtc_varnish.c index 320d3291..0a951f5b 100644 --- a/varnish-cache/bin/varnishtest/vtc_varnish.c +++ b/varnish-cache/bin/varnishtest/vtc_varnish.c @@ -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 diff --git a/varnish-cache/include/stat_field.h b/varnish-cache/include/stat_field.h index b7e4e311..f5043b4a 100644 --- a/varnish-cache/include/stat_field.h +++ b/varnish-cache/include/stat_field.h @@ -29,107 +29,107 @@ * $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)") diff --git a/varnish-cache/include/stats.h b/varnish-cache/include/stats.h index f63e86a2..fb698826 100644 --- a/varnish-cache/include/stats.h +++ b/varnish-cache/include/stats.h @@ -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 }; -- 2.39.5