Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
U
unique-xids
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
uplex-varnish
unique-xids
Commits
ef4231f9
Commit
ef4231f9
authored
Jan 30, 2012
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Work on the dot-graph while I ponder how streaming fits in.
parent
263383ba
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
71 deletions
+35
-71
cache_center.c
bin/varnishd/cache/cache_center.c
+35
-71
No files found.
bin/varnishd/cache/cache_center.c
View file @
ef4231f9
...
@@ -556,28 +556,17 @@ cnt_error(struct sess *sp, struct worker *wrk, struct req *req)
...
@@ -556,28 +556,17 @@ 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=ellipse
DOT label="fetch hdr\nfrom backend\n(find obj.ttl)"
DOT ]
DOT vcl_fetch [
DOT shape=record
DOT shape=record
DOT label="
vcl_fetch()|req.\nbereq.\nberesp.
"
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 ]
DOT ]
DOT fetch -> vcl_fetch [style=bold,color=blue]
DOT fetch -> vcl_fetch [style=bold,color=red]
DOT fetch_pass [
DOT fetch_pass [
DOT shape=ellipse
DOT shape=ellipse
DOT label="obj.f.pass=true"
DOT label="obj.f.pass=true"
DOT ]
DOT ]
DOT vcl_fetch -> fetch_pass [label="hit_for_pass",style=bold,color=red]
DOT vcl_fetch -> fetch_pass [label="hit_for_pass",style=bold,color=red]
DOT }
DOT }
DOT fetch_pass -> fetchbody [style=bold,color=red]
DOT fetch:hfp -> fetchbody [style=bold,color=red]
DOT vcl_fetch -> fetchbody [label="deliver",style=bold,color=blue]
DOT fetch:del -> fetchbody [label="deliver",style=bold,color=blue]
DOT vcl_fetch -> rstfetch [label="restart",color=purple]
DOT rstfetch [label="RESTART",shape=plaintext]
DOT fetch -> errfetch
DOT vcl_fetch -> errfetch [label="error"]
DOT errfetch [label="ERROR",shape=plaintext]
*/
*/
static
int
static
int
...
@@ -1059,15 +1048,15 @@ cnt_first(struct sess *sp, struct worker *wrk)
...
@@ -1059,15 +1048,15 @@ 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="
vcl_hit()|req.\nobj.
"
DOT label="
{cnt_hit:|{vcl_hit()|{req.|obj.}}|{<err>error?|<del>deliver?|<rst>restart?|<pass>pass?}}
"
DOT ]
DOT ]
DOT }
DOT }
DOT hit
-> err_hit [label="error"]
XDOT hit:err
-> err_hit [label="error"]
DOT err_hit [label="ERROR",shape=plaintext]
X
DOT err_hit [label="ERROR",shape=plaintext]
DOT hi
t -> rst_hit [label="restart",color=purple]
XDOT hit:rs
t -> rst_hit [label="restart",color=purple]
DOT rst_hit [label="RESTART",shape=plaintext]
X
DOT rst_hit [label="RESTART",shape=plaintext]
DOT hit -> pass [label=pass,style=bold,color=red]
DOT hit
:pass
-> pass [label=pass,style=bold,color=red]
DOT hit -> prepresp [label="deliver",style=bold,color=green]
DOT hit
:del
-> prepresp [label="deliver",style=bold,color=green]
*/
*/
static
int
static
int
...
@@ -1125,18 +1114,13 @@ cnt_hit(struct sess *sp, struct worker *wrk, struct req *req)
...
@@ -1125,18 +1114,13 @@ cnt_hit(struct sess *sp, struct worker *wrk, struct req *req)
DOT subgraph xcluster_lookup {
DOT subgraph xcluster_lookup {
DOT lookup [
DOT lookup [
DOT shape=record
DOT shape=record
DOT label="{cnt_lookup:|hash lookup}"
DOT label="{<top>cnt_lookup:|hash lookup|{<busy>busy ?|<miss>miss ?}|{<no>no|obj.f.pass?|<yes>yes}}"
DOT ]
DOT lookup2 [
DOT shape=diamond
DOT label="obj.f.pass ?"
DOT ]
DOT ]
DOT }
DOT }
DOT lookup -> lookup [label="Busy object found"]
DOT lookup:busy -> lookup:top [label="(waitinglist)"]
DOT lookup -> miss [label="not found\ncreate new",style=bold,color=blue]
DOT lookup:miss -> miss [style=bold,color=blue]
DOT lookup -> lookup2 [label="found",style=bold,color=green]
DOT lookup:no -> hit [style=bold,color=green]
DOT lookup2 -> hit [label="no", style=bold,color=green]
DOT lookup:yes -> pass [style=bold,color=red]
DOT lookup2 -> pass [label="yes",style=bold,color=red]
*/
*/
static
int
static
int
...
@@ -1235,21 +1219,16 @@ cnt_lookup(struct sess *sp, struct worker *wrk, struct req *req)
...
@@ -1235,21 +1219,16 @@ 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=ellipse
DOT label="filter req.->bereq."
DOT ]
DOT vcl_miss [
DOT shape=record
DOT shape=record
DOT label="
vcl_miss()|req.\nbereq.
"
DOT label="
{cnt_miss:|filter req.-\>bereq.|{vcl_miss\{\}|{req.*|bereq.*}}|{<pass>pass?|<err>error?|<restart>restart?|<fetch>fetch?}}
"
DOT ]
DOT ]
DOT miss -> vcl_miss [style=bold,color=blue]
DOT }
DOT }
DOT vcl_miss
-> rst_miss [label="restart",color=purple]
XDOT miss:restart
-> rst_miss [label="restart",color=purple]
DOT rst_miss [label="RESTART",shape=plaintext]
X
DOT rst_miss [label="RESTART",shape=plaintext]
DOT vcl_miss
-> err_miss [label="error"]
XDOT miss:err
-> err_miss [label="error"]
DOT err_miss [label="ERROR",shape=plaintext]
X
DOT err_miss [label="ERROR",shape=plaintext]
DOT
vcl_miss
-> fetch [label="fetch",style=bold,color=blue]
DOT
miss:fetch
-> fetch [label="fetch",style=bold,color=blue]
DOT
vcl_mi
ss -> pass [label="pass",style=bold,color=red]
DOT
miss:pa
ss -> pass [label="pass",style=bold,color=red]
DOT
DOT
*/
*/
...
@@ -1318,30 +1297,15 @@ cnt_miss(struct sess *sp, struct worker *wrk, struct req *req)
...
@@ -1318,30 +1297,15 @@ cnt_miss(struct sess *sp, struct worker *wrk, struct req *req)
*
*
DOT subgraph xcluster_pass {
DOT subgraph xcluster_pass {
DOT pass [
DOT pass [
DOT shape=ellipse
DOT label="deref obj."
DOT ]
DOT pass2 [
DOT shape=ellipse
DOT label="filter req.->bereq."
DOT ]
DOT vcl_pass [
DOT shape=record
DOT shape=record
DOT label="vcl_pass()|req.\nbereq."
DOT label="{cnt_pass:|(XXX: deref obj.)|filter req.*-\>bereq.|{vcl_pass\{\}|{req.*|bereq.*}}|{<err>error?|<rst>restart?}|<pass>create anon obj}"
DOT ]
DOT pass_do [
DOT shape=ellipse
DOT label="create anon object\n"
DOT ]
DOT ]
DOT pass -> pass2 [style=bold, color=red]
DOT pass2 -> vcl_pass [style=bold, color=red]
DOT vcl_pass -> pass_do [label="pass"] [style=bold, color=red]
DOT }
DOT }
DOT pass
_do
-> fetch [style=bold, color=red]
DOT pass
:pass
-> fetch [style=bold, color=red]
DOT vcl_pass
-> rst_pass [label="restart",color=purple]
XDOT pass:rst
-> rst_pass [label="restart",color=purple]
DOT rst_pass [label="RESTART",shape=plaintext]
X
DOT rst_pass [label="RESTART",shape=plaintext]
DOT vcl_pass
-> err_pass [label="error"]
XDOT pass:err
-> err_pass [label="error"]
DOT err_pass [label="ERROR",shape=plaintext]
X
DOT err_pass [label="ERROR",shape=plaintext]
*/
*/
static
int
static
int
...
@@ -1440,7 +1404,7 @@ cnt_pipe(struct sess *sp, struct worker *wrk, const struct req *req)
...
@@ -1440,7 +1404,7 @@ cnt_pipe(struct sess *sp, struct worker *wrk, const struct req *req)
DOT subgraph xcluster_recv {
DOT subgraph xcluster_recv {
DOT recv [
DOT recv [
DOT shape=record
DOT shape=record
DOT label="{cnt_recv:|{vcl_recv\{\}|req.*}}"
DOT label="{cnt_recv:|{vcl_recv\{\}|req.*}
|{<pipe>pipe?|<pass>pass?|<error>error?|<lookup>lookup?}
}"
DOT ]
DOT ]
DOT }
DOT }
DOT subgraph xcluster_hash {
DOT subgraph xcluster_hash {
...
@@ -1450,13 +1414,13 @@ DOT label="{cnt_recv:|{vcl_hash\{\}|req.*}}"
...
@@ -1450,13 +1414,13 @@ DOT label="{cnt_recv:|{vcl_hash\{\}|req.*}}"
DOT ]
DOT ]
DOT }
DOT }
DOT ESI_REQ [ shape=hexagon ]
DOT ESI_REQ [ shape=hexagon ]
DOT RESTART -> recv
DOT RESTART -> recv
[color=purple]
DOT ESI_REQ -> recv
DOT ESI_REQ -> recv
DOT recv
-> pipe [label="pipe",
style=bold,color=orange]
DOT recv
:pipe -> pipe [
style=bold,color=orange]
DOT recv
-> pass2 [label="pass",
style=bold,color=red]
DOT recv
:pass -> pass [
style=bold,color=red]
DOT recv -> err_recv [label="error"]
#DOT recv:error -> err_recv
DOT err_recv [label="ERROR",shape=plaintext]
#
DOT err_recv [label="ERROR",shape=plaintext]
DOT recv
-> hash [label="lookup",
style=bold,color=green]
DOT recv
:lookup -> hash [
style=bold,color=green]
DOT hash -> lookup [label="hash",style=bold,color=green]
DOT hash -> lookup [label="hash",style=bold,color=green]
*/
*/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment