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