Add two counters: avg_pkt_size and max_pkt_size.

remotes/origin/master-1.0.x
Victor Julien 16 years ago
parent 1c3c13c7eb
commit 3cf7e2e94e

@ -180,7 +180,7 @@ int ReceivePcapThreadInit(ThreadVars *tv, void *initdata, void **data) {
printf("error %s\n", pcap_geterr(ptv->pcap_handle)); printf("error %s\n", pcap_geterr(ptv->pcap_handle));
exit(1); exit(1);
} }
/* set Snaplen, Promisc, and Timeout. Must be called before pcap_activate */ /* set Snaplen, Promisc, and Timeout. Must be called before pcap_activate */
int pcap_set_snaplen_r = pcap_set_snaplen(ptv->pcap_handle,LIBPCAP_SNAPLEN); int pcap_set_snaplen_r = pcap_set_snaplen(ptv->pcap_handle,LIBPCAP_SNAPLEN);
//printf("ReceivePcapThreadInit: pcap_set_snaplen(%p) returned %d\n", ptv->pcap_handle, pcap_set_snaplen_r); //printf("ReceivePcapThreadInit: pcap_set_snaplen(%p) returned %d\n", ptv->pcap_handle, pcap_set_snaplen_r);
@ -202,7 +202,7 @@ int ReceivePcapThreadInit(ThreadVars *tv, void *initdata, void **data) {
printf("ReceivePcapThreadInit: error is %s\n", pcap_geterr(ptv->pcap_handle)); printf("ReceivePcapThreadInit: error is %s\n", pcap_geterr(ptv->pcap_handle));
exit(1); exit(1);
} }
/* activate the handle */ /* activate the handle */
int pcap_activate_r = pcap_activate(ptv->pcap_handle); int pcap_activate_r = pcap_activate(ptv->pcap_handle);
//printf("ReceivePcapThreadInit: pcap_activate(%p) returned %d\n", ptv->pcap_handle, pcap_activate_r); //printf("ReceivePcapThreadInit: pcap_activate(%p) returned %d\n", ptv->pcap_handle, pcap_activate_r);
@ -287,6 +287,8 @@ int DecodePcap(ThreadVars *t, Packet *p, void *data, PacketQueue *pq)
{ {
PerfCounterIncr(COUNTER_DECODER_PKTS, t->pca); PerfCounterIncr(COUNTER_DECODER_PKTS, t->pca);
PerfCounterAddUI64(COUNTER_DECODER_BYTES, t->pca, p->pktlen); PerfCounterAddUI64(COUNTER_DECODER_BYTES, t->pca, p->pktlen);
PerfCounterAddUI64(COUNTER_DECODER_AVG_PKT_SIZE, t->pca, p->pktlen);
PerfCounterSetUI64(COUNTER_DECODER_MAX_PKT_SIZE, t->pca, p->pktlen);
/* call the decoder */ /* call the decoder */
switch(p->pcap_v.datalink) { switch(p->pcap_v.datalink) {
@ -331,6 +333,10 @@ int DecodePcapThreadInit(ThreadVars *tv, void *initdata, void **data)
&tv->pctx, TYPE_Q_NONE, 1); &tv->pctx, TYPE_Q_NONE, 1);
PerfRegisterCounter("decoder.ppp", "DecodePcap", TYPE_UINT64, "NULL", PerfRegisterCounter("decoder.ppp", "DecodePcap", TYPE_UINT64, "NULL",
&tv->pctx, TYPE_Q_NONE, 1); &tv->pctx, TYPE_Q_NONE, 1);
PerfRegisterCounter("decoder.avg_pkt_size", "DecodePcap", TYPE_UINT64, "NULL",
&tv->pctx, TYPE_Q_AVERAGE, 1);
PerfRegisterCounter("decoder.max_pkt_size", "DecodePcap", TYPE_UINT64, "NULL",
&tv->pctx, TYPE_Q_MAXIMUM, 1);
tv->pca = PerfGetAllCountersArray(&tv->pctx); tv->pca = PerfGetAllCountersArray(&tv->pctx);

@ -23,6 +23,8 @@ void TmModuleDecodePcapRegister (void);
#define COUNTER_DECODER_ICMPV4 9 #define COUNTER_DECODER_ICMPV4 9
#define COUNTER_DECODER_ICMPV6 10 #define COUNTER_DECODER_ICMPV6 10
#define COUNTER_DECODER_PPP 11 #define COUNTER_DECODER_PPP 11
#define COUNTER_DECODER_AVG_PKT_SIZE 12
#define COUNTER_DECODER_MAX_PKT_SIZE 13
/* per packet Pcap vars */ /* per packet Pcap vars */
typedef struct PcapPacketVars_ typedef struct PcapPacketVars_

Loading…
Cancel
Save