blob: e488a5e8e76fb881e9ed710014ff34989968b57d [file] [log] [blame]
Willy Tarreau91861262007-10-17 17:06:05 +02001/*
Willy Tarreaueb472682010-05-28 18:46:57 +02002 * include/proto/dumpstats.h
3 * This file contains definitions of some primitives to dedicated to
4 * statistics output.
5 *
Willy Tarreaub24281b2011-02-13 13:16:36 +01006 * Copyright (C) 2000-2011 Willy Tarreau - w@1wt.eu
Willy Tarreaueb472682010-05-28 18:46:57 +02007 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation, version 2.1
11 * exclusively.
12 *
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 */
Willy Tarreau91861262007-10-17 17:06:05 +020022
23#ifndef _PROTO_DUMPSTATS_H
24#define _PROTO_DUMPSTATS_H
25
26#include <common/config.h>
Willy Tarreauc7e42382012-08-24 19:22:53 +020027#include <types/stream_interface.h>
Willy Tarreau91861262007-10-17 17:06:05 +020028
Willy Tarreau295a8372011-03-10 11:25:07 +010029/* Flags for applet.ctx.stats.flags */
Willy Tarreau354898b2012-12-23 18:15:23 +010030#define STAT_FMT_HTML 0x00000001 /* dump the stats in HTML format */
Willy Tarreau39f7e6d2008-03-17 21:38:24 +010031#define STAT_HIDE_DOWN 0x00000008 /* hide 'down' servers in the stats page */
32#define STAT_NO_REFRESH 0x00000010 /* do not automatically refresh the stats page */
Cyril Bonté474be412010-10-12 00:14:36 +020033#define STAT_ADMIN 0x00000020 /* indicate a stats admin level */
Willy Tarreau39f7e6d2008-03-17 21:38:24 +010034#define STAT_BOUND 0x00800000 /* bound statistics to selected proxies/types/services */
Willy Tarreau55bb8452007-10-17 18:44:57 +020035
Krzysztof Piotr Oledzki2c6962c2008-03-02 02:42:14 +010036#define STATS_TYPE_FE 0
37#define STATS_TYPE_BE 1
38#define STATS_TYPE_SV 2
Krzysztof Piotr Oledzkiaeebf9b2009-10-04 15:43:17 +020039#define STATS_TYPE_SO 3
Krzysztof Piotr Oledzki2c6962c2008-03-02 02:42:14 +010040
Willy Tarreauf5a885f2009-10-04 14:22:18 +020041/* unix stats socket states */
42#define STAT_CLI_INIT 0 /* initial state */
43#define STAT_CLI_END 1 /* final state, let's close */
44#define STAT_CLI_GETREQ 2 /* wait for a request */
45#define STAT_CLI_OUTPUT 3 /* all states after this one are responses */
46#define STAT_CLI_PROMPT 3 /* display the prompt (first output, same code) */
Willy Tarreauea1f5fe2009-10-11 23:12:51 +020047#define STAT_CLI_PRINT 4 /* display message in cli->msg */
Willy Tarreauf5a885f2009-10-04 14:22:18 +020048
Willy Tarreaud9bdcd52012-12-22 20:31:10 +010049#define STAT_CLI_O_INFO 5 /* dump info */
Willy Tarreauf5a885f2009-10-04 14:22:18 +020050#define STAT_CLI_O_SESS 6 /* dump sessions */
51#define STAT_CLI_O_ERR 7 /* dump errors */
Willy Tarreau69f58c82010-07-12 17:55:33 +020052#define STAT_CLI_O_TAB 8 /* dump tables */
Simon Hormanc88b8872011-06-15 15:18:49 +090053#define STAT_CLI_O_CLR 9 /* clear tables */
Willy Tarreau654694e2012-06-07 01:03:16 +020054#define STAT_CLI_O_SET 10 /* set entries in tables */
Willy Tarreaud9bdcd52012-12-22 20:31:10 +010055#define STAT_CLI_O_STAT 11 /* dump stats */
Willy Tarreauf5a885f2009-10-04 14:22:18 +020056
Willy Tarreau96d44912013-11-22 12:25:24 +010057/* HTTP stats : applet.st0 */
58enum {
59 STAT_HTTP_DONE = 0, /* finished */
Willy Tarreau347a35d2013-11-22 17:51:09 +010060 STAT_HTTP_HEAD, /* send headers before dump */
Willy Tarreau96d44912013-11-22 12:25:24 +010061 STAT_HTTP_DUMP, /* dumping stats */
Willy Tarreau347a35d2013-11-22 17:51:09 +010062 STAT_HTTP_POST, /* waiting post data */
63 STAT_HTTP_LAST, /* sending last chunk of response */
Willy Tarreau96d44912013-11-22 12:25:24 +010064};
65
de Lafond Guillaume88c278f2013-04-15 19:27:10 +020066/* HTML form to limit output scope */
67#define STAT_SCOPE_TXT_MAXLEN 20 /* max len for scope substring */
68#define STAT_SCOPE_INPUT_NAME "scope" /* pattern form scope name <input> in html form */
69#define STAT_SCOPE_PATTERN "?" STAT_SCOPE_INPUT_NAME "="
70
Willy Tarreaub24281b2011-02-13 13:16:36 +010071extern struct si_applet http_stats_applet;
Willy Tarreaub1356cf2008-12-07 16:06:43 +010072
Willy Tarreau9a42c0d2009-09-22 19:31:03 +020073void stats_io_handler(struct stream_interface *si);
Willy Tarreau91861262007-10-17 17:06:05 +020074
75
76#endif /* _PROTO_DUMPSTATS_H */
77
78/*
79 * Local variables:
80 * c-indent-level: 8
81 * c-basic-offset: 8
82 * End:
83 */