]> err.no Git - varnish/commitdiff
Refactor the fields of struct acct so we don't have to remember them three
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 10 Jun 2008 14:37:14 +0000 (14:37 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 10 Jun 2008 14:37:14 +0000 (14:37 +0000)
different places in the code.

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

varnish-cache/bin/varnishd/acct_fields.h [new file with mode: 0644]
varnish-cache/bin/varnishd/cache.h
varnish-cache/bin/varnishd/cache_cli.c
varnish-cache/bin/varnishd/cache_session.c

diff --git a/varnish-cache/bin/varnishd/acct_fields.h b/varnish-cache/bin/varnishd/acct_fields.h
new file mode 100644 (file)
index 0000000..383cd59
--- /dev/null
@@ -0,0 +1,38 @@
+/*-
+ * Copyright (c) 2008 Verdens Gang AS
+ * Copyright (c) 2008 Linpro AS
+ * All rights reserved.
+ *
+ * Author: Poul-Henning Kamp <phk@phk.freebsd.dk>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: steps.h 2415 2008-01-31 11:57:51Z des $
+ */
+
+ACCT(sess)
+ACCT(req)
+ACCT(pipe)
+ACCT(pass)
+ACCT(fetch)
+ACCT(hdrbytes)
+ACCT(bodybytes)
index 6dc8aa39fa08269f5ce88718ebf8583664841dc5..d572f008a3ceddc1d56e971112a0a7aea55bf906 100644 (file)
@@ -159,13 +159,9 @@ struct http_conn {
 
 struct acct {
        double                  first;
-       uint64_t                sess;
-       uint64_t                req;
-       uint64_t                pipe;
-       uint64_t                pass;
-       uint64_t                fetch;
-       uint64_t                hdrbytes;
-       uint64_t                bodybytes;
+#define ACCT(foo)      uint64_t        foo;
+#include "acct_fields.h"
+#undef ACCT
 };
 
 /*--------------------------------------------------------------------*/
index 63b0563932a47e13921fe595a9eaea88402b9931..808f711e04be4f8456bc0e9a239a499296029dd8 100644 (file)
@@ -193,6 +193,7 @@ cli_debug_sizeof(struct cli *cli, const char * const *av, void *priv)
         SZOF(struct objhead);
         SZOF(struct sess);
         SZOF(struct vbe_conn);
+        SZOF(struct varnish_stats);
 }
 
 /*--------------------------------------------------------------------*/
index b15b59b8f7728558173006a06d76a2d920026c50..53511e44e5210e23dd6ecf500732c1c515a4579b 100644 (file)
@@ -213,13 +213,9 @@ static void
 ses_sum_acct(struct acct *sum, const struct acct *inc)
 {
 
-       sum->sess += inc->sess;
-       sum->req += inc->req;
-       sum->pipe += inc->pipe;
-       sum->pass += inc->pass;
-       sum->fetch += inc->fetch;
-       sum->hdrbytes += inc->hdrbytes;
-       sum->bodybytes += inc->bodybytes;
+#define ACCT(foo)      sum->foo += inc->foo;
+#include "acct_fields.h"
+#undef ACCT
 }
 
 void
@@ -243,13 +239,9 @@ SES_Charge(struct sess *sp)
                    b.fetch, b.hdrbytes, b.bodybytes);
        }
        LOCK(&stat_mtx);
-       VSL_stats->s_sess += a->sess;
-       VSL_stats->s_req += a->req;
-       VSL_stats->s_pipe += a->pipe;
-       VSL_stats->s_pass += a->pass;
-       VSL_stats->s_fetch += a->fetch;
-       VSL_stats->s_hdrbytes += a->hdrbytes;
-       VSL_stats->s_bodybytes += a->bodybytes;
+#define ACCT(foo)      VSL_stats->s_##foo += a->foo;
+#include "acct_fields.h"
+#undef ACCT
        UNLOCK(&stat_mtx);
        memset(a, 0, sizeof *a);
 }