Annotation of 43BSD/contrib/notes/src/nfstats.c, revision 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.