chiark / gitweb /
Commit 2.4.5-5 as unpacked
[innduct.git] / samples / innreport.conf.in
1 ##########################################################
2 # Configuration file for innreport (3.*).
3 #
4 # Sample file for INN.
5 # Tested with INN 2.3, 2.1, 1.7.2 and 1.5.1.
6 #
7 # (c) 1997, 1998, 1999 by Fabien Tassin <fta@sofaraway.org>
8 # version 3.0.2
9 ##########################################################
10
11 # Default parameters
12 section default {
13         libpath         "@LIBDIR@";
14         logpath         "@LOGDIR@";
15         unknown         true;        # want unknown entries.
16         max_unknown     50;          # max unknown entries to display.
17         casesensitive   true;
18         module          "innreport_inn";  # ${libpath}/${module}.pm
19         unwanted_log    "unwanted.log";   # ${logpath}/${unwanted_log}
20         text            true;
21         html            false;
22         graph           true;        # need 'html'
23         archive         true;  # use false to keep only the latest HTML report.
24         index           "index.html"; # name of the HTML index file.
25       # html_dir     "/var/www/News/stats"; # default to pathhttp in inn.conf
26         img_dir         "pics";      # images will go to ${html_dir}/${img_dir}
27         cycle           none;        # use a number or 'none'.
28         separator       ".";         # use a valid filename character.
29         title           "Daily Usenet report";
30       # title        "Daily Usenet report for <A HREF=\"/News/stats/\">news.y.z</A>";
31       # footer          "Local contact: <A HREF=\"mailto:x@y.z\">x@y.z</A>";
32       # html_body       "BGCOLOR=\"#FFFFFF\" TEXT=\"#000000\"";
33       # html_header_file "header.html";  # ${html_dir}/${html_header_file}
34       # html_footer_file "footer.html";  # ${html_dir}/${html_footer_file}
35         graph_width     550;         # graph width (in pixels)
36         transparent     true;        # graph background transparent ?
37         graph_fg        "#000000";   # graph foreground color.
38         graph_bg        "#FFFFFF";   # graph background color.
39 };
40
41 ###########################################################################
42 # Index page
43 section index {
44         column {
45                 title   "Dates";
46                 value   "date";
47         };
48         column {
49                 title   "Incoming feeds";
50                 name    "Offered|Accepted|Volume";
51                 value   "total(%innd_offered) | total(%innd_accepted) |
52                          bytes(total(%inn_flow_size))";
53         };
54         column {
55                 title   "Outgoing feeds";
56                 name    "Offered|Accepted|Volume";
57                 value   "total(%innfeed_offered) + total(%nntplink_offered) +
58                          total(%innxmit_offered) | total(%innfeed_accepted) +
59                          total(%nntplink_accepted) + total(%innxmit_accepted) |
60                          bytes(total(%innfeed_accepted_size) +
61                          total(%innfeed_rejected_size) +
62                          total(%innxmit_bytes) +
63                          total(%innxmit_accepted_size) +
64                          total(%innxmit_rejected_size))";
65         };
66         graph {
67                 title         "Incoming feeds";
68                 value         val1;
69                 color         "#FFFFCE";
70                 unit          "art";
71                 data {
72                           name    "Offered";
73                           color   "#50A0D0";
74                           value   "val2";       # Incoming feeds: Offered
75                 };
76                 data {
77                           name    "Accepted";
78                           color   "#0000FF";
79                           value   "val3";       # Incoming feeds: Accepted
80                 };
81         };
82         graph {
83                 title         "Outgoing feeds";
84                 value         val1;
85                 color         "#FFFFCE";
86                 unit          "art";
87                 data {
88                           name    "Offered";
89                           color   "#50A0D0";
90                           value   "val5";       # Outgoing feeds: Offered
91                 };
92                 data {
93                           name    "Accepted";
94                           color   "#0000FF";
95                           value   "val6";       # Outgoing feeds: Accepted
96                 };
97         };
98         graph {
99                 title           "Bandwidth";
100                 value           val1;
101                 color           "#FFFFCE";
102                 unit            "Kb";
103                 data {
104                         name    "Incoming";
105                         color   "#50A0D0";
106                         value   "byte(val4)";   # Incoming feeds: Volume
107                 };
108                 data {
109                         name    "Outgoing";
110                         color   "#0000FF";
111                         value   "byte(val7)";   # Outgoing feeds: Volume
112                 };
113         };
114 };
115
116 ###########################################################################
117 # Report
118
119 section prog_type {
120         # skip    true;                          # used to skip a section.
121         title   "Log entries by program:";
122         data    "%prog_type";
123         sort    "$prog_type{$b} <=> $prog_type{$a}";
124         # text  false;             # to skip this section in the text report
125         # html  false;             # to skip this section in the HTML report
126         column {
127                 name          "Program name";
128                 format        "%-46.46s";
129                 value         "$key";
130                 format_total  "TOTAL: %-39.39s";
131                 total         "$num";
132         };
133         column {
134                 name          "Lines";
135                 format_name   "%7s";
136                 format        "%7d";
137                 # text        false;  # to skip this column in the text report
138                 value         "$prog_type{$key}";
139                 total         "total(%prog_type)";
140         };
141         column {
142                 name          "%Lines";
143                 format_name   "%7s";
144                 format        "%6.1f%%";
145                 # html        false;  # to skip this column in the HTML report
146                 value         "$prog_type{$key} / total(%prog_type) * 100";
147                 total         "100";
148         };
149         column {
150                 name          "Size";
151                 format        "%9s";
152                 value         "bytes($prog_size{$key})";
153                 total         "bytes(total(%prog_size))";
154         };
155         column {
156                 name          "%Size";
157                 format_name   "%6s";
158                 format        "%5.1f%%";
159                 value         "$prog_size{$key} / total(%prog_size) * 100";
160                 total         "100";
161         };
162 };
163
164 # INN 2.*
165 section innd_his {
166         title   "History cache:";
167         data    "%innd_his";
168         sort    "$innd_his{$b} <=> $innd_his{$a}";
169         column {
170                 name          "Reason";
171                 format        "%-57.57s";
172                 value         "$key";
173                 format_total  "TOTAL: %-50.50s";
174                 total         "$num";
175         };
176         column {
177                 name          "Count";
178                 format_name   "%10s";
179                 format        "%10d";
180                 value         "$innd_his{$key}";
181                 total         "total(%innd_his)";
182         };
183         column {
184                 name          "%Count";
185                 format_name   "%10s";
186                 format        "%9.1f%%";
187                 value         "100 * $innd_his{$key} / total(%innd_his)";
188                 total         "100";
189         };
190 };
191
192 # INN 1.*
193 section innd_cache {
194         title   "History cache:";
195         data    "%innd_cache";
196         sort    "$innd_cache{$b} <=> $innd_cache{$a}";
197         column {
198                 name          "Reason";
199                 format        "%-57.57s";
200                 value         "$key";
201                 format_total  "TOTAL: %-50.50s";
202                 total         "$num";
203         };
204         column {
205                 name          "Count";
206                 format_name   "%10s";
207                 format        "%10d";
208                 value         "$innd_cache{$key}";
209                 total         "total(%innd_cache)";
210         };
211         column {
212                 name          "%Count";
213                 format_name   "%10s";
214                 format        "%9.1f%%";
215                 value         "100 * $innd_cache{$key} / total(%innd_cache)";
216                 total         "100";
217         };
218 };
219
220 section innd_timer {
221         title   "INND timer:";
222         data    "%innd_time_time";
223         column {
224                 name          "Code region";
225                 format        "%-15.15s";
226                 value         "$key";
227                 format_total  "TOTAL: %-8.8s";
228                 total         "time_ms($innd_time_times)";
229         };
230         column {
231                 name          "Time";
232                 format        "%13s";
233                 value         "time_ms($innd_time_time{$key})";
234                 total         "time_ms(total(%innd_time_time))";
235         };
236         column {
237                 name          "Pct";
238                 format_name   "%6s";
239                 format        "%5.1f%%";
240                 value         "100 * $innd_time_time{$key} / $innd_time_times";
241                 total         "100 * total(%innd_time_time) /
242                                $innd_time_times";
243         };
244         column {
245                 name          "Invoked";
246                 format        "%10s";
247                 value         "$innd_time_num{$key}";
248                 format_total  "%9s-";
249                 total         "";
250         };
251         column {
252                 name          "Min(ms)";
253                 format_name   "%9s";
254                 format        "%9.3f";
255                 value         "$innd_time_min{$key}";
256                 format_total  "%8s-";
257                 total         "";
258         };
259         column {
260                 name          "Avg(ms)";
261                 format_name   "%10s";
262                 format        "%10.3f";
263                 value         "$innd_time_time{$key} /
264                             ($innd_time_num{$key} ? $innd_time_num{$key} : 1)";
265                 format_total  "%9s-";
266                 total         "";
267         };
268         column {
269                 name          "Max(ms)";
270                 format_name   "%10s";
271                 format        "%10.3f";
272                 value         "$innd_time_max{$key}";
273                 format_total  "%9s-";
274                 total         "";
275         };
276 };
277
278 section innfeed_timer {
279         title   "INNfeed timer:";
280         data    "%innfeed_time_time";
281         column {
282                 name          "Code region";
283                 format        "%-15.15s";
284                 value         "$key";
285                 format_total  "TOTAL: %-8.8s";
286                 total         "time_ms($innfeed_time_times)";
287         };
288         column {
289                 name          "Time";
290                 format        "%13s";
291                 value         "time_ms($innfeed_time_time{$key})";
292                 total         "time_ms(total(%innfeed_time_time))";
293         };
294         column {
295                 name          "Pct";
296                 format_name   "%6s";
297                 format        "%5.1f%%";
298                 value         "100 * $innfeed_time_time{$key} / $innfeed_time_times";
299                 total         "100 * total(%innfeed_time_time) /
300                                $innfeed_time_times";
301         };
302         column {
303                 name          "Invoked";
304                 format        "%10s";
305                 value         "$innfeed_time_num{$key}";
306                 format_total  "%9s-";
307                 total         "";
308         };
309         column {
310                 name          "Min(ms)";
311                 format_name   "%9s";
312                 format        "%9.3f";
313                 value         "$innfeed_time_min{$key}";
314                 format_total  "%8s-";
315                 total         "";
316         };
317         column {
318                 name          "Avg(ms)";
319                 format_name   "%10s";
320                 format        "%10.3f";
321                 value         "$innfeed_time_time{$key} /
322                             ($innfeed_time_num{$key} ? $innfeed_time_num{$key} : 1)";
323                 format_total  "%9s-";
324                 total         "";
325         };
326         column {
327                 name          "Max(ms)";
328                 format_name   "%10s";
329                 format        "%10.3f";
330                 value         "$innfeed_time_max{$key}";
331                 format_total  "%9s-";
332                 total         "";
333         };
334 };
335
336 section nnrpd_timer {
337         title   "nnrpd timer:";
338         data    "%nnrpd_time_time";
339         column {
340                 name          "Code region";
341                 format        "%-15.15s";
342                 value         "$key";
343                 format_total  "TOTAL: %-8.8s";
344                 total         "time_ms($nnrpd_time_times)";
345         };
346         column {
347                 name          "Time";
348                 format        "%13s";
349                 value         "time_ms($nnrpd_time_time{$key})";
350                 total         "time_ms(total(%nnrpd_time_time))";
351         };
352         column {
353                 name          "Pct";
354                 format_name   "%6s";
355                 format        "%5.1f%%";
356                 value         "100 * $nnrpd_time_time{$key} / $nnrpd_time_times";
357                 total         "100 * total(%nnrpd_time_time) /
358                                $nnrpd_time_times";
359         };
360         column {
361                 name          "Invoked";
362                 format        "%10s";
363                 value         "$nnrpd_time_num{$key}";
364                 format_total  "%9s-";
365                 total         "";
366         };
367         column {
368                 name          "Min(ms)";
369                 format_name   "%9s";
370                 format        "%9.3f";
371                 value         "$nnrpd_time_min{$key}";
372                 format_total  "%8s-";
373                 total         "";
374         };
375         column {
376                 name          "Avg(ms)";
377                 format_name   "%10s";
378                 format        "%10.3f";
379                 value         "$nnrpd_time_time{$key} /
380                             ($nnrpd_time_num{$key} ? $nnrpd_time_num{$key} : 1)";
381                 format_total  "%9s-";
382                 total         "";
383         };
384         column {
385                 name          "Max(ms)";
386                 format_name   "%10s";
387                 format        "%10.3f";
388                 value         "$nnrpd_time_max{$key}";
389                 format_total  "%9s-";
390                 total         "";
391         };
392 };
393
394 section innd_control {
395         title   "Control commands to INND:";
396         data    "%innd_control";
397         column {
398                 name          "Command";
399                 format        "%-71.71s";
400                 value         "$key";
401                 format_total  "TOTAL: %-64.64s";
402                 total         "$num";
403         };
404         column {
405                 name          "Number";
406                 format_name   "%7s";
407                 value         "$innd_control{$key}";
408                 format        "%7d";
409                 total         "total(%innd_control)";
410         };
411 };
412
413 section innd_newgroup {
414         title   "Newsgroups created:";
415         data    "%innd_newgroup";
416         column {
417                 name          "Group";
418                 format        "%-71.71s";
419                 value         "$key";
420                 format_total  "TOTAL%-66.66s";
421                 total         "";
422         };
423         column {
424                 name          "Mode";
425                 value         "$innd_newgroup{$key}";
426                 format        "%7s";
427                 total         "$num";
428         };
429 };
430
431 section innd_changegroup {
432         title   "Newsgroups changed:";
433         data    "%innd_changegroup";
434         column {
435                 name          "Group";
436                 format        "%-68.68s";
437                 value         "$key";
438                 format_total  "TOTAL%-63.63s";
439                 total         "";
440         };
441         column {
442                 name          "New mode";
443                 format        "%10s";
444                 value         "$innd_changegroup{$key}";
445                 total         "$num";
446         };
447 };
448
449 section innd_rmgroup {
450         title   "Newsgroups removed:";
451         data    "%innd_rmgroup";
452         column {
453                 name          "Group";
454                 format        "%-78.78s";
455                 value         "$key";
456                 format_total  "TOTAL: %-71.71s";
457                 total         "$num";
458         };
459 };
460
461 section controlchan {
462         title   "Control Channel:";
463         data    "%controlchan_who";
464         column {
465                 name          "Sender";
466                 format        "%-25.25s";
467                 value         "$key";
468                 format_total  "TOTAL%-20.20s";
469                 total         "";
470         };
471         column {
472                 name          "newgroup";
473                 value         "$controlchan_new{$key}";
474                 format        "%8s";
475                 total         "total(%controlchan_new)";
476         };
477         column {
478                 name          "rmgroup";
479                 value         "$controlchan_rm{$key}";
480                 format        "%8s";
481                 total         "total(%controlchan_rm)";
482         };
483         column {
484                 name          "Other";
485                 value         "$controlchan_other{$key}";
486                 format        "%8s";
487                 total         "total(%controlchan_other)";
488         };
489         column {
490                 name          "Bad PGP";
491                 value         "$controlchan_skippgp{$key}";
492                 format        "%8s";
493                 total         "total(%controlchan_skippgp)";
494         };
495         column {
496                 name          "DoIt";
497                 value         "$controlchan_doit{$key}";
498                 format        "%8s";
499                 total         "total(%controlchan_doit)";
500         };
501         column {
502                 name          "OK";
503                 value         "$controlchan_ok{$key}";
504                 format        "%8s";
505                 total         "total(%controlchan_ok)";
506         };
507 };
508
509 section innd_connect {
510         title   "Incoming Feeds (INN):";
511         data    "%innd_seconds";
512         sort    "$innd_accepted{$b} <=> $innd_accepted{$a}";
513         numbering true;
514         column {
515                 name          "Server";
516                 format_name   "%-21.21s";
517                 format        "%-24.24s";
518                 value         "$key";
519                 format_total  "TOTAL: %-17.17s";
520                 total         "$num";
521         };
522         column {
523                 name          "Connects";
524                 format_name   "%5s";
525                 format        "%5d";
526                 value         "$innd_connect{$key}";
527                 total         "total(%innd_connect)";
528         };
529         column {
530                 name          "Offered";
531                 format_name   "%8s";
532                 format        "%8d";
533                 value         "$innd_offered{$key}";
534                 total         "total(%innd_offered)";
535         };
536         column {
537                 name          "Taken";
538                 format_name   "%7s";
539                 format        "%7d";
540                 value         "$innd_accepted{$key}";
541                 total         "total(%innd_accepted)";
542         };
543         column {
544                 name          "Refused";
545                 format_name   "%7s";
546                 format        "%7d";
547                 value         "$innd_refused{$key}";
548                 total         "total(%innd_refused)";
549         };
550         column {
551                 name          "Reject";
552                 format_name   "%7s";
553                 format        "%7d";
554                 value         "$innd_rejected{$key}";
555                 total         "total(%innd_rejected)";
556         };
557         column {
558                 name          "%Accpt";
559                 format_name   "%6s";
560                 format        "%4d%%";
561                 value         "$innd_offered{$key} == 0 ? 0 :
562                              $innd_accepted{$key} / $innd_offered{$key} * 100";
563                 total         "total(%innd_offered) == 0 ? 0 :
564                            total(%innd_accepted) / total(%innd_offered) * 100";
565         };
566         column {
567                 name          "Elapsed";
568                 format_name   "%8s";
569                 format        "%9s";
570                 value         "time($innd_seconds{$key})";
571                 total         "time(total(%innd_seconds))";
572         };
573         graph {
574                 title         "Articles received by server";
575                 type          histo3d;
576                 sort          "%innd_accepted";
577                 data {
578                           name    "Articles accepted";
579                           color   "#0000FF";
580                           value   "%innd_accepted";
581                 };
582                 data {
583                           name    "Articles refused";
584                           color   "#FFAF00";
585                           value   "%innd_refused";
586                 };
587                 data {
588                           name    "Articles rejected";
589                           color   "#FF0000";
590                           value   "%innd_rejected";
591                 };
592         };
593 };
594
595 section innd_incoming_vol {
596         title   "Incoming Volume (INN):";
597         data    "%innd_seconds";
598         sort    "$innd_stored_size{$b} <=> $innd_stored_size{$a}";
599         numbering true;
600         column {
601                 name          "Server";
602                 format        "%-24.24s";
603                 value         "$key";
604                 format_total  "TOTAL: %-17.17s";
605                 total         "$num";
606         };
607         column {
608                 name          "AcceptVol";
609                 format        "%9s";
610                 value         "bytes($innd_stored_size{$key})";
611                 total         "bytes(total(%innd_stored_size))";
612         };
613         column {
614                 name          "DupVol";
615                 format        "%9s";
616                 value         "bytes($innd_duplicated_size{$key})";
617                 total         "bytes(total(%innd_duplicated_size))";
618         };
619         column {
620                 name          "TotalVol";
621                 format        "%9s";
622                 value         "bytes($innd_stored_size{$key} +
623                                        $innd_duplicated_size{$key})";
624                 total         "bytes(total(%innd_stored_size) +
625                                        total(%innd_duplicated_size))";
626         };
627         column {
628                 name          "%Acc";
629                 format_name   "%4s";
630                 format        "%3d%%";
631                 value         "$innd_offered_size{$key} == 0 ? 0 :
632                      $innd_stored_size{$key} / $innd_offered_size{$key} * 100";
633                 total         "total(%innd_offered_size) == 0 ? 0 :
634                    total(%innd_stored_size) / total(%innd_offered_size) * 100";
635         };
636         column {
637                 name            "Vol/Art";
638                 format          "%9s";
639                 value           "bytes(($innd_stored_size{$key} +
640                                         $innd_duplicated_size{$key}) /
641                                        ($innd_accepted{$key} +
642                                         $innd_rejected{$key}))";
643                 total           "bytes((total(%innd_stored_size) +
644                                         total(%innd_duplicated_size)) /
645                                      (total(%innd_accepted) +
646                                       total(%innd_rejected)))";
647         };
648         column {
649                 name          "Elapsed";
650                 format        "%9s";
651                 value         "time($innd_seconds{$key})";
652                 total         "time(total(%innd_seconds))";
653         };
654         graph {
655                 title         "Incoming Volume received by server";
656                 type          histo3d;
657                 sort          "%innd_stored_size";
658                 data {
659                           name    "Accepted Volume";
660                           color   "#0000FF";
661                           value   "%innd_stored_size";
662                 };
663                 data {
664                           name    "Duplicated Volume";
665                           color   "#FFAF00";
666                           value   "%innd_duplicated_size";
667                 };
668         };
669 };
670
671 section inn_flow {
672         title   "Incoming articles:";
673         data    "%inn_flow";
674         sort    "&DateCompare";
675         column {
676                 name          "Date";
677                 format        "%-27.27s";
678                 value         "$key";
679                 format_total  "TOTAL: %-20.20s";
680                 total         "time(total(%inn_flow_time))";
681         };
682         column {
683                 name          "Articles";
684                 format_name   "%8s";
685                 value         "$inn_flow{$key}";
686                 format        "%8d";
687                 total         "total(%inn_flow)";
688         };
689         column {
690                 name          "%Arts";
691                 format_name   "%8s";
692                 value         "$inn_flow{$key} / $inn_flow_total * 100";
693                 format        "%7.1f%%";
694                 total         "100";
695         };
696         column {
697                 name          "Art/sec";
698                 format_name   "%7s";
699                 value         "$inn_flow{$key} / $inn_flow_time{$key}";
700                 format        "%7.2f";
701                 total         "total(%inn_flow) / total(%inn_flow_time)";
702         };
703         column {
704                 name          "Size";
705                 value         "bytes($inn_flow_size{$key})";
706                 format        "%9s";
707                 total         "bytes(total(%inn_flow_size))";
708         };
709         column {
710                 name          "%Size";
711                 format_name   "%7s";
712                 value         "$inn_flow_size{$key} /
713                                           total(%inn_flow_size) * 100";
714                 format        "%6.1f%%";
715                 total         "100";
716         };
717         column {
718                 name          "KB/sec";
719                 format_name   "%7s";
720                 value         "$inn_flow_size{$key} /
721                                        $inn_flow_time{$key} / 1024";
722                 format        "%7.2f";
723                 total         "total(%inn_flow_size) /
724                                        total(%inn_flow_time) / 1024";
725         };
726         graph {
727                 title         "Incoming articles";
728                 type          histo;
729                 data {
730                           name    "Hours";
731                           value   "%inn_flow_labels";
732                 };
733                 data {
734                           name    "Art/sec";
735                           factor  3600;
736                           value   "%inn_flow";
737                 };
738         };
739         graph {
740                 title         "Incoming articles (size)";
741                 type          histo;
742                 data {
743                           name    "Hours";
744                           value   "%inn_flow_labels";
745                 };
746                 data {
747                           name    "Kb/sec";
748                           factor  3686400;   # 3600 * 1024
749                           value   "%inn_flow_size";
750                 };
751         };
752 };
753
754 section cnfsstat {
755         title   "CNFS buffer status:";
756         data    "%cnfsstat";
757         column {
758                 name          "Buffer";
759                 format        "%-13.13s";
760                 value         "$key";
761                 format_total  "TOTAL: %-6.6s";
762                 total         "$num";
763         };
764         column {
765                 name          "Class";
766                 format        "%-13.13s";
767                 value         "$cnfsstat{$key}";
768                 format_total  "-%12s";
769                 total         "";
770         };
771         column {
772                 name          "Size";
773                 format        "%9s";
774                 value         "bytes($cnfsstat_size{$key})";
775                 total         "bytes(total(%cnfsstat_size))";
776         };
777         column {
778                 name          "Used";
779                 format        "%9s";
780                 value         "bytes($cnfsstat_used{$key})";
781                 total         "bytes(total(%cnfsstat_used))";
782         };
783         column {
784                 name          "%Used";
785                 format_name   "%7s";
786                 value         "$cnfsstat_used{$key} /
787                                        $cnfsstat_size{$key} * 100";
788                 format        "%6.1f%%";
789                 total         "total(%cnfsstat_used) /
790                                        total(%cnfsstat_size) * 100";
791         };
792         column {
793                 name          "Cycles";
794                 format_name   "%6s";
795                 format        "%6d";
796                 value         "$cnfsstat_cycles{$key}";
797                 total         "total(%cnfsstat_cycles)";
798         };
799         column {
800                 name          "KB/sec";
801                 format_name   "%7s";
802                 value         "$cnfsstat_rate{$key} /
803                                        $cnfsstat_samples{$key} / 1024";
804                 format        "%7.2f";
805                 total         "total(%cnfsstat_rate) /
806                                        total(%cnfsstat_samples) / 1024";
807         };
808         column {
809                 name          "Days";
810                 format_name   "%8s";
811                 value         "$cnfsstat_size{$key} /
812                                  ($cnfsstat_rate{$key} /
813                                     $cnfsstat_samples{$key}) / 86400";
814                 format        "%8.2f";
815                 format_total  "%7s-";
816                 total         "";
817         };
818 };
819
820 section inn_unwanted {
821         title   "Sites sending bad articles:";
822         data    "%inn_badart";
823         sort    "$inn_badart{$b} <=> $inn_badart{$a}";
824         numbering true;
825         column {
826                 name          "Server";
827                 format        "%-23.23s";
828                 value         "$key";
829                 format_total  "TOTAL: %-16.16s";
830                 total         "$num";
831         };
832         column {
833                 name          "Total";
834                 format_name   "%6s";
835                 format        "%6d";
836                 value         "$inn_badart{$key}";
837                 total         "total(%inn_badart)";
838         };
839         column {
840                 name          "Group";
841                 format_name   "%6s";
842                 format        "%6d";
843                 value         "$inn_uw_ng_s{$key}";
844                 total         "total(%inn_uw_ng_s)";
845         };
846         column {
847                 name          "Dist";
848                 format_name   "%5s";
849                 format        "%5d";
850                 value         "$inn_uw_dist_s{$key}";
851                 total         "total(%inn_uw_dist_s)";
852         };
853         column {
854                 name          "Duplic";
855                 format_name   "%6s";
856                 format        "%6d";
857                 value         "$inn_duplicate{$key}";
858                 total         "total(%inn_duplicate)";
859         };
860         column {
861                 name          "Unapp";
862                 format_name   "%5s";
863                 format        "%5d";
864                 value         "$inn_unapproved{$key}";
865                 total         "total(%inn_unapproved)";
866         };
867         column {
868                 name          "TooOld";
869                 format_name   "%6s";
870                 format        "%6d";
871                 value         "$inn_tooold{$key}";
872                 total         "total(%inn_tooold)";
873         };
874         column {
875                 name          "Site";
876                 format_name   "%4s";
877                 format        "%4d";
878                 value         "$inn_uw_site{$key}";
879                 total         "total(%inn_uw_site)";
880         };
881         column {
882                 name          "Line";
883                 format_name   "%4s";
884                 format        "%4d";
885                 value         "$inn_linecount{$key}";
886                 total         "total(%inn_linecount)";
887         };
888         column {
889                 name          "Other";
890                 format_name   "%5s";
891                 format        "%5d";
892                 value         "$innd_others{$key}";
893                 total         "total(%innd_others)";
894         };
895 };
896
897 section inn_unwanted_group {
898         title   "Unwanted newsgroups:";
899         top     20; # default 'top' value or use 'top_text' and 'top_html'
900                     # to specify different values for text and HTML reports.
901         data    "%inn_uw_ng";
902         sort    "$inn_uw_ng{$b} <=> $inn_uw_ng{$a}";
903         column {
904                 name          "Newsgroup";
905                 format        "%-71.71s";
906                 value         "$key";
907                 format_total  "TOTAL: %-64.64s";
908                 total         "$num";
909         };
910         column {
911                 name          "Count";
912                 format_name   "%7s";
913                 format        "%7d";
914                 value         "$inn_uw_ng{$key}";
915                 total         "total(%inn_uw_ng)";
916         };
917 };
918
919 section inn_unwanted_dist {
920         title   "Unwanted distributions:";
921         top     20;
922         data    "%inn_uw_dist";
923         sort    "$inn_uw_dist{$b} <=> $inn_uw_dist{$a}";
924         column {
925                 name          "Distribution";
926                 format        "%-71.71s";
927                 value         "$key";
928                 format_total  "TOTAL: %-64.64s";
929                 total         "$num";
930         };
931         column {
932                 name          "Count";
933                 format_name   "%7s";
934                 format        "%7d";
935                 value         "$inn_uw_dist{$key}";
936                 total         "total(%inn_uw_dist)";
937         };
938 };
939
940 section inn_unwanted_unapp {
941         title   "Supposedly-moderated groups with unmoderated postings:";
942         top     20;
943         data    "%inn_unapproved_g";
944         sort    "$inn_unapproved_g{$b} <=> $inn_unapproved_g{$a}";
945         column {
946                 name          "Groups";
947                 format        "%-71.71s";
948                 value         "$key";
949                 format_total  "TOTAL: %-64.64s";
950                 total         "$num";
951         };
952         column {
953                 name          "Count";
954                 format_name   "%7s";
955                 format        "%7d";
956                 value         "$inn_unapproved_g{$key}";
957                 total         "total(%inn_unapproved_g)";
958         };
959 };
960
961 section inn_unwanted_path {
962         title   "Unwanted sites in Path:";
963         top     20;
964         data    "%inn_site_path";
965         sort    "$inn_site_path{$b} <=> $inn_site_path{$a}";
966         column {
967                 name          "Site";
968                 format        "%-71.71s";
969                 value         "$key";
970                 format_total  "TOTAL: %-64.64s";
971                 total         "$num";
972         };
973         column {
974                 name          "Count";
975                 format_name   "%7s";
976                 format        "%7d";
977                 value         "$inn_site_path{$key}";
978                 total         "total(%inn_site_path)";
979         };
980 };
981
982 section innd_perl {
983         title   "INND Perl filter:";
984         top     20;
985         data    "%innd_filter_perl";
986         sort    "$innd_filter_perl{$b} <=> $innd_filter_perl{$a}";
987         column {
988                 name          "Reason";
989                 format        "%-71.71s";
990                 value         "$key";
991                 format_total  "TOTAL: %-64.64s";
992                 total         "$num";
993         };
994         column {
995                 name          "Count";
996                 format_name   "%7s";
997                 format        "%7d";
998                 value         "$innd_filter_perl{$key}";
999                 total         "total(%innd_filter_perl)";
1000         };
1001 };
1002
1003 section innd_python {
1004         title   "INND Python filter:";
1005         top     20;
1006         data    "%innd_filter_python";
1007         sort    "$innd_filter_python{$b} <=> $innd_filter_python{$a}";
1008         column {
1009                 name          "Reason";
1010                 format        "%-71.71s";
1011                 value         "$key";
1012                 format_total  "TOTAL: %-64.64s";
1013                 total         "$num";
1014         };
1015         column {
1016                 name          "Count";
1017                 format_name   "%7s";
1018                 format        "%7d";
1019                 value         "$innd_filter_python{$key}";
1020                 total         "total(%innd_filter_python)";
1021         };
1022 };
1023
1024 section nocem {
1025         title   "NoCeM on Spool:";
1026         data    "%nocem_goodsigs";
1027         sort    "$nocem_goodsigs{$b} <=> $nocem_goodsigs{$a}";
1028         column {
1029                 name            "Id";
1030                 format          "%-47.47s";
1031                 value           "$key";
1032                 format_total    "TOTAL: %-40.40s";
1033                 total           "$num";
1034         };
1035         column {
1036                 name            "Good";
1037                 format          "%7s";
1038                 value           "$nocem_goodsigs{$key}";
1039                 total           "total(%nocem_goodsigs)";
1040         };
1041         column {
1042                 name            "Bad";
1043                 format          "%7s";
1044                 value           "$nocem_badsigs{$key}";
1045                 total           "total(%nocem_badsigs)";
1046         };
1047         column {
1048                 name            "Unique";
1049                 format          "%7s";
1050                 value           "$nocem_newids{$key}";
1051                 total           "total(%nocem_newids)";
1052         };
1053         column {
1054                 name            "Total";
1055                 format          "%7s";
1056                 value           "$nocem_totalids{$key}";
1057                 total           "total(%nocem_totalids)";
1058         };
1059 };
1060
1061 section innd_no_permission {
1062         title   "INND no permission servers:";
1063         data    "%innd_no_permission";
1064         sort    "$innd_no_permission{$b} <=> $innd_no_permission{$a}";
1065         column {
1066                 name            "System";
1067                 format          "%-71.71s";
1068                 value           "$key";
1069                 format_total    "TOTAL: %-64.64s";
1070                 total           "$num";
1071         };
1072         column {
1073                 name            "Conn";
1074                 format_name     "%7s";
1075                 format          "%7d";
1076                 value           "$innd_no_permission{$key}";
1077                 total           "total(%innd_no_permission)";
1078         };
1079 };
1080
1081 section innd_max_conn {
1082         title   "Too many incoming connections (innd):";
1083         data    "%innd_max_conn";
1084         sort    "$innd_max_conn{$b} <=> $innd_max_conn{$a}";
1085         column {
1086                 name          "Server";
1087                 format        "%-70.70s";
1088                 value         "$key";
1089                 format_total  "TOTAL: %-63.63s";
1090                 total         "$num";
1091         };
1092         column {
1093                 name          "Conn";
1094                 format_name   "%8s";
1095                 format        "%8d";
1096                 value         "$innd_max_conn{$key}";
1097                 total         "total(%innd_max_conn)";
1098         };
1099 };
1100
1101 section innd_too_many_connects_per_minute {
1102         title   "INND too many connects per minute:";
1103         data    "%innd_too_many_connects_per_minute";
1104         sort    "$innd_too_many_connects_per_minute{$b} <=>
1105                  $innd_too_many_connects_per_minute{$a}";
1106         column {
1107                 name            "System";
1108                 format          "%-71.71s";
1109                 value           "$key";
1110                 format_total    "TOTAL: %-64.64s";
1111                 total           "$num";
1112         };
1113         column {
1114                 name            "Conn";
1115                 format_name     "%7s";
1116                 format          "%7d";
1117                 value           "$innd_too_many_connects_per_minute{$key}";
1118                 total           "total(%innd_too_many_connects_per_minute)";
1119         };
1120 };
1121
1122 section innd_misc {
1123         title   "INND misc events:";
1124         data    "%innd_misc";
1125         sort    "$innd_misc{$b} <=> $innd_misc{$a}";
1126         column {
1127                 name          "Events";
1128                 format        "%-71.71s";
1129                 value         "$key";
1130                 format_total  "TOTAL: %-64.64s";
1131                 total         "$num";
1132         };
1133         column {
1134                 name          "Count";
1135                 format_name   "%7s";
1136                 format        "%7d";
1137                 value         "$innd_misc{$key}";
1138                 total         "total(%innd_misc)";
1139         };
1140 };
1141
1142 section innd_misc_stat {
1143         title   "Miscellaneous innd statistics:";
1144         data    "%innd_misc_stat";
1145         sort    "$innd_misc_stat{$b} <=> $innd_misc_stat{$a}";
1146         double  true;
1147         top     10;
1148         #numbering true;
1149         column {
1150                 primary       true;
1151                 name          "Event";
1152                 format        "%-69.69s";
1153                 value         "$key1";
1154                 format_total  "TOTAL: %-62.62s";
1155                 total         "$num";
1156         };
1157         column {
1158                 name          "Server";
1159                 format        "  %-67.67s";
1160                 value         "$key2";
1161                 total         "$num";
1162                 format_total  "TOTAL: %-60.60s";
1163         };
1164         column {
1165                 name          "Number";
1166                 format_name   "%9s";
1167                 format        "%9d";
1168                 value         "$innd_misc_stat{$key1}{$key2}";
1169                 total         "total(%innd_misc_stat)";
1170         };
1171 };
1172
1173 section innfeed_connect {
1174         title   "Outgoing Feeds (innfeed) by Articles:";
1175         data    "%innfeed_offered";
1176         sort    "$innfeed_accepted{$b} <=> $innfeed_accepted{$a}";
1177         numbering true;
1178         column {
1179                 name          "Server";
1180                 format        "%-18.18s";
1181                 value         "$key";
1182                 format_total  "TOTAL: %-11.11s";
1183                 total         "$num";
1184         };
1185         column {
1186                 name          "Offered";
1187                 format_name   "%7s";
1188                 format        "%7d";
1189                 value         "$innfeed_offered{$key}";
1190                 total         "total(%innfeed_offered)";
1191         };
1192         column {
1193                 name          "Taken";
1194                 format_name   "%7s";
1195                 format        "%7d";
1196                 value         "$innfeed_accepted{$key}";
1197                 total         "total(%innfeed_accepted)";
1198         };
1199         column {
1200                 name          "Refused";
1201                 format_name   "%7s";
1202                 format        "%7d";
1203                 value         "$innfeed_refused{$key}";
1204                 total         "total(%innfeed_refused)";
1205         };
1206         column {
1207                 name          "Reject";
1208                 format_name   "%6s";
1209                 format        "%6d";
1210                 value         "$innfeed_rejected{$key}";
1211                 total         "total(%innfeed_rejected)";
1212         };
1213         column {
1214                 name          "Miss";
1215                 format_name   "%6s";
1216                 format        "%6d";
1217                 value         "$innfeed_missing{$key}";
1218                 total         "total(%innfeed_missing)";
1219         };
1220         column {
1221                 name          "Spool";
1222                 format_name   "%7s";
1223                 format        "%7d";
1224                 value         "$innfeed_spooled{$key}";
1225                 total         "total(%innfeed_spooled)";
1226         };
1227         column {
1228                 name          "%Took";
1229                 format_name   "%5s";
1230                 format        "%3d%%";
1231                 value         "$innfeed_offered{$key} == 0 ? 0 :
1232                        $innfeed_accepted{$key} / $innfeed_offered{$key} * 100";
1233                 total         "total(%innfeed_offered) == 0 ? 0 :
1234                      total(%innfeed_accepted) / total(%innfeed_offered) * 100";
1235         };
1236         column {
1237                 name          "Elapsed";
1238                 format_name   "%8s";
1239                 format        "%9s";
1240                 value         "time($innfeed_seconds{$key})";
1241                 total         "time(total(%innfeed_seconds))";
1242         };
1243         graph {
1244                 title         "Outgoing feeds (innfeed) by Articles";
1245                 type          histo3d;
1246                 sort          "%innfeed_accepted";
1247                 data {
1248                           name    "Accepted";
1249                           color   "#0000FF";
1250                           value   "%innfeed_accepted";
1251                 };
1252                 data {
1253                           name    "Refused";
1254                           color   "#FFAF00";
1255                           value   "%innfeed_refused";
1256                 };
1257                 data {
1258                           name    "Rejected";
1259                           color   "#FF0000";
1260                           value   "%innfeed_rejected";
1261                 };
1262                 data {
1263                           name    "Missing";
1264                           color   "#00FF00";
1265                           value   "%innfeed_missing";
1266                 };
1267                 data {
1268                           name    "Spooled";
1269                           color   "#AF00FF";
1270                           value   "%innfeed_spooled,";
1271                 };
1272         };
1273 };
1274
1275 section innfeed_volume {
1276         title   "Outgoing Feeds (innfeed) by Volume:";
1277         data    "%innfeed_offered";
1278         sort    "$innfeed_accepted_size{$b} <=> $innfeed_accepted_size{$a}";
1279         numbering true;
1280         column {
1281                 name            "Server";
1282                 format          "%-17.17s";
1283                 value           "$key";
1284                 format_total    "TOTAL: %-10.10s";
1285                 total           "$num";
1286         };
1287         column {
1288                 name            "AcceptVol";
1289                 format          "%9s";
1290                 value           "bytes($innfeed_accepted_size{$key})";
1291                 total           "bytes(total(%innfeed_accepted_size))";
1292         };
1293         column {
1294                 name            "RejectVol";
1295                 format          "%9s";
1296                 value           "bytes($innfeed_rejected_size{$key})";
1297                 total           "bytes(total(%innfeed_rejected_size))";
1298         };
1299         column {
1300                 name            "TotalVol";
1301                 format          "%9s";
1302                 value           "bytes($innfeed_accepted_size{$key} +
1303                                        $innfeed_rejected_size{$key})";
1304                 total           "bytes(total(%innfeed_accepted_size) +
1305                                        total(%innfeed_rejected_size))";
1306         };
1307         column {
1308                 name            "Volume/sec";
1309                 format_name     "%11s";
1310                 format          "%9s/s";
1311                 value           "bytes(($innfeed_accepted_size{$key} +
1312                                         $innfeed_rejected_size{$key}) /
1313                                     $innfeed_seconds{$key})";
1314                 total           "bytes((total(%innfeed_accepted_size) +
1315                                         total(%innfeed_rejected_size)) /
1316                                     total(%innfeed_seconds))";
1317         };
1318         column {
1319                 name            "Vol/Art";
1320                 format          "%9s";
1321                 value           "bytes(($innfeed_accepted_size{$key} +
1322                                         $innfeed_rejected_size{$key}) /
1323                                        ($innfeed_accepted{$key} +
1324                                         $innfeed_rejected{$key}))";
1325                 total           "bytes((total(%innfeed_accepted_size) +
1326                                         total(%innfeed_rejected_size)) /
1327                                      (total(%innfeed_accepted) +
1328                                       total(%innfeed_rejected)))";
1329         };
1330         column {
1331                 name            "Elapsed";
1332                 format          "%9s";
1333                 value           "time($innfeed_seconds{$key})";
1334                 total           "time(total(%innfeed_seconds))";
1335         };
1336         graph {
1337                 title           "Outgoing feeds (innfeed) by Volume";
1338                 type            histo3d;
1339                 sort            "%innfeed_accepted_size";
1340                 data {
1341                         name    "Accepted";
1342                         color   "#0000FF";
1343                         value   "%innfeed_accepted_size";
1344                 };
1345                 data {
1346                         name    "Rejected";
1347                         color   "#FFAF00";
1348                         value   "%innfeed_rejected_size";
1349                 };
1350                 data {
1351                         name    "Total";
1352                         color   "#00FF00";
1353                         value   "%innfeed_accepted_size +
1354                                  %innfeed_rejected_size";
1355                 };
1356         };
1357 };
1358
1359 section innfeed_shrunk {
1360         title   "Backlog files shrunk by innfeed:";
1361         data    "%innfeed_shrunk";
1362         sort    "$innfeed_shrunk{$b} <=> $innfeed_shrunk{$a}";
1363         column {
1364                 name          "Server";
1365                 format        "%-70.70s";
1366                 value         "$key";
1367                 format_total  "TOTAL: %-63.63s";
1368                 total         "$num";
1369         };
1370         column {
1371                 name          "Size";
1372                 format        "%8s";
1373                 value         "bytes($innfeed_shrunk{$key})";
1374                 total         "bytes(total(%innfeed_shrunk))";
1375         };
1376 };
1377
1378 section nntplink_connect {
1379         title   "Outgoing Feeds (nntplink):";
1380         data    "%nntplink_site";
1381         sort    "$nntplink_accepted{$b} <=> $nntplink_accepted{$a}";
1382         numbering true;
1383         column {
1384                 name          "Server";
1385                 format        "%-25.25s";
1386                 value         "$key";
1387                 format_total  "TOTAL: %-18.18s";
1388                 total         "$num";
1389         };
1390         column {
1391                 name          "Offered";
1392                 format_name   "%8s";
1393                 format        "%8d";
1394                 value         "$nntplink_offered{$key}";
1395                 total         "total(%nntplink_offered)";
1396         };
1397         column {
1398                 name          "Taken";
1399                 format_name   "%8s";
1400                 format        "%8d";
1401                 value         "$nntplink_accepted{$key}";
1402                 total         "total(%nntplink_accepted)";
1403         };
1404         column {
1405                 name          "Rejected";
1406                 format_name   "%8s";
1407                 format        "%8d";
1408                 value         "$nntplink_rejected{$key}";
1409                 total         "total(%nntplink_rejected)";
1410         };
1411         column {
1412                 name          "Failed";
1413                 format_name   "%8s";
1414                 format        "%8d";
1415                 value         "$nntplink_failed{$key}";
1416                 total         "total(%nntplink_failed)";
1417         };
1418         column {
1419                 name          "%Accpt";
1420                 format_name   "%6s";
1421                 format        "%5d%%";
1422                 value         "$nntplink_offered{$key} == 0 ? 0 :
1423                      $nntplink_accepted{$key} / $nntplink_offered{$key} * 100";
1424                 total         "total(%nntplink_offered) == 0 ? 0 :
1425                    total(%nntplink_accepted) / total(%nntplink_offered) * 100";
1426         };
1427         column {
1428                 name          "Elapsed";
1429                 format        "%10s";
1430                 value         "time($nntplink_times{$key})";
1431                 total         "time(total(%nntplink_times))";
1432         };
1433         graph {
1434                 title         "Outgoing Feeds (nntplink)";
1435                 type          histo3d;
1436                 sort          "%nntplink_accepted";
1437                 data {
1438                           name    "Articles accepted";
1439                           color   "#0000FF";
1440                           value   "%nntplink_accepted";
1441                 };
1442                 data {
1443                           name    "Articles rejected";
1444                           color   "#FFAF00";
1445                           value   "%nntplink_rejected";
1446                 };
1447                 data {
1448                           name    "Articles failed";
1449                           color   "#FF0000";
1450                           value   "%nntplink_failed";
1451                 };
1452         };
1453 };
1454
1455 section nntplink_connect2 {
1456         title   "Outgoing Feeds (nntplink) - other information:";
1457         data    "%nntplink_site";
1458         sort    "$nntplink_accepted{$b} <=> $nntplink_accepted{$a}";
1459         numbering true;
1460         column {
1461                 name          "Server";
1462                 format        "%-20.20s";
1463                 value         "$key";
1464                 format_total  "TOTAL: %-13.13s";
1465                 total         "$num";
1466         };
1467         column {
1468                 name          "Conn";
1469                 format_name   "%4s";
1470                 format        "%4d";
1471                 value         "$nntplink_site{$key}";
1472                 total         "total(%nntplink_site)";
1473         };
1474         column {
1475                 name          "Ok";
1476                 format_name   "%4s";
1477                 format        "%4d";
1478                 value         "$nntplink_site{$key} - ($nntplink_eof{$key} +
1479                                $nntplink_sockerr{$key} +
1480                                $nntplink_selecterr{$key} +
1481                                $nntplink_hiload{$key} + $nntplink_bpipe{$key} +
1482                                $nntplink_nospace{$key} + $nntplink_auth{$key} +
1483                                $nntplink_expire{$key} + $nntplink_fail{$key})";
1484                 total         "total(%nntplink_site) - (total(%nntplink_eof) +
1485                                total(%nntplink_sockerr) +
1486                                total(%nntplink_selecterr) +
1487                                total(%nntplink_hiload) +
1488                                total(%nntplink_bpipe) +
1489                                total(%nntplink_nospace) +
1490                                total(%nntplink_auth) +
1491                                total(%nntplink_expire) +
1492                                total(%nntplink_fail))";
1493         };
1494         column {
1495                 name          "EOF";
1496                 format_name   "%3s";
1497                 format        "%3d";
1498                 value         "$nntplink_eof{$key}";
1499                 total         "total(%nntplink_eof)";
1500         };
1501         column {
1502                 name          "Sock";
1503                 format_name   "%4s";
1504                 format        "%4d";
1505                 value         "$nntplink_sockerr{$key}";
1506                 total         "total(%nntplink_sockerr)";
1507         };
1508         column {
1509                 name          "Slct";
1510                 format_name   "%4s";
1511                 format        "%4d";
1512                 value         "$nntplink_selecterr{$key}";
1513                 total         "total(%nntplink_selecterr)";
1514         };
1515         column {
1516                 name          "Load";
1517                 format_name   "%4s";
1518                 format        "%4d";
1519                 value         "$nntplink_hiload{$key}";
1520                 total         "total(%nntplink_hiload)";
1521         };
1522         column {
1523                 name          "Bpip";
1524                 format_name   "%4s";
1525                 format        "%4d";
1526                 value         "$nntplink_bpipe{$key}";
1527                 total         "total(%nntplink_bpipe)";
1528         };
1529         column {
1530                 name          "Spce";
1531                 format_name   "%4s";
1532                 format        "%4d";
1533                 value         "$nntplink_nospace{$key}";
1534                 total         "total(%nntplink_nospace)";
1535         };
1536         column {
1537                 name          "Exp";
1538                 format_name   "%4s";
1539                 format        "%4d";
1540                 value         "$nntplink_expire{$key}";
1541                 total         "total(%nntplink_expire)";
1542         };
1543         column {
1544                 name          "Auth";
1545                 format_name   "%4s";
1546                 format        "%4d";
1547                 value         "$nntplink_auth{$key}";
1548                 total         "total(%nntplink_auth)";
1549         };
1550         column {
1551                 name          "Othr";
1552                 format_name   "%4s";
1553                 format        "%4d";
1554                 value         "$nntplink_fail{$key}";
1555                 total         "total(%nntplink_fail)";
1556         };
1557         column {
1558                 name          "Pct";
1559                 format_name   "%4s";
1560                 format        "%3d%%";
1561                 value         "$nntplink_site{$key} ?
1562                                100 * ($nntplink_site{$key} -
1563                                ($nntplink_eof{$key} + $nntplink_sockerr{$key} +
1564                                $nntplink_selecterr{$key} +
1565                                $nntplink_hiload{$key} + $nntplink_bpipe{$key} +
1566                                $nntplink_nospace{$key} + $nntplink_auth{$key} +
1567                                $nntplink_expire{$key} +
1568                             $nntplink_fail{$key})) / $nntplink_site{$key} : 0";
1569                 total         "total(%nntplink_site) ?
1570                                100 * (total(%nntplink_site) -
1571                                (total(%nntplink_eof) +
1572                                total(%nntplink_sockerr) +
1573                                total(%nntplink_selecterr) +
1574                                total(%nntplink_hiload) +
1575                                total(%nntplink_bpipe) +
1576                                total(%nntplink_nospace) +
1577                                total(%nntplink_auth) +
1578                                total(%nntplink_expire) +
1579                           total(%nntplink_fail))) / total(%nntplink_site) : 0";
1580         };
1581 };
1582
1583 section innxmit_connect {
1584         title   "Outgoing Feeds (innxmit) by Articles:";
1585         data    "%innxmit_times";
1586         sort    "$innxmit_accepted{$b} <=> $innxmit_accepted{$a}";
1587         numbering true;
1588         column {
1589                 name          "Server";
1590                 format        "%-27.27s";
1591                 value         "$key";
1592                 format_total  "TOTAL: %-20.20s";
1593                 total         "$num";
1594         };
1595         column {
1596                 name          "Offered";
1597                 format_name   "%7s";
1598                 format        "%7d";
1599                 value         "$innxmit_offered{$key}";
1600                 total         "total(%innxmit_offered)";
1601         };
1602         column {
1603                 name          "Taken";
1604                 format_name   "%7s";
1605                 format        "%7d";
1606                 value         "$innxmit_accepted{$key}";
1607                 total         "total(%innxmit_accepted)";
1608         };
1609         column {
1610                 name          "Refused";
1611                 format_name   "%7s";
1612                 format        "%7d";
1613                 value         "$innxmit_refused{$key}";
1614                 total         "total(%innxmit_refused)";
1615         };
1616         column {
1617                 name          "Reject";
1618                 format_name   "%7s";
1619                 format        "%7d";
1620                 value         "$innxmit_rejected{$key}";
1621                 total         "total(%innxmit_rejected)";
1622         };
1623         column {
1624                 name          "Miss";
1625                 format_name   "%5s";
1626                 format        "%5d";
1627                 value         "$innxmit_missing{$key}";
1628                 total         "total(%innxmit_rejected)";
1629         };
1630         column {
1631                 name          "%Acc";
1632                 format_name   "%4s";
1633                 format        "%3d%%";
1634                 value         "$innxmit_offered{$key} == 0 ? 0 :
1635                        $innxmit_accepted{$key} / $innxmit_offered{$key} * 100";
1636                 total         "total(%innxmit_offered) == 0 ? 0 :
1637                      total(%innxmit_accepted) / total(%innxmit_offered) * 100";
1638         };
1639         column {
1640                 name          "Elapsed";
1641                 format        "%8s";
1642                 value         "time($innxmit_times{$key})";
1643                 total         "time(total(%innxmit_times))";
1644         };
1645         graph {
1646                 title         "Outgoing Feeds (innxmit)";
1647                 type          histo3d;
1648                 sort          "%innxmit_accepted";
1649                 data {
1650                           name    "Art. accepted";
1651                           color   "#0000FF";
1652                           value   "%innxmit_accepted";
1653                 };
1654                 data {
1655                           name    "Art. refused";
1656                           color   "#FFAF00";
1657                           value   "%innxmit_refused";
1658                 };
1659                 data {
1660                           name    "Art. rejected";
1661                           color   "#FF0000";
1662                           value   "%innxmit_rejected";
1663                 };
1664                 data {
1665                           name    "Art. missing";
1666                           color   "#00FF00";
1667                           value   "%innxmit_missing";
1668                 };
1669         };
1670 };
1671
1672 section innxmit_volume {
1673         title   "Outgoing Feeds (innxmit) by Volume:";
1674         data    "%innxmit_accepted_size";
1675         sort    "$innxmit_accepted_size{$b} <=> $innxmit_accepted_size{$a}";
1676         numbering true;
1677         column {
1678                 name            "Server";
1679                 format          "%-24.24s";
1680                 value           "$key";
1681                 format_total    "TOTAL: %-17.17s";
1682                 total           "$num";
1683         };
1684         column {
1685                 name            "AcceptVol";
1686                 format          "%9s";
1687                 value           "bytes($innxmit_accepted_size{$key})";
1688                 total           "bytes(total(%innxmit_accepted_size))";
1689         };
1690         column {
1691                 name            "RejectVol";
1692                 format          "%9s";
1693                 value           "bytes($innxmit_rejected_size{$key})";
1694                 total           "bytes(total(%innxmit_rejected_size))";
1695         };
1696         column {
1697                 name            "TotalVol";
1698                 format          "%9s";
1699                 value           "bytes($innxmit_accepted_size{$key} +
1700                                        $innxmit_rejected_size{$key} +
1701                                        $innxmit_bytes{$key})";
1702                 total           "bytes(total(%innxmit_accepted_size) +
1703                                        total(%innxmit_rejected_size) +
1704                                        total(%innxmit_bytes))";
1705         };
1706         column {
1707                 name            "KB/s";
1708                 format_name     "%5s";
1709                 format          "%5.1f";
1710                 value           "($innxmit_accepted_size{$key} +
1711                                   $innxmit_rejected_size{$key} +
1712                                   $innxmit_bytes{$key}) /
1713                                     $innxmit_times{$key} / 1024";
1714                 total           "(total(%innxmit_accepted_size) +
1715                                   total(%innxmit_rejected_size) +
1716                                   total(%innxmit_bytes)) /
1717                                     total(%innxmit_times) / 1024";
1718         };
1719         column {
1720                 name            "Vol/Art";
1721                 format          "%9s";
1722                 value           "bytes(($innxmit_accepted_size{$key} +
1723                                         $innxmit_rejected_size{$key} +
1724                                         $innxmit_bytes{$key}) /
1725                                          ($innxmit_accepted{$key} +
1726                                           $innxmit_rejected{$key}))";
1727                 total           "bytes((total(%innxmit_accepted_size) +
1728                                         total(%innxmit_rejected_size) +
1729                                         total(%innxmit_bytes)) /
1730                                          (total(%innxmit_accepted) +
1731                                           total(%innxmit_rejected)))";
1732         };
1733         column {
1734                 name            "Elapsed";
1735                 format          "%8s";
1736                 value           "time($innxmit_times{$key})";
1737                 total           "time(total(%innxmit_times))";
1738         };
1739         graph {
1740                 title           "Outgoing Feeds (innxmit)";
1741                 type            histo3d;
1742                 sort            "%innxmit_accepted";
1743                 data {
1744                         name    "Articles accepted";
1745                         color   "#0000FF";
1746                         value   "%innxmit_accepted_size";
1747                 };
1748                 data {
1749                         name    "Articles rejected";
1750                         color   "#FFAF00";
1751                         value   "%innxmit_rejected_size";
1752                 };
1753                 data {
1754                         name    "Total";
1755                         color   "#FF0000";
1756                         value   "%innxmit_missing";
1757                 };
1758         };
1759 };
1760
1761
1762 section innxmit_connect2 {
1763         title   "Outgoing Feeds (innxmit) - other information:";
1764         data    "%innxmit_site";
1765         sort    "$innxmit_accepted{$b} <=> $innxmit_accepted{$a}";
1766         numbering true;
1767         column {
1768                 name          "Server";
1769                 format        "%-25.25s";
1770                 value         "$key";
1771                 format_total  "TOTAL: %-18.18s";
1772                 total         "$num";
1773         };
1774         column {
1775                 name          "Conn";
1776                 format_name   "%5s";
1777                 format        "%5d";
1778                 value         "$innxmit_site{$key}";
1779                 total         "total(%innxmit_site)";
1780         };
1781         column {
1782                 name          "Ok";
1783                 format_name   "%5s";
1784                 format        "%5d";
1785                 value         "$innxmit_site{$key} -
1786                                ($innxmit_afail_host{$key} +
1787                                $innxmit_hiload{$key} + $innxmit_nospace{$key} +
1788                                $innxmit_cfail_host{$key} +
1789                              $innxmit_expire{$key} + $innxmit_crefused{$key})";
1790                 total         "total(%innxmit_site) -
1791                                (total(%innxmit_afail_host) +
1792                                total(%innxmit_hiload) +
1793                                total(%innxmit_nospace) +
1794                                total(%innxmit_cfail_host) +
1795                                total(%innxmit_expire) +
1796                                total(%innxmit_crefused))";
1797         };
1798         column {
1799                 name          "Auth";
1800                 format_name   "%4s";
1801                 format        "%4d";
1802                 value         "$innxmit_afail_host{$key}";
1803                 total         "total(%innxmit_afail_host)";
1804         };
1805         column {
1806                 name          "Load";
1807                 format_name   "%4s";
1808                 format        "%4d";
1809                 value         "$innxmit_hiload{$key}";
1810                 total         "total(%innxmit_hiload)";
1811         };
1812         column {
1813                 name          "Space";
1814                 format_name   "%5s";
1815                 format        "%5d";
1816                 value         "$innxmit_nospace{$key}";
1817                 total         "total(%innxmit_nospace)";
1818         };
1819         column {
1820                 name          "Expire";
1821                 format_name   "%6s";
1822                 format        "%6d";
1823                 value         "$innxmit_expire{$key}";
1824                 total         "total(%innxmit_expire)";
1825         };
1826         column {
1827                 name          "Connct";
1828                 format_name   "%6s";
1829                 format        "%6d";
1830                 value         "$innxmit_cfail_host{$key}";
1831                 total         "total(%innxmit_cfail_host)";
1832         };
1833         column {
1834                 name          "Other";
1835                 format_name   "%6s";
1836                 format        "%6d";
1837                 value         "$innxmit_crefused{$key}";
1838                 total         "total(%innxmit_crefused)";
1839         };
1840         column {
1841                 name          "Pct";
1842                 format_name   "%4s";
1843                 format        "%3d%%";
1844                 value         "$innxmit_site{$key} ? 100 *
1845                                ($innxmit_site{$key} -
1846                                ($innxmit_afail_host{$key} +
1847                                $innxmit_hiload{$key} + $innxmit_nospace{$key} +
1848                                $innxmit_cfail_host{$key} +
1849                                $innxmit_expire{$key} +
1850                           $innxmit_crefused{$key})) / $innxmit_site{$key} : 0";
1851                 total         "total(%innxmit_site) ?
1852                                100 * (total(%innxmit_site) -
1853                                (total(%innxmit_afail_host) +
1854                                total(%innxmit_hiload) +
1855                                total(%innxmit_nospace) +
1856                                total(%innxmit_cfail_host) +
1857                                total(%innxmit_expire) +
1858                         total(%innxmit_crefused))) / total(%innxmit_site) : 0";
1859         };
1860 };
1861
1862 section innxmit_unwanted {
1863         title   "Sites fed by innxmit rejecting bad articles:";
1864         data    "%innxmit_badart";
1865         sort    "$innxmit_badart{$b} <=> $innxmit_badart{$a}";
1866         column {
1867         numbering true;
1868                 name          "Server";
1869                 format        "%-23.23s";
1870                 value         "$key";
1871                 format_total  "TOTAL: %-16.16s";
1872                 total         "$num";
1873         };
1874         column {
1875                 name          "Total";
1876                 format_name   "%6s";
1877                 format        "%6d";
1878                 value         "$innxmit_badart{$key}";
1879                 total         "total(%innxmit_badart)";
1880         };
1881         column {
1882                 name          "Group";
1883                 format_name   "%6s";
1884                 format        "%6d";
1885                 value         "$innxmit_uw_ng_s{$key}";
1886                 total         "total(%innxmit_uw_ng_s)";
1887         };
1888         column {
1889                 name          "Dist";
1890                 format_name   "%5s";
1891                 format        "%5d";
1892                 value         "$innxmit_uw_dist_s{$key}";
1893                 total         "total(%innxmit_uw_dist_s)";
1894         };
1895         column {
1896                 name          "Duplic";
1897                 format_name   "%6s";
1898                 format        "%6d";
1899                 value         "$innxmit_duplicate{$key}";
1900                 total         "total(%innxmit_duplicate)";
1901         };
1902         column {
1903                 name          "Unapp";
1904                 format_name   "%5s";
1905                 format        "%5d";
1906                 value         "$innxmit_unapproved{$key}";
1907                 total         "total(%innxmit_unapproved)";
1908         };
1909         column {
1910                 name          "TooOld";
1911                 format_name   "%6s";
1912                 format        "%6d";
1913                 value         "$innxmit_tooold{$key}";
1914                 total         "total(%innxmit_tooold)";
1915         };
1916         column {
1917                 name          "Site";
1918                 format_name   "%4s";
1919                 format        "%4d";
1920                 value         "$innxmit_uw_site{$key}";
1921                 total         "total(%innxmit_uw_site)";
1922         };
1923         column {
1924                 name          "Line";
1925                 format_name   "%4s";
1926                 format        "%4d";
1927                 value         "$innxmit_linecount{$key}";
1928                 total         "total(%innxmit_linecount)";
1929         };
1930         column {
1931                 name          "Other";
1932                 format_name   "%5s";
1933                 format        "%5d";
1934                 value         "$innxmit_others{$key}";
1935                 total         "total(%innxmit_others)";
1936         };
1937 };
1938
1939 section crosspost {
1940         title   "Crosspost stats:";
1941         data    "%crosspost";
1942         column {
1943                 name          "Events";
1944                 format        "%-63.63s";
1945                 value         "$key";
1946                 format_total  "TOTAL: %-56.56s";
1947                 total         "$num";
1948         };
1949         column {
1950                 name          "Number";
1951                 value         "$crosspost{$key}";
1952                 format        "%7s";
1953                 total         "total(%crosspost)";
1954         };
1955         column {
1956                 name          "Num/min";
1957                 value         "$crosspost_times{$key}";
1958                 format        "%7s";
1959                 total         "total(%crosspost_times)";
1960         };
1961 };
1962
1963 section batcher_elapsed {
1964         title   "UUCP batches created:";
1965         data    "%batcher_elapsed";
1966         column {
1967                 name          "Server";
1968                 format        "%-41.41s";
1969                 value         "$key";
1970                 format_total  "TOTAL: %-34.34s";
1971                 total         "$num";
1972         };
1973         column {
1974                 name          "Offered";
1975                 format_name   "%7s";
1976                 format        "%7d";
1977                 value         "$batcher_offered{$key}";
1978                 total         "total(%batcher_offered)";
1979         };
1980         column {
1981                 name          "Articles";
1982                 format_name   "%8s";
1983                 format        "%8d";
1984                 value         "$batcher_articles{$key}";
1985                 total         "total(%batcher_articles)";
1986         };
1987         column {
1988                 name          "Size";
1989                 format        "%10s";
1990                 value         "bytes($batcher_bytes{$key})";
1991                 total         "bytes(total(%batcher_bytes))";
1992         };
1993         column {
1994                 name          "Elapsed";
1995                 format        "%9s";
1996                 value         "time($batcher_elapsed{$key})";
1997                 total         "time(total(%batcher_elapsed))";
1998         };
1999 };
2000
2001 section rnews_host {
2002         title   "Rnews articles offered from:";
2003         data    "%rnews_host";
2004         sort    "$rnews_host{$b} <=> $rnews_host{$a}";
2005         column {
2006                 name          "System";
2007                 format        "%-71.71s";
2008                 value         "$key";
2009                 format_total  "TOTAL: %-64.64s";
2010                 total         "$num";
2011         };
2012         column {
2013                 name          "Offered";
2014                 format_name   "%7s";
2015                 format        "%7d";
2016                 value         "$rnews_host{$key}";
2017                 total         "total(%rnews_host)";
2018         };
2019 };
2020
2021 section rnews_rejected {
2022         title   "Rnews connections rejected:";
2023         data    "%rnews_rejected";
2024         sort    "$rnews_rejected{$b} <=> $rnews_rejected{$a}";
2025         column {
2026                 name          "Reason";
2027                 format        "%-71.71s";
2028                 value         "$key";
2029                 format_total  "TOTAL: %-64.64s";
2030                 total         "$num";
2031         };
2032         column {
2033                 name          "Conn";
2034                 format_name   "%7s";
2035                 format        "%7d";
2036                 value         "$rnews_rejected{$key}";
2037                 total         "total(%rnews_rejected)";
2038         };
2039 };
2040
2041 section rnews_misc {
2042         title   "Miscellaneous rnews statistics:";
2043         data    "%rnews_misc";
2044         sort    "$rnews_misc{$b} <=> $rnews_misc{$a}";
2045         double  true;
2046         column {
2047                 primary       true;
2048                 name          "Event";
2049                 format        "%-69.69s";
2050                 value         "$key1";
2051                 format_total  "TOTAL: %-62.62s";
2052                 total         "";
2053         };
2054         column {
2055                 name          "Element";
2056                 format        "  %-67.67s";
2057                 value         "$key2";
2058                 total         "";
2059         };
2060         column {
2061                 name          "Number";
2062                 format_name   "%9s";
2063                 format        "%9d";
2064                 value         "$rnews_misc{$key1}{$key2}";
2065                 total         "total(%rnews_misc)";
2066         };
2067 };
2068
2069 section nnrpd_groups {
2070         title   "NNRP readership statistics:";
2071         data    "%nnrpd_articles";
2072         sort    "$nnrpd_articles{$b} <=> $nnrpd_articles{$a}";
2073         numbering true;
2074         column {
2075                 name          "System";
2076                 format        "%-30.30s";
2077                 value         "$key";
2078                 format_total  "TOTAL: %-23.23s";
2079                 total         "$num";
2080         };
2081         column {
2082                 name          "Conn";
2083                 format_name   "%4s";
2084                 format        "%4d";
2085                 value         "$nnrpd_connect{$key}";
2086                 total         "total(%nnrpd_connect)";
2087         };
2088         column {
2089                 name          "Arts";
2090                 format_name   "%6s";
2091                 format        "%6d";
2092                 value         "$nnrpd_articles{$key}";
2093                 total         "total(%nnrpd_articles)";
2094         };
2095         column {
2096                 name          "Size";
2097                 format        "%9s";
2098                 value         "bytes($nnrpd_bytes{$key})";
2099                 total         "bytes(total(%nnrpd_bytes))";
2100         };
2101         column {
2102                 name          "Groups";
2103                 format_name   "%6s";
2104                 format        "%6d";
2105                 value         "$nnrpd_groups{$key}";
2106                 total         "total(%nnrpd_groups)";
2107         };
2108         column {
2109                 name          "Post";
2110                 format_name   "%4s";
2111                 format        "%4d";
2112                 value         "$nnrpd_post_ok{$key}";
2113                 total         "total(%nnrpd_post_ok)";
2114         };
2115         column {
2116                 name          "Rej";
2117                 format_name   "%4s";
2118                 format        "%4d";
2119                 value         "$nnrpd_post_rej{$key} +
2120                                $nnrpd_post_error{$key}";
2121                 total         "total(%nnrpd_post_rej) +
2122                                total(%nnrpd_post_error)";
2123         };
2124         column {
2125                 name          "Elapsed";
2126                 format        "%9s";
2127                 value         "time($nnrpd_times{$key})";
2128                 total         "time(total(%nnrpd_times))";
2129         };
2130 };
2131
2132 section nnrpd_dom_groups {
2133         title   "NNRP readership statistics (by domain):";
2134         data    "%nnrpd_dom_connect";
2135         sort    "$nnrpd_dom_articles{$b} <=> $nnrpd_dom_articles{$a}";
2136         numbering true;
2137         column {
2138                 name          "System";
2139                 format        "%-30.30s";
2140                 value         "$key";
2141                 format_total  "TOTAL: %-23.23s";
2142                 total         "$num";
2143         };
2144         column {
2145                 name          "Conn";
2146                 format_name   "%4s";
2147                 format        "%4d";
2148                 value         "$nnrpd_dom_connect{$key}";
2149                 total         "total(%nnrpd_dom_connect)";
2150         };
2151         column {
2152                 name          "Arts";
2153                 format_name   "%6s";
2154                 format        "%6d";
2155                 value         "$nnrpd_dom_articles{$key}";
2156                 total         "total(%nnrpd_dom_articles)";
2157         };
2158         column {
2159                 name          "Size";
2160                 format        "%9s";
2161                 value         "bytes($nnrpd_dom_bytes{$key})";
2162                 total         "bytes(total(%nnrpd_dom_bytes))";
2163         };
2164         column {
2165                 name          "Groups";
2166                 format_name   "%6s";
2167                 format        "%6d";
2168                 value         "$nnrpd_dom_groups{$key}";
2169                 total         "total(%nnrpd_dom_groups)";
2170         };
2171         column {
2172                 name          "Post";
2173                 format_name   "%4s";
2174                 format        "%4d";
2175                 value         "$nnrpd_dom_post_ok{$key}";
2176                 total         "total(%nnrpd_dom_post_ok)";
2177         };
2178         column {
2179                 name          "Rej";
2180                 format_name   "%4s";
2181                 format        "%4d";
2182                 value         "$nnrpd_dom_post_rej{$key} +
2183                                $nnrpd_dom_post_error{$key}";
2184                 total         "total(%nnrpd_dom_post_rej) +
2185                                total(%nnrpd_dom_post_error)";
2186         };
2187         column {
2188                 name          "Elapsed";
2189                 format        "%9s";
2190                 value         "time($nnrpd_dom_times{$key})";
2191                 total         "time(total(%nnrpd_dom_times))";
2192         };
2193 };
2194
2195 section nnrpd_auth {
2196         title   "NNRP auth users:";
2197         data    "%nnrpd_auth";
2198         top     20;
2199         sort    "$nnrpd_auth{$b} <=> $nnrpd_auth{$a}";
2200         column {
2201                 name          "User";
2202                 format        "%-71.71s";
2203                 value         "$key";
2204                 format_total  "TOTAL: %-64.64s";
2205                 total         "$num";
2206         };
2207         column {
2208                 name          "Conn";
2209                 format_name   "%7s";
2210                 format        "%7d";
2211                 value         "$nnrpd_auth{$key}";
2212                 total         "total(%nnrpd_auth)";
2213         };
2214 };
2215
2216 section nnrpd_resource {
2217         title   "NNRP total resource statistics:";
2218         data    "%nnrpd_resource_elapsed";
2219         top     20;
2220         sort    "$nnrpd_resource_elapsed{$b} <=> $nnrpd_resource_elapsed{$a}";
2221         column {
2222                 name          "System";
2223                 format        "%-40.40s";
2224                 format_total  "TOTAL: %-33.33s";
2225                 value         "$key";
2226                 total         "$num";
2227         };
2228         column {
2229                 name          "User(ms)";
2230                 format_name   "%9s";
2231                 format        "%9.3f";
2232                 value         "$nnrpd_resource_user{$key}";
2233                 total         "total(%nnrpd_resource_user)";
2234         };
2235         column {
2236                 name          "System(ms)";
2237                 format_name   "%9s";
2238                 format        "%9.3f";
2239                 value         "$nnrpd_resource_system{$key}";
2240                 total         "total(%nnrpd_resource_system)";
2241         };
2242         column {
2243                 name          "Idle(ms)";
2244                 format_name   "%9s";
2245                 format        "%9.3f";
2246                 value         "$nnrpd_resource_idle{$key}";
2247                 total         "total(%nnrpd_resource_idle)";
2248         };
2249         column {
2250                 name          "Elapsed";
2251                 format_name   "%8s";
2252                 format        "%9s";
2253                 value         "time($nnrpd_resource_elapsed{$key})";
2254                 total         "time(total(%nnrpd_resource_elapsed))";
2255         };
2256 };
2257
2258 section nnrpd_curious {
2259         title   "Curious NNRP server explorers:";
2260         data    "%nnrpd_curious";
2261         top     20;
2262         sort    "$nnrpd_curious{$b} <=> $nnrpd_curious{$a}";
2263         column {
2264                 name          "System";
2265                 format        "%-71.71s";
2266                 value         "$key";
2267                 format_total  "TOTAL: %-64.64s";
2268                 total         "$num";
2269         };
2270         column {
2271                 name          "Conn";
2272                 format_name   "%7s";
2273                 format        "%7d";
2274                 value         "$nnrpd_curious{$key}";
2275                 total         "total(%nnrpd_curious)";
2276         };
2277 };
2278
2279 section nnrpd_no_permission {
2280         title   "NNRP no permission clients:";
2281         data    "%nnrpd_no_permission";
2282         sort    "$nnrpd_no_permission{$b} <=> $nnrpd_no_permission{$a}";
2283         column {
2284                 name          "System";
2285                 format        "%-71.71s";
2286                 value         "$key";
2287                 format_total  "TOTAL: %-64.64s";
2288                 total         "$num";
2289         };
2290         column {
2291                 name          "Conn";
2292                 format_name   "%7s";
2293                 format        "%7d";
2294                 value         "$nnrpd_no_permission{$key}";
2295                 total         "total(%nnrpd_no_permission)";
2296         };
2297 };
2298
2299 section nnrpd_gethostbyaddr {
2300         title   "NNRP gethostbyaddr failures:";
2301         data    "%nnrpd_gethostbyaddr";
2302         top     20;
2303         sort    "$nnrpd_gethostbyaddr{$b} <=> $nnrpd_gethostbyaddr{$a}";
2304         column {
2305                 name          "System";
2306                 format        "%-71.71s";
2307                 value         "$key";
2308                 format_total  "TOTAL: %-64.64s";
2309                 total         "$num";
2310         };
2311         column {
2312                 name          "Conn";
2313                 format_name   "%7s";
2314                 format        "%7d";
2315                 value         "$nnrpd_gethostbyaddr{$key}";
2316                 total         "total(%nnrpd_gethostbyaddr)";
2317         };
2318 };
2319
2320 section nnrpd_unrecognized {
2321         title   "NNRP unrecognized commands (by host):";
2322         data    "%nnrpd_unrecognized";
2323         sort    "$nnrpd_unrecognized{$b} <=> $nnrpd_unrecognized{$a}";
2324         column {
2325                 name          "System";
2326                 format        "%-71.71s";
2327                 value         "$key";
2328                 format_total  "TOTAL: %-64.64s";
2329                 total         "$num";
2330         };
2331         column {
2332                 name          "Conn";
2333                 format_name   "%7s";
2334                 format        "%7d";
2335                 value         "$nnrpd_unrecognized{$key}";
2336                 total         "total(%nnrpd_unrecognized)";
2337         };
2338 };
2339
2340 section nnrpd_unrecognized2 {
2341         title   "NNRP unrecognized commands (by command):";
2342         data    "%nnrpd_unrecogn_cmd";
2343         sort    "$nnrpd_unrecogn_cmd{$b} <=> $nnrpd_unrecogn_cmd{$a}";
2344         column {
2345                 name          "Command";
2346                 format        "%-71.71s";
2347                 value         "$key";
2348                 format_total  "TOTAL: %-64.64s";
2349                 total         "$num";
2350         };
2351         column {
2352                 name          "Count";
2353                 format_name   "%7s";
2354                 format        "%7d";
2355                 value         "$nnrpd_unrecogn_cmd{$key}";
2356                 total         "total(%nnrpd_unrecogn_cmd)";
2357         };
2358 };
2359
2360 section nnrpd_timeout {
2361         title   "NNRP client timeouts:";
2362         data    "%nnrpd_timeout";
2363         top     20;
2364         sort    "$nnrpd_timeout{$b} <=> $nnrpd_timeout{$a}";
2365         column {
2366                 name          "System";
2367                 format        "%-67.67s";
2368                 value         "$key";
2369                 format_total  "TOTAL: %-60.60s";
2370                 total         "$num";
2371         };
2372         column {
2373                 name          "Conn";
2374                 format_name   "%5s";
2375                 format        "%5d";
2376                 value         "$nnrpd_timeout{$key}";
2377                 total         "total(%nnrpd_timeout)";
2378         };
2379         column {
2380                 name          "Peer";
2381                 format_name   "%5s";
2382                 format        "%5d";
2383                 value         "$nnrpd_reset_peer{$key}";
2384                 total         "total(%nnrpd_reset_peer)";
2385         };
2386 };
2387
2388 section nnrpd_hierarchy {
2389         title   "Newsgroup request counts (by category):";
2390         data    "%nnrpd_hierarchy";
2391         sort    "$nnrpd_hierarchy{$b} <=> $nnrpd_hierarchy{$a}";
2392         numbering true;
2393         column {
2394                 name          "Category";
2395                 format        "%-64.64s";
2396                 value         "$key";
2397                 format_total  "TOTAL: %-57.57s";
2398                 total         "$num";
2399         };
2400         column {
2401                 name          "Count";
2402                 format_name   "%7s";
2403                 format        "%7d";
2404                 value         "$nnrpd_hierarchy{$key}";
2405                 total         "total(%nnrpd_hierarchy)";
2406         };
2407         column {
2408                 name          "Pct";
2409                 format_name   "%6s";
2410                 format        "%5.1f%%";
2411                 value         "$nnrpd_hierarchy{$key} /
2412                                total(%nnrpd_hierarchy) * 100";
2413                 total         "100";
2414         };
2415         # graph : type piechart
2416 };
2417
2418 section nnrpd_group {
2419         title   "Newsgroup request counts (by newsgroup):";
2420         data    "%nnrpd_group";
2421         sort    "$nnrpd_group{$b} <=> $nnrpd_group{$a}";
2422         top     100;
2423         numbering true;
2424         column {
2425                 name          "Newsgroup";
2426                 format        "%-71.71s";
2427                 value         "$key";
2428                 format_total  "TOTAL: %-64.64s";
2429                 total         "$num";
2430         };
2431         column {
2432                 name          "Count";
2433                 format_name   "%7s";
2434                 format        "%7d";
2435                 value         "$nnrpd_group{$key}";
2436                 total         "total(%nnrpd_group)";
2437         };
2438 };
2439
2440 section ihave_site {
2441         title   "IHAVE messages offered from:";
2442         data    "%controlchan_ihave_site";
2443         sort    "$controlchan_ihave_site{$b} <=> $controlchan_ihave_site{$a}";
2444         column {
2445                 name            "System";
2446                 format          "%-71.71s";
2447                 value           "$key";
2448                 format_total    "TOTAL: %-64.64s";
2449                 total           "$num";
2450         };
2451         column {
2452                 name            "Offered";
2453                 format_name     "%7s";
2454                 format          "%7d";
2455                 value           "$controlchan_ihave_site{$key}";
2456                 total           "total(%controlchan_ihave_site)";
2457         };
2458 };
2459
2460 section sendme_site {
2461         title   "SENDME messages offered from:";
2462         data    "%controlchan_sendme_site";
2463         sort    "$controlchan_sendme_site{$b} <=>
2464                  $controlchan_sendme_site{$a}";
2465         column {
2466                 name            "System";
2467                 format          "%-71.71s";
2468                 value           "$key";
2469                 format_total    "TOTAL: %-64.64s";
2470                 total           "$num";
2471         };
2472         column {
2473                 name            "Offered";
2474                 format_name     "%7s";
2475                 format          "%7d";
2476                 value           "$controlchan_sendme_site{$key}";
2477                 total           "total(%controlchan_sendme_site)";
2478         };
2479 };