Willy Tarreau | 9186126 | 2007-10-17 17:06:05 +0200 | [diff] [blame] | 1 | /* |
| 2 | include/proto/dumpstats.h |
| 3 | This file contains definitions of some primitives to dedicated to |
| 4 | statistics output. |
| 5 | |
Willy Tarreau | 9a42c0d | 2009-09-22 19:31:03 +0200 | [diff] [blame] | 6 | Copyright (C) 2000-2009 Willy Tarreau - w@1wt.eu |
Willy Tarreau | b1356cf | 2008-12-07 16:06:43 +0100 | [diff] [blame] | 7 | |
Willy Tarreau | 9186126 | 2007-10-17 17:06:05 +0200 | [diff] [blame] | 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 | */ |
| 22 | |
| 23 | #ifndef _PROTO_DUMPSTATS_H |
| 24 | #define _PROTO_DUMPSTATS_H |
| 25 | |
| 26 | #include <common/config.h> |
| 27 | #include <types/buffers.h> |
| 28 | #include <types/session.h> |
| 29 | |
Willy Tarreau | 39f7e6d | 2008-03-17 21:38:24 +0100 | [diff] [blame] | 30 | /* Flags for session->data_ctx.stats.flags */ |
| 31 | #define STAT_FMT_CSV 0x00000001 /* dump the stats in CSV format instead of HTML */ |
| 32 | #define STAT_SHOW_STAT 0x00000002 /* dump the stats part */ |
| 33 | #define STAT_SHOW_INFO 0x00000004 /* dump the info part */ |
| 34 | #define STAT_HIDE_DOWN 0x00000008 /* hide 'down' servers in the stats page */ |
| 35 | #define STAT_NO_REFRESH 0x00000010 /* do not automatically refresh the stats page */ |
| 36 | #define STAT_BOUND 0x00800000 /* bound statistics to selected proxies/types/services */ |
Willy Tarreau | 55bb845 | 2007-10-17 18:44:57 +0200 | [diff] [blame] | 37 | |
Krzysztof Piotr Oledzki | 2c6962c | 2008-03-02 02:42:14 +0100 | [diff] [blame] | 38 | #define STATS_TYPE_FE 0 |
| 39 | #define STATS_TYPE_BE 1 |
| 40 | #define STATS_TYPE_SV 2 |
Krzysztof Piotr Oledzki | aeebf9b | 2009-10-04 15:43:17 +0200 | [diff] [blame] | 41 | #define STATS_TYPE_SO 3 |
Krzysztof Piotr Oledzki | 2c6962c | 2008-03-02 02:42:14 +0100 | [diff] [blame] | 42 | |
Willy Tarreau | f5a885f | 2009-10-04 14:22:18 +0200 | [diff] [blame] | 43 | /* unix stats socket states */ |
| 44 | #define STAT_CLI_INIT 0 /* initial state */ |
| 45 | #define STAT_CLI_END 1 /* final state, let's close */ |
| 46 | #define STAT_CLI_GETREQ 2 /* wait for a request */ |
| 47 | #define STAT_CLI_OUTPUT 3 /* all states after this one are responses */ |
| 48 | #define STAT_CLI_PROMPT 3 /* display the prompt (first output, same code) */ |
Willy Tarreau | ea1f5fe | 2009-10-11 23:12:51 +0200 | [diff] [blame] | 49 | #define STAT_CLI_PRINT 4 /* display message in cli->msg */ |
Willy Tarreau | f5a885f | 2009-10-04 14:22:18 +0200 | [diff] [blame] | 50 | |
Willy Tarreau | f5a885f | 2009-10-04 14:22:18 +0200 | [diff] [blame] | 51 | #define STAT_CLI_O_INFO 5 /* dump info/stats */ |
| 52 | #define STAT_CLI_O_SESS 6 /* dump sessions */ |
| 53 | #define STAT_CLI_O_ERR 7 /* dump errors */ |
| 54 | |
Willy Tarreau | b1356cf | 2008-12-07 16:06:43 +0100 | [diff] [blame] | 55 | |
Willy Tarreau | 9a42c0d | 2009-09-22 19:31:03 +0200 | [diff] [blame] | 56 | int stats_sock_parse_request(struct stream_interface *si, char *line); |
| 57 | void stats_io_handler(struct stream_interface *si); |
Willy Tarreau | 24955a1 | 2009-10-04 11:54:04 +0200 | [diff] [blame] | 58 | int stats_dump_raw_to_buffer(struct session *s, struct buffer *rep); |
Willy Tarreau | 0a46489 | 2008-12-07 18:30:00 +0100 | [diff] [blame] | 59 | int stats_dump_http(struct session *s, struct buffer *rep, struct uri_auth *uri); |
Willy Tarreau | 39f7e6d | 2008-03-17 21:38:24 +0100 | [diff] [blame] | 60 | int stats_dump_proxy(struct session *s, struct proxy *px, struct uri_auth *uri); |
Willy Tarreau | 7e72a8f | 2009-10-03 23:55:14 +0200 | [diff] [blame] | 61 | int stats_dump_sess_to_buffer(struct session *s, struct buffer *rep); |
Willy Tarreau | 61b3473 | 2009-10-03 23:49:35 +0200 | [diff] [blame] | 62 | int stats_dump_errors_to_buffer(struct session *s, struct buffer *rep); |
Willy Tarreau | b0c9bc4 | 2009-10-04 15:56:38 +0200 | [diff] [blame] | 63 | void http_stats_io_handler(struct stream_interface *si); |
Willy Tarreau | 9186126 | 2007-10-17 17:06:05 +0200 | [diff] [blame] | 64 | |
| 65 | |
| 66 | #endif /* _PROTO_DUMPSTATS_H */ |
| 67 | |
| 68 | /* |
| 69 | * Local variables: |
| 70 | * c-indent-level: 8 |
| 71 | * c-basic-offset: 8 |
| 72 | * End: |
| 73 | */ |