Commit 2dacee5e authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

Add varnishstat program


git-svn-id: http://www.varnish-cache.org/svn/trunk@247 d4fa192b-c00b-0410-8231-f00ffab90ce4
parent 9862bb7f
# $Id$
SUBDIRS = varnishd varnishlog
SUBDIRS = varnishd varnishlog varnishstat
# $Id: Makefile.am 133 2006-04-06 09:38:00Z phk $
INCLUDES = -I$(top_srcdir)/include
bin_PROGRAMS = varnishstat
varnishlog_SOURCES = varnishstat.c
# varnishlog_LDADD = $(top_builddir)/lib/libvarnishapi/libvarnishapi.la
/*
* $Id: varnishlog.c 153 2006-04-25 08:17:43Z phk $
*
* Log tailer for Varnish
*/
#include <stdio.h>
#include <errno.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <shmlog.h>
static struct shmloghead *loghead;
int
main(int argc, char **argv)
{
int fd;
int i;
struct shmloghead slh;
struct varnish_stats *VSL_stats;
fd = open(SHMLOG_FILENAME, O_RDONLY);
if (fd < 0) {
fprintf(stderr, "Cannot open %s: %s\n",
SHMLOG_FILENAME, strerror(errno));
exit (1);
}
i = read(fd, &slh, sizeof slh);
if (i != sizeof slh) {
fprintf(stderr, "Cannot read %s: %s\n",
SHMLOG_FILENAME, strerror(errno));
exit (1);
}
if (slh.magic != SHMLOGHEAD_MAGIC) {
fprintf(stderr, "Wrong magic number in file %s\n",
SHMLOG_FILENAME);
exit (1);
}
loghead = mmap(NULL, slh.size + sizeof slh,
PROT_READ, MAP_HASSEMAPHORE, fd, 0);
if (loghead == MAP_FAILED) {
fprintf(stderr, "Cannot mmap %s: %s\n",
SHMLOG_FILENAME, strerror(errno));
exit (1);
}
VSL_stats = &loghead->stats;
#define MAC_STAT(n,t,f,d) \
printf("%12ju " d "\n", (VSL_stats->n));
#include "stat_field.h"
#undef MAC_STAT
exit (0);
}
......@@ -68,6 +68,7 @@ AC_CONFIG_FILES([
bin/Makefile
bin/varnishd/Makefile
bin/varnishlog/Makefile
bin/varnishstat/Makefile
contrib/Makefile
include/Makefile
lib/Makefile
......
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