mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-25 04:17:42 +00:00
MINOR: stats: set the appctx flags when initializing the applet only
When "show stat" is emitted on the CLI, we need to set the relevant flags on the appctx. We must not re-adjust them while dumping a proxy.
This commit is contained in:
parent
676c29e3ae
commit
578d6e4360
19
src/stats.c
19
src/stats.c
@ -2084,14 +2084,6 @@ int stats_dump_proxy_to_buffer(struct stream_interface *si, struct htx *htx,
|
||||
struct channel *rep = si_ic(si);
|
||||
struct server *sv, *svs; /* server and server-state, server-state=server or server->track */
|
||||
struct listener *l;
|
||||
unsigned int flags;
|
||||
|
||||
if (uri)
|
||||
flags = appctx->ctx.stats.flags;
|
||||
else if ((strm_li(s)->bind_conf->level & ACCESS_LVL_MASK) >= ACCESS_LVL_OPER)
|
||||
flags = STAT_SHLGNDS | STAT_SHNODE | STAT_SHDESC;
|
||||
else
|
||||
flags = STAT_SHNODE | STAT_SHDESC;
|
||||
|
||||
chunk_reset(&trash);
|
||||
|
||||
@ -2186,7 +2178,7 @@ int stats_dump_proxy_to_buffer(struct stream_interface *si, struct htx *htx,
|
||||
}
|
||||
|
||||
/* print the frontend */
|
||||
if (stats_dump_li_stats(si, px, l, flags)) {
|
||||
if (stats_dump_li_stats(si, px, l, appctx->ctx.stats.flags)) {
|
||||
if (!stats_putchk(rep, htx, &trash))
|
||||
goto full;
|
||||
}
|
||||
@ -2232,7 +2224,7 @@ int stats_dump_proxy_to_buffer(struct stream_interface *si, struct htx *htx,
|
||||
continue;
|
||||
}
|
||||
|
||||
if (stats_dump_sv_stats(si, px, flags, sv)) {
|
||||
if (stats_dump_sv_stats(si, px, appctx->ctx.stats.flags, sv)) {
|
||||
if (!stats_putchk(rep, htx, &trash))
|
||||
goto full;
|
||||
}
|
||||
@ -2243,7 +2235,7 @@ int stats_dump_proxy_to_buffer(struct stream_interface *si, struct htx *htx,
|
||||
|
||||
case STAT_PX_ST_BE:
|
||||
/* print the backend */
|
||||
if (stats_dump_be_stats(si, px, flags)) {
|
||||
if (stats_dump_be_stats(si, px, appctx->ctx.stats.flags)) {
|
||||
if (!stats_putchk(rep, htx, &trash))
|
||||
goto full;
|
||||
}
|
||||
@ -3812,7 +3804,10 @@ static int cli_parse_show_stat(char **args, char *payload, struct appctx *appctx
|
||||
{
|
||||
appctx->ctx.stats.scope_str = 0;
|
||||
appctx->ctx.stats.scope_len = 0;
|
||||
appctx->ctx.stats.flags = 0;
|
||||
appctx->ctx.stats.flags = STAT_SHNODE | STAT_SHDESC;
|
||||
|
||||
if ((strm_li(si_strm(appctx->owner))->bind_conf->level & ACCESS_LVL_MASK) >= ACCESS_LVL_OPER)
|
||||
appctx->ctx.stats.flags |= STAT_SHLGNDS;
|
||||
|
||||
if (*args[2] && *args[3] && *args[4]) {
|
||||
struct proxy *px;
|
||||
|
Loading…
Reference in New Issue
Block a user