Changeset 9d3c721


Ignore:
Timestamp:
11/28/07 23:10:17 (13 years ago)
Author:
Perry Lorier <perry@…>
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:
adbbfcb
Parents:
f2fae49
Message:

Deal with global libtrace packet counts

Location:
lib
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • lib/libtrace_int.h

    rf2fae49 r9d3c721  
    141141        uint64_t accepted_packets;      /**< Number of packets returned to the
    142142                                          * user
     143                                          */
     144        uint64_t filtered_packets;      /**< Number of packets filtered by
     145                                          * libtrace
    143146                                          */
    144147        char *uridata;                  /**< the uri of this trace */
  • lib/trace.c

    rf2fae49 r9d3c721  
    744744                                 */
    745745                                if (!trace_apply_filter(libtrace->filter,packet)){
     746                                        ++libtrace->filtered_packets;
    746747                                        continue;
    747748                                }
     
    752753                                                libtrace->snaplen);
    753754                        }
     755                        ++libtrace->accepted_packets;
    754756                        return ret;
    755757                } while(1);
     
    987989
    988990        if (packet->trace->format->trace_event) {
    989                 return packet->trace->format->trace_event(trace,packet);
    990         } else {
    991                 return event;
    992         }
     991                event=packet->trace->format->trace_event(trace,packet);
     992                if (event.type == TRACE_EVENT_PACKET) {
     993                        ++trace->accepted_packets;
     994                }
     995        }
     996        return event;
    993997
    994998}
     
    16041608        assert(trace);
    16051609        if (trace->format->get_filtered_packets) {
    1606                 return trace->format->get_filtered_packets(trace);
     1610                return trace->format->get_filtered_packets(trace)+
     1611                        trace->filtered_packets;
    16071612        }
    16081613        if (trace->format->get_received_packets
    16091614                && trace->format->get_dropped_packets) {
    16101615                return
    1611                         trace_get_received_packets(trace)
    1612                         -trace_get_accepted_packets(trace)
    1613                         -trace_get_dropped_packets(trace);
    1614         }
    1615         return (uint64_t)-1;
     1616                        ((trace_get_received_packets(trace)
     1617                        -trace_get_accepted_packets(trace))
     1618                        -trace_get_dropped_packets(trace))
     1619                        +trace->filtered_packets;
     1620        }
     1621        return trace->filtered_packets;
    16161622}
    16171623
Note: See TracChangeset for help on using the changeset viewer.