1This is stats.info, produced by makeinfo version 4.11 from 2/tmp/linuxdoc-tools.ABzi5Heu6f/sgmltmp.stats.2.texi. 3 4\input texinfo 5 6 7File: stats.info, Node: Top, Next: Introduction, Up: (dir) 8 9STATS unleashed 10*************** 11 12 Piotr Kucharski 13 $Id: stats.info,v 1.10 2009/03/15 00:10:32 chopin Exp $ 14 15 This document describes all STATS for ircd server 2.11. 16 17* Menu: 18 19* Introduction:: 20* STATS unleashed:: 21* Enhancements:: 22 23 24File: stats.info, Node: Introduction, Next: STATS unleashed, Prev: Top, Up: Top 25 261 Introduction 27************** 28 29So far STATS has one-char parameter. The result always ends with 219 30numeric ,,End of STATS report". Whether it was empty output or invalid 31parameter can be determined by the char in 219 numeric (after the 32nickname): if it is the char we passed as parameter, the output was 33empty, if it was asterisk ,,*", there was no such STATS we requested. 34 35 Note: 2.11.2 allows multi-char parameters (there's one such so far). 36 37 38File: stats.info, Node: STATS unleashed, Next: Enhancements, Prev: Introduction, Up: Top 39 402 STATS unleashed 41***************** 42 43All examples are raw ircd output minus prefix (server name), numeric 44(varies from stats to stats) and nickname of a client requesting STATS. 45Also ending 219 numeric is omitted in whole. 46 47`a, A - iauth configuration' 48 * rfc931 49 * socks reject,megaparanoid,cache=0 50 51 Shows all succesfully loaded iauth modules and their options. 52 53`b, B - bounce lines' 54 B -1 <NULL> irc.example.org 4444 0 55 B <NULL> <NULL> irc.example.net 4444 0 56 57 2nd field is class number or the hostname/IP mask to match the 58 client; if NULL, it matches any class or hostname, if "-1", it is 59 used only for those clients that were rejected for connecting to 60 server-only port. 4th is server name and 5th the port, both 61 telling the client where it should connect to. 62 63`c - connect, zipped connect and noconnect lines' 64 C *@192.168.0.13 * *.example.net 6667 10 65 66 "C" or "c" (lowercase is a mark for zipped links) are connect 67 lines, that is the list of servers we will connect to. 2nd field 68 is remote server IP (or name), 3rd the password for connection 69 (disguised as "*"), 4th IRC name of a server, 5th - port that 70 autoconnection will be attempted to (non-positive disables A/C) 71 and finally the class this server will be using is in 6th field. 72 73 N *@192.168.0.13 * *.example.net 1 10 74 75 "N" stands for no-connect lines, and these are the servers that 76 will connect to us. It is required that each "C" has its 77 corresponding "N". The format is the same as "C" with an 78 exception of last but one field: it is not a port, but a number of 79 labels (parts of hostname between dots) from start to replace with 80 "*" when introducing us to this server (allows masking). 81 82`d, D - defines' 83 HUB:yes MS:3 84 LQ:128 MXC:100 TS:60 HRD:30 HGL:900 WWD:15 ATO:90 85 KCTL:90 DCTL:1800 LDCTL:5400 CF:1000 MCPU:10 86 H:63 N:9 D:9 U:10 R:50 T:160 C:50 P:20 K:23 87 BS:512 MXR:20 MXB:30 MXBL:1024 PY:10 88 ZL:-1 CM:2 CP:10 DC:15 89 AC: 1 CA:1 S:0 SS:85/85/109 SU:85000/85000/121765 90 CCL: 0x1 91 92 These shows values of most variables set in config.h or 93 struct_def.h, compiled in the server: 94 * HUB (HUB): whether server can be a hub (more than one server 95 connected) 96 97 * MS (MAXSERVERS): initial buffers allocation for that many 98 servers (it can grow later anyway) 99 100 * LQ (LISTENQUEUE): maximum number of connections waiting to be 101 accepted on one port 102 103 * MXC (MAXCONNECTIONS): maximum number of all open file 104 descriptors allowed for ircd (this includes client 105 connections, dns, motd, opening conf fds, pipes, P-lines etc.) 106 107 * TS (TIMESEC): allowed idle seconds (doing nothing waiting for 108 messages to come) 109 110 * HRD (HANGONRETRYDELAY): wait that seconds before fast server 111 reconnection 112 113 * HGL (HANGONGOODLINK): allow fast server reconnection if link 114 has been open for that many seconds 115 116 * WWD (WRITEWAITDELAY): seconds to wait for write() call to 117 complete if stuck 118 119 * ATO (ACCEPTTIMEOUT): seconds to wait for all auth/dns to 120 complete (after that client quits with a "Ping timeout" 121 reason) 122 123 * KCTL (KILLCHASETIMELIMIT): seconds within which KILL, KICK or 124 MODE reaches target after it changed nick 125 126 * DCTL (DELAYCHASETIMELIMIT): seconds of channel delay 127 protection 128 129 * LDCTL (LDELAYCHASETIMELIMIT): seconds of !-channel delay 130 protection 131 132 * CF (CLIENT_FLOOD): number of bytes that can be sent to server 133 without quitting with an "Excess flood" reason 134 135 * MCPU (MAXCHANNELSPERUSER): maximum number of channels per 136 user (service channels not counted in) 137 138 * H (HOSTLEN): maximum length of a hostname for a client (if 139 longer, it's seen as IP) 140 141 * N (NICKLEN): maximum length of a nicks allowed for local 142 clients 143 144 * D (UIDLEN): length of an UID 145 146 * U (USERLEN): maximum length of a user (aka ident) field 147 148 * R (REALLEN): maximum length of an info field of a client 149 150 * T (TOPICLEN): maximum length of a topic on a channel 151 152 * C (CHANNELLEN): maximum length of a channel name 153 154 * P (PASSWDLEN): maximum length of a passwords (in I-, C-lines 155 etc.) 156 157 * K (KEYLEN): maximum length of a key on a channel 158 159 * BS (BUFSIZE): internal buffer size 160 161 * MXR (MAXRECIPIENTS): maximum number of targets (recipients) 162 allowed in one command 163 164 * MXB (MAXBANS): maximum number of all beIR modes per channel 165 166 * MXBL (MAXBANLENGTH): maximum length of all beIR modes per 167 channel 168 169 * PY (MAXPENALTY): penalty points (received in various number 170 for each command) after which client commands are not 171 processed anymore 172 173 * ZL (ZIP_LEVEL): level of compression for ziplinks ("-1" if 174 none) 175 176 * CM (CLONE_MAX): maximum number of clients ("-1" if none), 177 that... 178 179 * CP (CLONE_PERIOD): ... in that many seconds may connect to 180 server without being rejected for too fast connecting clients 181 ("-1" if none) 182 183 * DC (DELAY_CLOSE): seconds to keep too fast reconnecting 184 clones delayed before closing their sockets ("-1" if none) 185 186 * AC: auto connect status (0 disabled, 1 enabled) 187 188 * CA: client accept status (0 disabled, 1 enabled, 2 enabled if 189 not split) 190 191 * S: split status (0 no split, 1 in split) 192 193 * SS (SPLIT_SERVERS): compiled-in define, current value, number 194 of servers on the network (server enters split mode if number 195 of servers on the network is below current value) 196 197 * SU (SPLIT_USERS): compiled-in define, current value, number 198 of users on the network (server enters split mode if number 199 of users on the network is below current value) 200 201 * CCL: bitmask telling what is sent to &CLIENTS channel. 202 203`d5 - defines and 005' 204 Sends the same as stats d and also 005 (the same that is sent 205 during client registration). 206 207`f, F - file descriptors report' 208 1 0.0.0.0 4444 192.168.1.13 51397 Beeth chopin 3774 209 210 For security reasons it is available to operators only. The 211 meaning of fields is: file descriptor number, local ip, local 212 port, client ip, client port, client nick, client auth (ident), 213 idle. 214 215`h, H - hub, leaf, deny lines' 216 H * 616* hub.example.org 0 :-1 217 218 Hub line define what servers (2nd field) and what SIDs (3rd field) 219 are allowed to be introduced by the server specified in 4th field. 220 221 L * * leaf.example.org 0 :-1 222 223 Leaf line ensures that servers we are connected to (matching 4th 224 field) do not become hubs introducing us servers matching the mask 225 (2nd field). 3th field is ignored, 5th field is max depth. 226 227 D *.org <NULL> <NULL> 99 :0 228 229 Deny autoconnect to servers that names match 4th field or that are 230 in a class specified by 5th field if any of the servers matching 231 2nd field or defined to be in class specified in 3rd field are 232 currently present on the network or, if 2nd field prefixed with 233 "!", denies autoconnect if none of the servers matching 2nd field 234 is present on the network. 235 236`i, I - allowed user connections' 237 I 127.0.0.1 <NULL> <NULL> 0 10 - 238 239 2nd field is an IP address, IP mask or CIDR, 3rd is password 240 (disguised by "*" if present), 4th is a hostname required to 241 match, 5th is a port this line is valid for, 6th is the class 242 client will be put in and finally 7th field is I-line flags (all 243 explained in the INSTALL file). 2nd and 4th fields can be prefixed 244 by "user@", which means ident must match as well. 245 246`K - disallowed user connections (aka kill lines)' 247 K pc*.example.org sorry,no,entrance * 0 -1 248 249 The hostname or IP to match (CIDR allowed), kill line comment or 250 (very rarely used) time interval when kill line is effective, 251 username or auth to match, port on which kill line is effective. 252 Lowercase "k" matches on auth, read the INSTALL file for more info. 253 254`k - disallowed user connections (aka temporary kill lines)' 255 K pc*.example.org sorry,no,entrance * 1200 -1 256 257 The same as for "stats K" with one exception: field last but one 258 shows time to live of a temporary kill line (and it always matches 259 on all ports). 260 261`l, L - link info' 262 clientname[username@host.name] 0 181 11431 37 318 :6442 263 264 1st field is client info (client can be server, too). If uppercase 265 "L" is used, then the real IP is shown, not the hostname. 2nd 266 field is sendQ, 3rd received lines, 4th received bytes, 5th sent 267 lines, 6th sent bytes, 7th is client uptime. 268 269 This command accepts second parameter: if present, it shows the 270 above info only for the specified client. 271 272`m, M - commands usage stats' 273 COMMANDNAME 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 8 0 0 274 275 1st field is command name, the rest is in groups of 4 digits: 276 total count, total argument bytes, remote count, remote bytes; 277 each of 5 groups shows usage within given handler (function 278 responsible for dealing with command coming from a given type of 279 client), in the following sequence: server, client, oper, service, 280 unregistered. 281 282`o, O - operator lines' 283 o *@*.example.org * Beeth 0 10 284 285 1st field is operator type, lowercase is local operator, uppercase 286 is global. 2nd field is the user@hostname required to match, 3rd 287 is password (disguised as "*"), 4th is the nickname, 5th is port 288 (though unused) and 6th is the class user will get after becoming 289 operator. 290 291`p - ping reports' 292 irc.example.org[*@192.168.1.13] 11 0 0 -1 293 294 1st is servername (and its socketname), 2nd is sequence number of 295 last udp ping sent, 3rd is number of received answers, 4th is 296 average response time in miliseconds, 5th is preference used in 297 autoconnecting. Only last 20 minutes are remembered. 298 299`P - ports listening' 300 4444 * - 0 246 14989 48 427 7169 1 active 301 302 1st field is port number, 2nd is IP we listen on (or unix socket 303 directory), 3rd is P-line flags, 4th field is sendQ, 5th received 304 lines, 6th received bytes, 7th sent lines, 8th sent bytes, 9th is 305 client uptime, 10th is number of clients using that P-line and 306 finally, 11th shows whether it is "active" or "inactive" (delayed 307 accept). 308 309`q, Q - quarantine lines' 310 Q <NULL> security_reasons irc.example.com 0 -1 311 312 3rd field is a reason for quarantining server matching 4th field. 313 314`r, R - system usage' 315 CPU Secs 1269:55 User 975:10 System 294:45 316 RSS 180656 ShMem 4294962080 Data 1446 Stack 4294963143 317 Swaps 0 Reclaims 882162 Faults 14516 318 Block in 13 out 0 319 Msg Rcv 21277744 Send 56443634 320 Signals 16 Context Vol. 14305344 Invol 6442565 321 DBUF alloc 60 blocks 40867 322 323 Just read man getrusage(). 324 325`s, S - service lines' 326 S *@192.168.1.13 * ServiceName 0x3F00FFFF 0 327 328 2nd field is hostmask service is allowed to connect from, 3rd is 329 password (diguised as "*"), 4th is service name, 5th is service 330 type and 6th is class number. 331 332`t, T - statistics' 333 accepts 1269601 refused 1173948 334 335 Clients accepted and refused. 336 unknown: commands 534523 prefixes 88 337 338 Unknown commands and prefixes received. 339 nick collisions 47 saves 10, unknown closes 1210400 340 341 Unknown closes are all those closed that never got to client 342 (user, service or server) state. 343 wrong direction 0 empty 1937 344 345 Messages coming from wrong direction and empty messages. 346 users without servers 0 ghosts N/A 347 numerics seen 261332 mode fakes 2894 348 auth: successes 0 fails 0 349 local connections 12 udp packets 0 350 udp errors 0 udp dropped 0 351 352 link checks 38 passed 1 15s/35 30s dropped 0Sq/0Yg/2Fl 353 354 Calls to check_link(), accepted early (last one made more than 15s 355 ago, but little sendQ), accepted (more than 30s ago), dropped 356 because of too high sendQ (64kB), too young link (less than 60 357 sec), simply refused. 358 whowas turnover 490/13570/34247 [90] 359 ndelay turnover 8001/46556/195114 [1800] 360 abuse protections 1 strict 1 361 delay close 0 total 996 362 363 Current number of delayed fds and total. 364 Client - Server 365 connected 58205 1 366 bytes sent 4566999994 30687304 367 bytes recv 376478537 500907236 368 time connected 844868798 367786 369 370 Summary of (respectively) client and server: connected amounts, 371 bytes sent, bytes received and overall time connected. 372 iauth modules statistics (Wed Mar 24 22:44:05 2004) 373 spawned: 1, current options: 3 (2.11.0a5) 374 rfc931 connected 516946 unix 292818 other 7809 bad 205665 out of 1268450 375 rfc931 skipped 0 aborted 83143 / 77594 376 socks open 8/1/0 closed 0/20/0 noproxy 21655 377 socks cache open 15 closed 2 noproxy 1110772 miss 157676 (285 <= 1029) 378 379 Apart from iauth stats (start time, number of times respawned, 380 options), all iauth modules statistics (if available). 381 382 Most of these are self-explanatory. Should you want more words 383 about some, drop me a note. 384 385`u, U - uptime' 386 Server Up 0 days, 0:31:55 387 388 You guessed right, that's ircd uptime. 389 390`v, V - version restriction lines' 391 V IRC/0210* IRC/D * 0 0 392 393 2nd field is version to match, 3rd is server flags, 4th is server 394 name mask. (If all match, server is rejected; this one rejects 395 all 2.10 servers compiled with 'D' (debugmode).) 396 397`X - denied connections' 398 X * . . * * * 399 400 Denies client connection based on what client sends in USER 401 command. First four fields of X line correspond one by one to 402 those of USER, then nick. Last field is matched against client ip 403 or host mask (defaults to any if not present). 404 405`y, Y - class lines' 406 Y 0 300 0 16000 3000000 12.2 24.2 13 13/24 407 408 2nd field is class number, 3rd is ping frequency, 4th is connect 409 frequency (used only by servers), 5th maximum number of clients 410 that can attach to this class (maxlinks), 6th is maximum sendQ for 411 each client, 7th defines local limits, 8th field global limits 412 (read the INSTALL file for details) and 9th is number of clients 413 using this Y line. 10th field is (if present) CIDR limit, here: 13 414 clients allowed in each /24 network using that Y-line. 415 416`z, Z - memory usage' 417 Client Local 2749(2210196) Remote 111389(8911120) Auth 31(1030) 418 Users 114064 in/visible 103664/10393(17337728) Invites 17(204) 419 User channels 418848(5026176) Aways 890(29745) 420 Attached confs 2719(32628) 421 Conflines 4888(527572) 422 Classes 18(792) 423 Channels 55106(19083997) Modes 65117(1879252) History 0(0) Cache 0(0) 424 Channel members 418879(5026548) invite 17(204) 425 Whowas users 111214(16904528) away 109(3679) links 12502(150024) 426 Whowas array 133852(10172752) Delay array 133852(2677040) 427 Hash: client 135347(1624164) chan 67741(812892) 428 429 All these tell the number of items and (in the parens) the memory 430 all such items use. 431 Dbuf blocks 40867(83205212) (> 40867 [40867]) (45 < 3575) [0] 432 433 Number of dbuf blocks in use (and memory they use), number of 434 dbufs allocated during startup, the same number again (almost 435 always), dbufs in use, max dbufs in use, number of times dbufs 436 were increased. 437 RES table 8072 438 Structs 20440 IP storage 12344 Name storage 12685 439 440 Resolver tables current sizes in bytes. 441 Total: ww 27080959 ch 25990001 cl 33547797 co 527572 db 83205212 442 443 Total amount of memory for whowas (ww), all channel related items 444 (ch), all client related items (cl), all configuration lines (co) 445 and all dbufs allocated (db). 446 TOTAL: 172842930 sbrk(0)-etext: 249755424 447 448 Total amount of memory used from sbrk() call. 449 450`? - connected servers info' 451 irc.example.org (4, 06:31:29) 1S 2725C 491646kB sent 30180kB recv 0kB sq V3z 452 453 Server name, (days, hour:min:sec link uptime), servers connected, 454 clients connected, kB sent, kB received, sendQ and link version 455 ('z' for ziplink). There also can be "BURST" word at the end, 456 indicating netjoin in progress. 457 458 459 460File: stats.info, Node: Enhancements, Prev: STATS unleashed, Up: Top 461 4623 Enhancements 463************** 464 465If you notice some errors or wish to have some things explained better, 466drop a line to *ircd-dev@irc.org* 467 468 469 470Tag Table: 471Node: Top129 472Node: Introduction434 473Node: STATS unleashed970 474Node: Enhancements17777 475 476End Tag Table 477