Commit 6eb12c8e authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Refactor the fields of struct acct so we don't have to remember them three

different places in the code.



git-svn-id: http://www.varnish-cache.org/svn/trunk/varnish-cache@2661 d4fa192b-c00b-0410-8231-f00ffab90ce4
parent 65e033ee
/*-
* 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)
......@@ -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
};
/*--------------------------------------------------------------------*/
......
......@@ -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);
}
/*--------------------------------------------------------------------*/
......
......@@ -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);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment