1. A method of providing network traffic flow data for a plurality of computing nodes communicating over a network, each of the computing nodes comprising a plurality of virtual machines, the method comprising: receiving information for monitoring a subset of the computing nodes; during a predetermined time interval: receiving data packets being sent over the network; examining the data packets to determine if the data packets are network traffic flow data packets entering or exiting one of the subset of computing nodes; storing data packets that are determined to be network traffic flow data packets entering or exiting the one computing node of the subset; after a predetermined time period, moving the stored data packets to a data store; sending a notification to one or more queues when the stored data packets are moved to the data store; repeating said receiving data packets, examining, and storing for subsequent predetermined time periods; retrieving the notifications from the one or more queues and accessing the data packets in the data store in accordance with the notifications; processing the retrieved data packets to identify network traffic flow data that is to be provided to a programmatic interface; and sending notifications to the one or more queues for stored data packets for which said processing was not completed.