2 * ircd-ratbox: A slightly useful ircd.
3 * s_stats.h: A header for the statistics functions.
5 * Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
6 * Copyright (C) 1996-2002 Hybrid Development Team
7 * Copyright (C) 2002-2004 ircd-ratbox development team
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
25 #ifndef INCLUDED_s_stats_h
26 #define INCLUDED_s_stats_h
28 #define _1MEG (1024.0)
29 #define _1GIG (1024.0*1024.0)
30 #define _1TER (1024.0*1024.0*1024.0)
31 #define _GMKs(x) ( (x > _1TER) ? "Terabytes" : ((x > _1GIG) ? "Gigabytes" : \
32 ((x > _1MEG) ? "Megabytes" : "Kilobytes")))
33 #define _GMKv(x) ( (x > _1TER) ? (float)(x/_1TER) : ((x > _1GIG) ? \
34 (float)(x/_1GIG) : ((x > _1MEG) ? (float)(x/_1MEG) : (float)x)))
39 * statistics structures
41 struct ServerStatistics
43 unsigned int is_cl
; /* number of client connections */
44 unsigned int is_sv
; /* number of server connections */
45 unsigned int is_ni
; /* connection but no idea who it was */
46 unsigned long long int is_cbs
; /* bytes sent to clients */
47 unsigned long long int is_cbr
; /* bytes received to clients */
48 unsigned long long int is_sbs
; /* bytes sent to servers */
49 unsigned long long int is_sbr
; /* bytes received to servers */
50 unsigned long long int is_cti
; /* time spent connected by clients */
51 unsigned long long int is_sti
; /* time spent connected by servers */
52 unsigned int is_ac
; /* connections accepted */
53 unsigned int is_ref
; /* accepts refused */
54 unsigned int is_unco
; /* unknown commands */
55 unsigned int is_wrdi
; /* command going in wrong direction */
56 unsigned int is_unpf
; /* unknown prefix */
57 unsigned int is_empt
; /* empty message */
58 unsigned int is_num
; /* numeric message */
59 unsigned int is_kill
; /* number of kills generated on collisions */
60 unsigned int is_save
; /* number of saves generated on collisions */
61 unsigned int is_asuc
; /* successful auth requests */
62 unsigned int is_abad
; /* bad auth requests */
63 unsigned int is_rej
; /* rejected from cache */
64 unsigned int is_thr
; /* number of throttled connections */
65 unsigned int is_ssuc
; /* successful sasl authentications */
66 unsigned int is_sbad
; /* failed sasl authentications */
67 unsigned int is_tgch
; /* messages blocked due to target change */
68 unsigned int is_rl
; /* commands blocked due to ratelimit */
71 extern struct ServerStatistics ServerStats
;
73 #endif /* INCLUDED_s_stats_h */