Ignore:
Timestamp:
04/27/07 14:11:34 (15 years ago)
Author:
Shane Alcock <salcock@…>
Branches:
4.0.1-hotfixes, cachetimestamps, develop, dpdk-ndag, etsilive, getfragoff, help, libtrace4, master, ndag_format, pfring, rc-4.0.1, rc-4.0.2, rc-4.0.3, rc-4.0.4, ringdecrementfix, ringperformance, ringtimestampfixes
Children:
f3576f5
Parents:
e991529
Message:

tcpsegment, protocol and tos reports all now write to files.
Changed the output filenames to be *.rpt rather than *.out

File:
1 edited

Legend:

Unmodified
Added
Removed
  • tools/tracereport/tos_report.c

    rb5dc60d rbd4bec9  
    2525}
    2626
    27 void tos_suppress()
    28 {
    29         int i;
    30         printf("%-20s","Direction:");
    31         for(i=0;i<3;i++){
    32                 if(!suppress[i]){
    33                         switch(i){
    34                                 case 0:
    35                                         printf("\t%24s", "Outbound   ");
    36                                         break;
    37                                 case 1:
    38                                         printf("\t%24s", "Inbound   ");
    39                                         break;
    40                                 case 2:
    41                                         printf("\t%24s", "Undefined   ");
    42                                         break;
    43                                 default:
    44                                         break;
    45                         }
    46                 }
    47         }
    48         printf("\n");
    49         printf("%-20s","ToS");
    50         for(i=0;i<3;i++){
    51                 if(!suppress[i]){
    52                         printf("\t%12s\t%12s", "bytes","packets");
    53                 }
    54         }
    55         printf("\n");
    56 }
    5727
    5828void tos_report(void)
    5929{
    6030        int i,j;
    61         printf("# TOS breakdown:\n");
    62         tos_suppress();
     31        FILE *out = fopen("tos.rpt", "w");
     32        if (!out) {
     33                perror("fopen");
     34                return;
     35        }
     36       
     37        fprintf(out, "%-12s\t%10s\t%16s %16s\n",
     38                        "TOS",
     39                        "DIRECTION",
     40                        "BYTES",
     41                        "PACKETS");
     42       
     43       
    6344        for(i=0;i<256;++i) {
    6445                if (tos_stat[0][i].count==0 &&
    6546                        tos_stat[1][i].count==0 && tos_stat[2][i].count==0)
    6647                        continue;
    67                 printf("%20i:",i);
     48                fprintf(out, "%12i:",i);
    6849                for(j=0;j<3;j++){
    69                         if (tos_stat[j][i].count==0){
    70                                 if(!suppress[j])
    71                                         printf("\t%24s"," ");
    72                                 continue;
     50                        if (j != 0) {
     51                                fprintf(out, "%12s", " ");
    7352                        }
    74                         printf("\t%12" PRIu64 "\t%12" PRIu64,
     53                        switch(j) {
     54                                case 0:
     55                                        fprintf(out, "\t%10s", "Outbound");
     56                                        break;
     57                                case 1:
     58                                        fprintf(out, "\t%10s", "Inbound");
     59                                        break;
     60                                case 2:
     61                                        fprintf(out, "\t%10s", "Unknown");
     62                                        break;
     63                        }
     64                        fprintf(out, "\t%16llu %16llu\n",
    7565                                tos_stat[j][i].bytes,
    7666                                tos_stat[j][i].count);
    7767                }
    78                 printf("\n");
    7968        }
     69        fclose(out);
    8070}
Note: See TracChangeset for help on using the changeset viewer.