]> err.no Git - varnish/commitdiff
Improve shm-logging of VCL activity
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 29 Jun 2006 15:14:15 +0000 (15:14 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Thu, 29 Jun 2006 15:14:15 +0000 (15:14 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@267 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/cache_vcl.c
varnish-cache/bin/varnishd/cache_vrt.c
varnish-cache/bin/varnishlog/varnishlog.c
varnish-cache/include/shmlog_tags.h

index 73cabddaf95958fb342fd77f79e29b7a3f3e9cab..84b8573344425e275db6c850826d03ef96f5e012 100644 (file)
@@ -227,9 +227,10 @@ VCL_##func##_method(struct sess *sp)               \
 {                                              \
                                                \
        sp->handling = 0;                       \
+       VSL(SLT_VCL_call, sp->fd, "%s", #func);         \
        sp->vcl->func##_func(sp);               \
        CheckHandling(sp, #func, (bitmap));     \
-       VSL(SLT_vcl_##func, sp->fd, "0x%x %s", sp->handling, HandlingName(sp->handling)); \
+       VSL(SLT_VCL_return, sp->fd, "%s", HandlingName(sp->handling)); \
 }
 
 #define VCL_RET_MAC(l,u,b)
index cb3b1fc655a9c1b921f4fac7e33132416113ea76..405f6f75e37141e35a50da22b804af3063d07e60 100644 (file)
@@ -36,7 +36,7 @@ void
 VRT_count(struct sess *sp, unsigned u)
 {
        
-       VSL(SLT_VCL, sp->fd, "%u %d.%d", u,
+       VSL(SLT_VCL_trace, sp->fd, "%u %d.%d", u,
            sp->vcl->ref[u].line,
            sp->vcl->ref[u].pos);
 }
index aa2210c623c217b7a166660bc7aa6939612147c3..63cdb3787217fd5b2622ee00a4ead136ba197615 100644 (file)
@@ -46,14 +46,39 @@ order(unsigned char *p)
                ob[u] = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND);
                assert(ob[u] != NULL);
        }
-       sbuf_printf(ob[u], "%02x %3d %4d %-12s",
-           p[0], p[1], u, tagnames[p[0]]);
-       if (p[1] > 0) {
-               sbuf_cat(ob[u], " <");
-               sbuf_bcat(ob[u], p + 4, p[1]);
-               sbuf_cat(ob[u], ">");
+       switch (p[0]) {
+       case SLT_VCL_call:
+               sbuf_printf(ob[u], "%02x %3d %4d %-12s",
+                   p[0], p[1], u, tagnames[p[0]]);
+               if (p[1] > 0) {
+                       sbuf_cat(ob[u], " <");
+                       sbuf_bcat(ob[u], p + 4, p[1]);
+               }
+               break;
+       case SLT_VCL_trace:
+               if (p[1] > 0) {
+                       sbuf_cat(ob[u], " ");
+                       sbuf_bcat(ob[u], p + 4, p[1]);
+               }
+               break;
+       case SLT_VCL_return:
+               if (p[1] > 0) {
+                       sbuf_cat(ob[u], " ");
+                       sbuf_bcat(ob[u], p + 4, p[1]);
+                       sbuf_cat(ob[u], ">\n");
+               }
+               break;
+       default:
+               sbuf_printf(ob[u], "%02x %3d %4d %-12s",
+                   p[0], p[1], u, tagnames[p[0]]);
+               if (p[1] > 0) {
+                       sbuf_cat(ob[u], " <");
+                       sbuf_bcat(ob[u], p + 4, p[1]);
+                       sbuf_cat(ob[u], ">");
+               }
+               sbuf_cat(ob[u], "\n");
+               break;
        }
-       sbuf_cat(ob[u], "\n");
        if (u == 0) {
                sbuf_finish(ob[u]);
                printf("%s", sbuf_data(ob[u]));
index 884ac024dd5000bfd49d00876bce7fb94cd848a5..3a5ef0fe58d100c7257ea37564b94dfeb68204c6 100644 (file)
@@ -18,11 +18,6 @@ SLTM(BackendReuse)
 SLTM(BackendClose)
 SLTM(HttpError)
 SLTM(ClientAddr)
-#define VCL_RET_MAC(l,u,b)
-#define VCL_MET_MAC(l,u,b) SLTM(vcl_##l)
-#include "vcl_returns.h"
-#undef VCL_MET_MAC
-#undef VCL_RET_MAC
 SLTM(Backend)
 SLTM(Request)
 SLTM(Response)
@@ -32,7 +27,9 @@ SLTM(Protocol)
 SLTM(Header)
 SLTM(BldHdr)
 SLTM(LostHeader)
-SLTM(VCL)
+SLTM(VCL_call)
+SLTM(VCL_trace)
+SLTM(VCL_return)
 SLTM(XID)
 SLTM(ExpPick)
 SLTM(ExpKill)