[experimental-ims] 8a9ad30 More work on the dot graph

Geoff Simmons geoff at varnish-cache.org
Tue Jan 31 21:47:23 CET 2012


commit 8a9ad303b25a8cfeba5ef1add82be05d0264b153
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Tue Jan 31 08:36:51 2012 +0000

    More work on the dot graph

diff --git a/bin/varnishd/cache/cache_center.c b/bin/varnishd/cache/cache_center.c
index d12101d..c933175 100644
--- a/bin/varnishd/cache/cache_center.c
+++ b/bin/varnishd/cache/cache_center.c
@@ -188,25 +188,13 @@ cnt_wait(struct sess *sp, struct worker *wrk, struct req *req)
  *
 DOT subgraph xcluster_prepresp {
 DOT	prepresp [
-DOT		shape=ellipse
-DOT		label="Filter obj.->resp."
-DOT	]
-DOT	vcl_deliver [
 DOT		shape=record
-DOT		label="vcl_deliver()|resp."
+DOT		label="{cnt_prepresp:|Filter obj.-\>resp.|{vcl_deliver\{\}|{req.|resp.}}|{error?|restart?}|stream ?}"
 DOT	]
-DOT	prepresp -> vcl_deliver [style=bold,color=green]
-DOT	prepresp -> vcl_deliver [style=bold,color=cyan]
-DOT	prepresp -> vcl_deliver [style=bold,color=red]
-DOT	prepresp -> vcl_deliver [style=bold,color=blue,]
-DOT	vcl_deliver -> deliver [style=bold,color=green,label=deliver]
-DOT	vcl_deliver -> deliver [style=bold,color=red]
-DOT	vcl_deliver -> deliver [style=bold,color=blue]
-DOT     vcl_deliver -> errdeliver [label="error"]
-DOT     errdeliver [label="ERROR",shape=plaintext]
-DOT     vcl_deliver -> rstdeliver [label="restart",color=purple]
-DOT     rstdeliver [label="RESTART",shape=plaintext]
-DOT     vcl_deliver -> streambody [style=bold,color=cyan,label="deliver"]
+DOT	prepresp -> deliver [style=bold,color=green,label=deliver]
+DOT	prepresp -> deliver [style=bold,color=red]
+DOT	prepresp -> deliver [style=bold,color=blue]
+DOT     prepresp -> streambody [style=bold,color=cyan,label="deliver"]
 DOT }
  *
  */
@@ -326,8 +314,8 @@ cnt_prepresp(struct sess *sp, struct worker *wrk, struct req *req)
  *
 DOT subgraph xcluster_deliver {
 DOT	deliver [
-DOT		shape=ellipse
-DOT		label="Send body"
+DOT		shape=record
+DOT		label="{cnt_deliver:|Send body}"
 DOT	]
 DOT }
 DOT deliver -> DONE [style=bold,color=green]
@@ -362,8 +350,8 @@ cnt_deliver(struct sess *sp, struct worker *wrk, struct req *req)
  * the client connection
  *
 DOT	DONE [
-DOT		shape=hexagon
-DOT		label="cnt_done:\nRequest completed"
+DOT		shape=record
+DOT		label="{cnt_done:|Request completed}"
 DOT	]
 DOT	ESI_RESP [ shape=hexagon ]
 DOT	DONE -> start [label="full pipeline"]
@@ -557,16 +545,11 @@ cnt_error(struct sess *sp, struct worker *wrk, struct req *req)
 DOT subgraph xcluster_fetch {
 DOT	fetch [
 DOT		shape=record
-DOT		label="{cnt_fetch:|fetch hdr\nfrom backend|(find obj.ttl)|{vcl_fetch\{\}|{req.|bereq.|beresp.}}|{<err>error?|<rst>restart?}|{<hfp>hit_for_pass?|<del>deliver?}}"
+DOT		label="{cnt_fetch:|fetch hdr\nfrom backend|(find obj.ttl)|{vcl_fetch\{\}|{req.|bereq.|beresp.}}|{<err>error?|<rst>restart?}}"
 DOT	]
-DOT	fetch_pass [
-DOT		shape=ellipse
-DOT		label="obj.f.pass=true"
-DOT	]
-DOT	vcl_fetch -> fetch_pass [label="hit_for_pass",style=bold,color=red]
 DOT }
-DOT fetch:hfp -> prepfetch [style=bold,color=red]
-DOT fetch:del -> prepfetch [label="deliver",style=bold,color=blue]
+DOT fetch -> prepfetch [style=bold,color=red]
+DOT fetch -> prepfetch [style=bold,color=blue]
  */
 
 static int
@@ -946,8 +929,8 @@ cnt_fetchbody(struct sess *sp, struct worker *wrk, struct req *req)
  * Stream the body as we fetch it
 DOT subgraph xstreambody {
 DOT	streambody [
-DOT		shape=ellipse
-DOT		label="streaming\nfetch/deliver"
+DOT		shape=record
+DOT		label="{cnt_streambody:|ping_pong\nfetch/deliver}"
 DOT	]
 DOT }
 DOT streambody -> DONE [style=bold,color=cyan]
@@ -1065,7 +1048,7 @@ cnt_first(struct sess *sp, struct worker *wrk)
 DOT subgraph xcluster_hit {
 DOT	hit [
 DOT		shape=record
-DOT		label="{cnt_hit:|{vcl_hit()|{req.|obj.}}|{<err>error?|<del>deliver?|<rst>restart?|<pass>pass?}}"
+DOT		label="{cnt_hit:|{vcl_hit()|{req.|obj.}}|{<err>error?|<rst>restart?}|{<del>deliver?|<pass>pass?}}"
 DOT	]
 DOT }
 XDOT hit:err -> err_hit [label="error"]
@@ -1237,13 +1220,9 @@ cnt_lookup(struct sess *sp, struct worker *wrk, struct req *req)
 DOT subgraph xcluster_miss {
 DOT	miss [
 DOT		shape=record
-DOT		label="{cnt_miss:|filter req.-\>bereq.|{vcl_miss\{\}|{req.*|bereq.*}}|{<pass>pass?|<err>error?|<restart>restart?|<fetch>fetch?}}"
+DOT		label="{cnt_miss:|filter req.-\>bereq.|{vcl_miss\{\}|{req.*|bereq.*}}|{<err>error?|<rst>restart?}|{<pass>pass?|<fetch>fetch?}}"
 DOT	]
 DOT }
-XDOT miss:restart -> rst_miss [label="restart",color=purple]
-XDOT rst_miss [label="RESTART",shape=plaintext]
-XDOT miss:err -> err_miss [label="error"]
-XDOT err_miss [label="ERROR",shape=plaintext]
 DOT miss:fetch -> fetch [label="fetch",style=bold,color=blue]
 DOT miss:pass -> pass [label="pass",style=bold,color=red]
 DOT



More information about the varnish-commit mailing list