Commit 8a9ad303 authored by Poul-Henning Kamp's avatar Poul-Henning Kamp

More work on the dot graph

parent ac35ccf8
...@@ -188,25 +188,13 @@ cnt_wait(struct sess *sp, struct worker *wrk, struct req *req) ...@@ -188,25 +188,13 @@ cnt_wait(struct sess *sp, struct worker *wrk, struct req *req)
* *
DOT subgraph xcluster_prepresp { DOT subgraph xcluster_prepresp {
DOT prepresp [ DOT prepresp [
DOT shape=ellipse
DOT label="Filter obj.->resp."
DOT ]
DOT vcl_deliver [
DOT shape=record DOT shape=record
DOT label="vcl_deliver()|resp." DOT label="{cnt_prepresp:|Filter obj.-\>resp.|{vcl_deliver\{\}|{req.|resp.}}|{error?|restart?}|stream ?}"
DOT ] DOT ]
DOT prepresp -> vcl_deliver [style=bold,color=green] DOT prepresp -> deliver [style=bold,color=green,label=deliver]
DOT prepresp -> vcl_deliver [style=bold,color=cyan] DOT prepresp -> deliver [style=bold,color=red]
DOT prepresp -> vcl_deliver [style=bold,color=red] DOT prepresp -> deliver [style=bold,color=blue]
DOT prepresp -> vcl_deliver [style=bold,color=blue,] DOT prepresp -> streambody [style=bold,color=cyan,label="deliver"]
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 } DOT }
* *
*/ */
...@@ -326,8 +314,8 @@ cnt_prepresp(struct sess *sp, struct worker *wrk, struct req *req) ...@@ -326,8 +314,8 @@ cnt_prepresp(struct sess *sp, struct worker *wrk, struct req *req)
* *
DOT subgraph xcluster_deliver { DOT subgraph xcluster_deliver {
DOT deliver [ DOT deliver [
DOT shape=ellipse DOT shape=record
DOT label="Send body" DOT label="{cnt_deliver:|Send body}"
DOT ] DOT ]
DOT } DOT }
DOT deliver -> DONE [style=bold,color=green] DOT deliver -> DONE [style=bold,color=green]
...@@ -362,8 +350,8 @@ cnt_deliver(struct sess *sp, struct worker *wrk, struct req *req) ...@@ -362,8 +350,8 @@ cnt_deliver(struct sess *sp, struct worker *wrk, struct req *req)
* the client connection * the client connection
* *
DOT DONE [ DOT DONE [
DOT shape=hexagon DOT shape=record
DOT label="cnt_done:\nRequest completed" DOT label="{cnt_done:|Request completed}"
DOT ] DOT ]
DOT ESI_RESP [ shape=hexagon ] DOT ESI_RESP [ shape=hexagon ]
DOT DONE -> start [label="full pipeline"] DOT DONE -> start [label="full pipeline"]
...@@ -557,16 +545,11 @@ cnt_error(struct sess *sp, struct worker *wrk, struct req *req) ...@@ -557,16 +545,11 @@ cnt_error(struct sess *sp, struct worker *wrk, struct req *req)
DOT subgraph xcluster_fetch { DOT subgraph xcluster_fetch {
DOT fetch [ DOT fetch [
DOT shape=record 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 ]
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 }
DOT fetch:hfp -> prepfetch [style=bold,color=red] DOT fetch -> prepfetch [style=bold,color=red]
DOT fetch:del -> prepfetch [label="deliver",style=bold,color=blue] DOT fetch -> prepfetch [style=bold,color=blue]
*/ */
static int static int
...@@ -946,8 +929,8 @@ cnt_fetchbody(struct sess *sp, struct worker *wrk, struct req *req) ...@@ -946,8 +929,8 @@ cnt_fetchbody(struct sess *sp, struct worker *wrk, struct req *req)
* Stream the body as we fetch it * Stream the body as we fetch it
DOT subgraph xstreambody { DOT subgraph xstreambody {
DOT streambody [ DOT streambody [
DOT shape=ellipse DOT shape=record
DOT label="streaming\nfetch/deliver" DOT label="{cnt_streambody:|ping_pong\nfetch/deliver}"
DOT ] DOT ]
DOT } DOT }
DOT streambody -> DONE [style=bold,color=cyan] DOT streambody -> DONE [style=bold,color=cyan]
...@@ -1065,7 +1048,7 @@ cnt_first(struct sess *sp, struct worker *wrk) ...@@ -1065,7 +1048,7 @@ cnt_first(struct sess *sp, struct worker *wrk)
DOT subgraph xcluster_hit { DOT subgraph xcluster_hit {
DOT hit [ DOT hit [
DOT shape=record 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 ]
DOT } DOT }
XDOT hit:err -> err_hit [label="error"] XDOT hit:err -> err_hit [label="error"]
...@@ -1237,13 +1220,9 @@ cnt_lookup(struct sess *sp, struct worker *wrk, struct req *req) ...@@ -1237,13 +1220,9 @@ cnt_lookup(struct sess *sp, struct worker *wrk, struct req *req)
DOT subgraph xcluster_miss { DOT subgraph xcluster_miss {
DOT miss [ DOT miss [
DOT shape=record 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 ]
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:fetch -> fetch [label="fetch",style=bold,color=blue]
DOT miss:pass -> pass [label="pass",style=bold,color=red] DOT miss:pass -> pass [label="pass",style=bold,color=red]
DOT DOT
......
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