[master] 44dc73e add back the graphviz sources as removed by commit 4ad0d5bdfe45eb31111fb1d0b1a4aa72942b477d
Nils Goroll
nils.goroll at uplex.de
Tue Oct 7 15:09:31 CEST 2014
commit 44dc73eec90b04e9f93364c3bfe281eb069bcd3f
Author: Nils Goroll <nils.goroll at uplex.de>
Date: Mon Oct 6 16:58:51 2014 +0200
add back the graphviz sources as removed by commit 4ad0d5bdfe45eb31111fb1d0b1a4aa72942b477d
diff --git a/doc/graphviz/cache_http1_fsm.dot b/doc/graphviz/cache_http1_fsm.dot
new file mode 100644
index 0000000..9ff2f57
--- /dev/null
+++ b/doc/graphviz/cache_http1_fsm.dot
@@ -0,0 +1,22 @@
+ digraph vcl_center {
+ size="7.2,10.5"
+ margin="0.5"
+ center="1"
+
+ acceptor -> http1_wait [label=S_STP_NEWREQ, align=center]
+ hash -> CNT_Request [label="Busy object\nS_STP_WORKING\nR_STP_LOOKUP"
+ color=blue]
+ disembark -> hash [style=dotted, color=blue]
+ http1_wait -> CNT_Request [label="S_STP_WORKING\nR_STP_RECV"]
+ http1_wait -> disembark [label="Session close"]
+ http1_wait -> disembark [label="Timeout" color=green]
+ disembark -> waiter [style=dotted, color=green]
+ waiter -> http1_wait [color=green]
+ CNT_Request -> disembark
+ [label="Busy object\nS_STP_WORKING\nR_STP_LOOKUP" color=blue]
+ CNT_Request -> http1_cleanup
+ http1_cleanup -> disembark [label="Session close"]
+ http1_cleanup -> CNT_Request [label="S_STP_WORKING\nR_STP_RECV"]
+ http1_cleanup -> http1_wait [label="S_STP_NEWREQ"]
+
+ }
diff --git a/doc/graphviz/cache_req_fsm.dot b/doc/graphviz/cache_req_fsm.dot
new file mode 100644
index 0000000..0edea1e
--- /dev/null
+++ b/doc/graphviz/cache_req_fsm.dot
@@ -0,0 +1,111 @@
+ digraph vcl_center {
+ size="7.2,10.5"
+ margin="0.5"
+ center="1"
+ acceptor [
+ shape=hexagon
+ label="Request received"
+ ]
+ ESI_REQ [ shape=hexagon ]
+ ESI_REQ -> recv
+ SYNTH [shape=plaintext]
+ RESTART [shape=plaintext]
+ acceptor -> recv [style=bold,color=green]
+ deliver [
+ shape=record
+ label="{cnt_deliver:|Filter obj.-\>resp.|{vcl_deliver\{\}|{req.|resp.}}|{restart?|<deliver>deliver?}}"
+ ]
+ deliver:deliver:s -> DONE [style=bold,color=green]
+ deliver:deliver:s -> DONE [style=bold,color=red]
+ deliver:deliver:s -> DONE [style=bold,color=blue]
+ subgraph xcluster_synth {
+ synth [
+ shape=record
+ label="{cnt_synth:|{vcl_synth\{\}|resp.}|{<del>deliver?|<restart>restart?}}"
+ ]
+ SYNTH -> synth
+ synth:del:s -> deliver [label=deliver]
+ }
+ subgraph xcluster_body {
+ fetch [
+ shape=record
+ label="{cnt_fetch:|wait for fetch|{<ok>OK|<err>Failed}}"
+ ]
+ }
+ fetch:ok:s -> deliver [style=bold,color=red]
+ fetch:ok:s -> deliver [style=bold,color=blue]
+ fetch:err:s -> vcl_error
+ subgraph xcluster_lookup {
+ lookup [
+ shape=record
+ label="{<top>cnt_lookup:|hash lookup|{<busy>busy?|<e>exp?|<eb>exp+busy?|<h>hit?|<miss>miss?|<hfp>hit-for-pass?}}"
+ ]
+ lookup2 [
+ shape=record
+ label="{<top>cnt_lookup:|{vcl_hit\{\}|req.*, obj.*}|{<deliver>deliver?|synth?|restart?|<fetch>fetch?|<pass>pass?}}"
+ ]
+ }
+ lookup:busy:w -> lookup:top:w [label="(waitinglist)"]
+ lookup:miss:s -> miss [style=bold,color=blue]
+ lookup:hfp:s -> pass [style=bold,color=red]
+ lookup:e:s -> lookup2 [style=bold,color=green]
+ lookup:eb:s -> lookup2 [style=bold,color=green]
+ lookup:h:s -> lookup2 [style=bold,color=green]
+ lookup2:pass:s -> pass [style=bold,color=red]
+ lookup2:fetch:s -> miss [style=bold,color=blue]
+ lookup2:deliver:s -> deliver:n [style=bold,color=green]
+ subgraph xcluster_miss {
+ miss [
+ shape=record
+ label="{cnt_miss:|{vcl_miss\{\}|req.*}|{<fetch>fetch?|<synth>synth?|<rst>restart?|<pass>pass?}}"
+ ]
+ }
+ miss:fetch:s -> fetch [label="fetch",style=bold,color=blue]
+ miss:pass:s -> pass [label="pass",style=bold,color=red]
+
+ subgraph xcluster_pass {
+ pass [
+ shape=record
+ label="{cnt_pass:|{vcl_pass\{\}|req.*}|{<fetch>fetch?|<synth>synth?|<rst>restart?}}"
+ ]
+ }
+ pass:fetch:s -> fetch:n [style=bold, color=red]
+ subgraph xcluster_pipe {
+ pipe [
+ shape=record
+ label="{cnt_pipe:|filter req.*-\>bereq.*|{vcl_pipe()|req.*, bereq\.*}|{<pipe>pipe?|<synth>synth?}}"
+ ]
+ pipe_do [
+ shape=ellipse
+ label="send bereq.\npipe until close"
+ ]
+ pipe:pipe -> pipe_do [label="pipe",style=bold,color=orange]
+ }
+ pipe_do -> DONE [style=bold,color=orange]
+ subgraph xcluster_restart {
+ restart [
+ shape=record
+ label="{cnt_restart}"
+ ]
+ }
+ RESTART -> restart [color=purple]
+ restart -> recv [color=purple]
+ restart -> err_restart
+ err_restart [label="SYNTH",shape=plaintext]
+ subgraph xcluster_recv {
+ recv [
+ shape=record
+ label="{cnt_recv:|{vcl_recv\{\}|req.*}|{vcl_hash\{\}|req.*}|{<lookup>lookup?|<pass>pass?|<pipe>pipe?|<synth>synth?|<purge>purge?}}"
+ ]
+ }
+ recv:pipe -> pipe [style=bold,color=orange]
+ recv:pass -> pass [style=bold,color=red]
+ recv:lookup:s -> lookup [style=bold,color=green]
+ recv:purge:s -> purge [style=bold,color=purple]
+ subgraph xcluster_purge {
+ purge [
+ shape=record
+ label="{cnt_purge:|{vcl_purge\{\}|req.*}|{<synth>synth?}}"
+ ]
+ }
+ }
More information about the varnish-commit
mailing list