Adding CPU cycle-counting code in magnet_add() allows us to determine the amount of time taken to save events to the buffer. In a similar manner (by instrumenting the relevant areas of magnet-read), we can determine the average time taken to events from the buffer to disk. The sum of these values is the amount of time taken by MAGNeT to record events.
Our tests indicate magnet_add() uses 556 cycles per 1500-byte packet
while magnet-read uses 425 cycles. So, on our
400-MHz machines, MAGNeT takes
to record each packet. On a 100-Mbps Ethernet, a minimal TCP packet
(that is, a packet of 40 bytes) will take at least
to transfer.
This comparison suggests MAGNeT-induced disturbances into TCP traffic
streams should be quite small. 7