Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
varnish-cache
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
varnishcache
varnish-cache
Commits
a808daa3
Commit
a808daa3
authored
May 27, 2019
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add a "vcl.symtab" debug command.
parent
02acb35b
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
44 additions
and
0 deletions
+44
-0
mgt_symtab.c
bin/varnishd/mgt/mgt_symtab.c
+31
-0
mgt_vcl.c
bin/varnishd/mgt/mgt_vcl.c
+1
-0
mgt_vcl.h
bin/varnishd/mgt/mgt_vcl.h
+1
-0
c00077.vtc
bin/varnishtest/tests/c00077.vtc
+3
-0
cli_cmds.h
include/tbl/cli_cmds.h
+8
-0
No files found.
bin/varnishd/mgt/mgt_symtab.c
View file @
a808daa3
...
...
@@ -40,6 +40,7 @@
#include "mgt/mgt.h"
#include "mgt/mgt_vcl.h"
#include "vcli_serve.h"
#include "libvcc.h"
#include "vjsn.h"
...
...
@@ -198,3 +199,33 @@ mgt_vcl_export_labels(struct vcc *vcc)
/*--------------------------------------------------------------------*/
static
void
mcf_vcl_vjsn_dump
(
struct
cli
*
cli
,
const
struct
vjsn_val
*
vj
,
int
indent
)
{
struct
vjsn_val
*
vj1
;
AN
(
cli
);
AN
(
vj
);
VCLI_Out
(
cli
,
"%*s"
,
indent
,
""
);
if
(
vj
->
name
!=
NULL
)
VCLI_Out
(
cli
,
"[
\"
%s
\"
]: "
,
vj
->
name
);
VCLI_Out
(
cli
,
"{%s}"
,
vj
->
type
);
if
(
vj
->
value
!=
NULL
)
VCLI_Out
(
cli
,
" <%s>"
,
vj
->
value
);
VCLI_Out
(
cli
,
"
\n
"
);
VTAILQ_FOREACH
(
vj1
,
&
vj
->
children
,
list
)
mcf_vcl_vjsn_dump
(
cli
,
vj1
,
indent
+
2
);
}
void
v_matchproto_
(
cli_func_t
)
mcf_vcl_symtab
(
struct
cli
*
cli
,
const
char
*
const
*
av
,
void
*
priv
)
{
struct
vclprog
*
vp
;
(
void
)
av
;
(
void
)
priv
;
VTAILQ_FOREACH
(
vp
,
&
vclhead
,
list
)
{
VCLI_Out
(
cli
,
"VCL: %s
\n
"
,
vp
->
name
);
if
(
vp
->
symtab
!=
NULL
)
mcf_vcl_vjsn_dump
(
cli
,
vp
->
symtab
->
value
,
4
);
}
}
bin/varnishd/mgt/mgt_vcl.c
View file @
a808daa3
...
...
@@ -906,6 +906,7 @@ static struct cli_proto cli_vcl[] = {
{
CLICMD_VCL_DISCARD
,
""
,
mcf_vcl_discard
},
{
CLICMD_VCL_LIST
,
""
,
mcf_vcl_list
,
mcf_vcl_list_json
},
{
CLICMD_VCL_LABEL
,
""
,
mcf_vcl_label
},
{
CLICMD_DEBUG_VCL_SYMTAB
,
"d"
,
mcf_vcl_symtab
},
{
NULL
}
};
...
...
bin/varnishd/mgt/mgt_vcl.h
View file @
a808daa3
...
...
@@ -82,4 +82,5 @@ int mcf_is_label(const struct vclprog *vp);
void
mgt_vcl_export_labels
(
struct
vcc
*
vcc
);
void
mgt_vcl_symtab
(
struct
vclprog
*
vp
,
const
char
*
input
);
void
mcf_vcl_symtab
(
struct
cli
*
cli
,
const
char
*
const
*
av
,
void
*
priv
);
bin/varnishtest/tests/c00077.vtc
View file @
a808daa3
...
...
@@ -59,6 +59,9 @@ varnish v1 -vcl+backend { sub vcl_recv { return (vcl(vclA)); } }
varnish v1 -clierr 300 "vcl.discard vclA"
varnish v1 -vcl+backend { }
varnish v1 -cliok "vcl.symtab"
varnish v1 -cliok "vcl.discard vcl3"
varnish v1 -cliok "vcl.discard vcl4"
varnish v1 -cliok "vcl.discard vcl5"
...
...
include/tbl/cli_cmds.h
View file @
a808daa3
...
...
@@ -362,6 +362,14 @@ CLI_CMD(DEBUG_PANIC_MASTER,
0
,
0
)
CLI_CMD
(
DEBUG_VCL_SYMTAB
,
"vcl.symtab"
,
"vcl.symtab"
,
"Dump the VCL symbol-tables."
,
""
,
0
,
0
)
CLI_CMD
(
DEBUG_VMOD
,
"debug.vmod"
,
"debug.vmod"
,
...
...
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