Changeset 4389bd1 for examples/capture


Ignore:
Timestamp:
11/05/04 16:58:44 (16 years ago)
Author:
Daniel Lawson <dlawson@…>
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:
533d7c1
Parents:
a6d38b6
Message:

changes in the 'capture' program

Location:
examples/capture
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • examples/capture/Makefile

    ra6d38b6 r4389bd1  
    77CFLAGS += $(INCLUDE)
    88libdir = -L$(PREFIX)/lib
    9 LDLIBS = $(libdir) -ltrace
     9LDLIBS = $(libdir) -ltrace -lzl
    1010
    11 BINS = capture
     11BINS = capture capture-gzip
    1212.PHONY: all clean distclean install depend
    1313
  • examples/capture/capture.c

    ra6d38b6 r4389bd1  
    4040#include <sys/time.h>
    4141#include <stdint.h>
     42#include "zlib.h"
    4243#include "libtrace.h"
    4344#include "dagformat.h"
     
    6667}
    6768
     69#define BUFSIZE 65536
     70
     71
    6872void secondreport() {
    6973
     
    7175
    7276        if (hdrcount >= 10) {
    73                 printf("Byte count:     Packet count:           Loss count\n");
     77                fprintf(stderr,"Byte count:     Packet count:           Loss count\n");
    7478                hdrcount = 0;
    7579        }
    7680        hdrcount++;
    77         printf("\t\t%d\t\t%d\t\t%d \n",
     81        fprintf(stderr,"\t\t%d\t\t%d\t\t%d \n",
    7882                        counter[BYTES],
    7983                        counter[PACKETS],
     
    8892        char *uri = 0;
    8993        char *filename = 0;
    90         FILE *fout = 0;
     94        gzFile *fout = 0;
    9195        int psize = 0;
     96        int offset = 0;
    9297        struct sigaction sigact;
    9398        dag_record_t *erfptr = 0;
     
    95100
    96101        struct itimerval itv;
     102        void *buffer, *buffer2;
     103
     104
     105        buffer = malloc(BUFSIZE);
     106        buffer2 = buffer;
    97107
    98108        /*
     
    122132                uri = strdup(argv[1]);
    123133                filename = strdup(argv[2]);
    124                 fout = fopen(filename,"w");
     134                fout = gzopen(filename,"ab");
    125135        }
    126136       
     
    148158                }
    149159               
    150                 if (filename)
    151                         fwrite(erfptr,psize,1,fout);
     160                if (filename) {
     161                        if (offset + psize > BUFSIZE) {
     162                                //gzwrite(fout,erfptr,psize);
     163                                fprintf(stderr,"writing to disk\n");
     164                                gzwrite(fout,buffer,offset);
     165                                offset = 0;
     166                        }
     167                       
     168                        memcpy(buffer + offset,erfptr,psize);
     169                        offset += psize;
     170
     171
     172                }
    152173
    153174
     
    155176
    156177        trace_destroy(trace);
    157         fclose(fout);
     178        gzclose(fout);
    158179        return 0;
    159180}
Note: See TracChangeset for help on using the changeset viewer.