Annotation of 43BSD/contrib/notes/src/nfstats.c, revision 1.1.1.1

1.1       root        1: #define        MAINLINE
                      2: 
                      3: #ifdef RCSIDENT
                      4: static char rcsid[] = "$Header: nfstats.c,v 1.7 85/01/18 15:31:24 notes Rel $";
                      5: #endif RCSIDENT
                      6: 
                      7: /*
                      8:  *     stats - print out the statistics for some notefiles.
                      9:  *     Takes a list of notefiles, and prints the statistics that are
                     10:  *     kept about that notefile.
                     11:  *     A total summary is also presented.
                     12:  *
                     13:  *     Original coding:        Ray Essick      December 29, 1981
                     14:  *     Modified for wildcards: Ray Essick      April 8, 1982
                     15:  */
                     16: #include "parms.h"
                     17: #include "structs.h"
                     18: 
                     19: struct when_f   ztime;
                     20: char    fmtd[DATELEN];                                 /* for time of report stuff */
                     21: int     statsdone;
                     22: int     summary;                                       /* summary only flag */
                     23: long    gnotwrit,
                     24:         grspwrit,
                     25:         gnotread,
                     26:         grspread,
                     27:         gnotxmit,
                     28:         grspxmit,
                     29:         gnotdrop,
                     30:         grspdrop,
                     31:         gorphans,
                     32:         gadopted,
                     33:         netwrkouts,
                     34:         netwrkins,
                     35:         gnotrcvd,
                     36:         grsprcvd,
                     37:         totaltime,
                     38:         entries;
                     39:                                                        /* global summaries */
                     40: 
                     41: statone (nfname)
                     42: char   *nfname;
                     43: {
                     44: 
                     45:     struct io_f io;
                     46:     if (init (&io, nfname) < 0)
                     47:        return;
                     48: 
                     49: 
                     50:     gnotwrit += io.descr.d_notwrit;                    /* add in global stats */
                     51:     grspwrit += io.descr.d_rspwrit;
                     52:     gnotread += io.descr.d_notread;
                     53:     grspread += io.descr.d_rspread;
                     54:     gnotxmit += io.descr.d_notxmit;
                     55:     grspxmit += io.descr.d_rspxmit;
                     56:     gnotrcvd += io.descr.d_notrcvd;
                     57:     grsprcvd += io.descr.d_rsprcvd;
                     58:     gnotdrop += io.descr.d_notdrop;
                     59:     grspdrop += io.descr.d_rspdrop;
                     60:     gorphans += io.descr.d_orphans;
                     61:     gadopted += io.descr.d_adopted;
                     62:     netwrkouts += io.descr.netwrkouts;
                     63:     netwrkins += io.descr.netwrkins;
                     64:     totaltime += io.descr.walltime;
                     65:     entries += io.descr.entries;
                     66:     gettime (&ztime);
                     67:     sprdate (&ztime, fmtd);                            /* get time now */
                     68: 
                     69:     if (summary == 0)
                     70:     {
                     71:        if (statsdone++ != 0)
                     72:            printf ("\n");
                     73:        printf ("             %s on %s at %s\n", nfname, io.descr.d_id.sys, fmtd);
                     74:        printf ("                \tNOTES\tRESPS\tTOTALS\n");
                     75:        printf ("Local Reads     \t%ld\t%ld\t%ld\n", io.descr.d_notread,
                     76:                io.descr.d_rspread, io.descr.d_notread + io.descr.d_rspread);
                     77:        printf ("Local Written   \t%ld\t%ld\t%ld\n",
                     78:                io.descr.d_notwrit - io.descr.d_notrcvd,
                     79:                io.descr.d_rspwrit - io.descr.d_rsprcvd,
                     80:                io.descr.d_notwrit + io.descr.d_rspwrit - io.descr.d_notrcvd - io.descr.d_rsprcvd);
                     81:        printf ("Networked in    \t%ld\t%ld\t%ld\n", io.descr.d_notrcvd, io.descr.d_rsprcvd,
                     82:                io.descr.d_notrcvd + io.descr.d_rsprcvd);
                     83:        printf ("Networked out   \t%ld\t%ld\t%ld\n", io.descr.d_notxmit, io.descr.d_rspxmit,
                     84:                io.descr.d_notxmit + io.descr.d_rspxmit);
                     85:        printf ("Network Dropped \t%ld\t%ld\t%ld\n", io.descr.d_notdrop, io.descr.d_rspdrop,
                     86:                io.descr.d_notdrop + io.descr.d_rspdrop);
                     87:        printf ("Network Transmissions: %ld   Network Receptions: %ld\n",
                     88:                io.descr.netwrkouts, io.descr.netwrkins);
                     89:        printf ("Orphaned Responses Received: %ld    Orphans Adopted: %ld\n",
                     90:                io.descr.d_orphans, io.descr.d_adopted);
                     91:        printf ("Entries into notesfile: %ld    Total time in notefile: %8.2f minutes\n",
                     92:                io.descr.entries, ((float) io.descr.walltime / 60.0));
                     93:        if (io.descr.entries)
                     94:            printf ("Average Time/entry: %6.2f minutes\n",
                     95:                    ((float) io.descr.walltime / 60.0 / (float) io.descr.entries));
                     96:        sprdate (&io.descr.d_created, fmtd);
                     97:        printf ("Created at %s, Used on %ld days\n", fmtd, io.descr.d_daysused);
                     98:     }
                     99: 
                    100:     closenf (&io);                                     /* close this notefile */
                    101: }
                    102: 
                    103: 
                    104: main (argc, argv)
                    105: char  **argv;
                    106: {
                    107:     int     i;
                    108:     struct nflist_f *nfptr;
                    109: 
                    110:     startup (argc, argv);                              /* common initialization */
                    111: 
                    112:     if (argc == 1)
                    113:     {
                    114:        printf ("Usage: %s [-s] notefile ...\n", argv[0]);
                    115:        exit (BAD);
                    116:     }
                    117: 
                    118:     gnotwrit = grspwrit = gnotread = grspread = 0;
                    119:     gnotxmit = grspxmit = gnotrcvd = grsprcvd = 0;
                    120:     gnotdrop = grspdrop = gorphans = gadopted = 0;
                    121:     netwrkouts = netwrkins = 0;
                    122:     totaltime = entries = 0;
                    123:     statsdone = 0;                                     /* number of notesfiles reported */
                    124:     summary = 0;                                       /* summary only flag */
                    125: 
                    126:     for (i = 1; i < argc; i++)
                    127:     {
                    128:        if (argv[i][0] == '-')
                    129:            switch (argv[i][1])
                    130:            {
                    131:                case 's':                               /* summary only */
                    132:                    summary = 1;
                    133:                    continue;
                    134: 
                    135:                default: 
                    136:                    printf ("Bad switch `%c'\n", argv[i][1]);
                    137:                    exit (BAD);
                    138:            }
                    139:        expand (argv[i]);                               /* load it */
                    140:     }
                    141: 
                    142:     while ((nfptr = nextgroup ()) != (struct nflist_f *) NULL)
                    143:        statone (nfptr -> nf_name);                     /* print those stats */
                    144: 
                    145:     if ((statsdone > 1) || (summary == 1))
                    146:     {
                    147:        printf ("\n            Totals for all above notefiles\n");
                    148:        printf ("                \tNOTES\tRESPS\tTOTALS\n");
                    149:        printf ("Local Read      \t%ld\t%ld\t%ld\n", gnotread,
                    150:                grspread, gnotread + grspread);
                    151:        printf ("Local Written   \t%ld\t%ld\t%ld\n", gnotwrit - gnotrcvd,
                    152:                grspwrit - grsprcvd, gnotwrit + grspwrit - gnotrcvd - grsprcvd);
                    153:        printf ("Networked in    \t%ld\t%ld\t%ld\n", gnotrcvd, grsprcvd,
                    154:                gnotrcvd + grsprcvd);
                    155:        printf ("Networked out   \t%ld\t%ld\t%ld\n", gnotxmit, grspxmit,
                    156:                gnotxmit + grspxmit);
                    157:        printf ("Network Dropped \t%ld\t%ld\t%ld\n", gnotdrop, grspdrop,
                    158:                gnotdrop + grspdrop);
                    159:        printf ("Network Transmissions: %ld   Network Receptions: %ld\n",
                    160:                netwrkouts, netwrkins);
                    161:        printf ("Orphaned Responses Received: %ld    Orphans Adopted: %ld\n",
                    162:                gorphans, gadopted);
                    163:        printf ("Entries into notefile: %ld     Total time in notefile: %8.2f minutes\n",
                    164:                entries, ((float) totaltime / 60.0));
                    165:        if (entries)
                    166:            printf ("Average Time/entry: %6.2f minutes\n",
                    167:                    ((float) totaltime / 60.0 / (float) entries));
                    168: 
                    169:     }
                    170:     exit (GOOD);
                    171: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.