1 /* 2 * include/haproxy/counters-t.h 3 * This file contains structure declarations for statistics counters. 4 * 5 * Copyright 2008-2009 Krzysztof Piotr Oledzki <ole@ans.pl> 6 * Copyright 2011-2014 Willy Tarreau <w@1wt.eu> 7 * 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 _HAPROXY_COUNTERS_T_H 24 #define _HAPROXY_COUNTERS_T_H 25 26 /* counters used by listeners and frontends */ 27 struct fe_counters { 28 unsigned int conn_max; /* max # of active sessions */ 29 long long cum_conn; /* cumulated number of received connections */ 30 long long cum_sess; /* cumulated number of accepted connections */ 31 32 unsigned int cps_max; /* maximum of new connections received per second */ 33 unsigned int sps_max; /* maximum of new connections accepted per second (sessions) */ 34 35 long long bytes_in; /* number of bytes transferred from the client to the server */ 36 long long bytes_out; /* number of bytes transferred from the server to the client */ 37 38 long long comp_in; /* input bytes fed to the compressor */ 39 long long comp_out; /* output bytes emitted by the compressor */ 40 long long comp_byp; /* input bytes that bypassed the compressor (cpu/ram/bw limitation) */ 41 42 long long denied_req; /* blocked requests because of security concerns */ 43 long long denied_resp; /* blocked responses because of security concerns */ 44 long long failed_req; /* failed requests (eg: invalid or timeout) */ 45 long long denied_conn; /* denied connection requests (tcp-req-conn rules) */ 46 long long denied_sess; /* denied session requests (tcp-req-sess rules) */ 47 long long failed_rewrites; /* failed rewrites (warning) */ 48 long long internal_errors; /* internal processing errors */ 49 50 long long cli_aborts; /* aborted responses during DATA phase caused by the client */ 51 long long srv_aborts; /* aborted responses during DATA phase caused by the server */ 52 long long intercepted_req; /* number of monitoring or stats requests intercepted by the frontend */ 53 54 union { 55 struct { 56 long long cum_req; /* cumulated number of processed HTTP requests */ 57 long long comp_rsp; /* number of compressed responses */ 58 unsigned int rps_max; /* maximum of new HTTP requests second observed */ 59 long long rsp[6]; /* http response codes */ 60 long long cache_lookups;/* cache lookups */ 61 long long cache_hits; /* cache hits */ 62 } http; 63 } p; /* protocol-specific stats */ 64 }; 65 66 /* counters used by servers and backends */ 67 struct be_counters { 68 unsigned int conn_max; /* max # of active sessions */ 69 long long cum_conn; /* cumulated number of received connections */ 70 long long cum_sess; /* cumulated number of accepted connections */ 71 long long cum_lbconn; /* cumulated number of sessions processed by load balancing (BE only) */ 72 unsigned long last_sess; /* last session time */ 73 74 unsigned int cps_max; /* maximum of new connections received per second */ 75 unsigned int sps_max; /* maximum of new connections accepted per second (sessions) */ 76 unsigned int nbpend_max; /* max number of pending connections with no server assigned yet (BE only) */ 77 unsigned int cur_sess_max; /* max number of currently active sessions */ 78 79 long long bytes_in; /* number of bytes transferred from the client to the server */ 80 long long bytes_out; /* number of bytes transferred from the server to the client */ 81 82 long long comp_in; /* input bytes fed to the compressor */ 83 long long comp_out; /* output bytes emitted by the compressor */ 84 long long comp_byp; /* input bytes that bypassed the compressor (cpu/ram/bw limitation) */ 85 86 long long denied_req; /* blocked requests because of security concerns */ 87 long long denied_resp; /* blocked responses because of security concerns */ 88 89 long long connect; /* number of connection establishment attempts */ 90 long long reuse; /* number of connection reuses */ 91 long long failed_conns; /* failed connect() attempts (BE only) */ 92 long long failed_resp; /* failed responses (BE only) */ 93 long long cli_aborts; /* aborted responses during DATA phase caused by the client */ 94 long long srv_aborts; /* aborted responses during DATA phase caused by the server */ 95 long long retries; /* retried and redispatched connections (BE only) */ 96 long long redispatches; /* retried and redispatched connections (BE only) */ 97 long long failed_rewrites; /* failed rewrites (warning) */ 98 long long internal_errors; /* internal processing errors */ 99 100 long long failed_checks, failed_hana; /* failed health checks and health analyses for servers */ 101 long long down_trans; /* up->down transitions */ 102 103 unsigned int q_time, c_time, d_time, t_time; /* sums of conn_time, queue_time, data_time, total_time */ 104 unsigned int qtime_max, ctime_max, dtime_max, ttime_max; /* maximum of conn_time, queue_time, data_time, total_time observed */ 105 106 union { 107 struct { 108 long long cum_req; /* cumulated number of processed HTTP requests */ 109 long long comp_rsp; /* number of compressed responses */ 110 unsigned int rps_max; /* maximum of new HTTP requests second observed */ 111 long long rsp[6]; /* http response codes */ 112 long long cache_lookups;/* cache lookups */ 113 long long cache_hits; /* cache hits */ 114 } http; 115 } p; /* protocol-specific stats */ 116 }; 117 118 #endif /* _HAPROXY_COUNTERS_T_H */ 119 120 /* 121 * Local variables: 122 * c-indent-level: 8 123 * c-basic-offset: 8 124 * End: 125 */ 126