A computer-implemented method for analyzing network traffic, comprising the steps of: observing network data packets associated with a network data stream using a first process; performing operations on the data packets using a first thread of execution of the first process running a plurality of execution threads, comprising: routing the data packets to a plurality of first shared memories (204 - 204(n)) based on predetermined routing rules, removing the data packets stored in the plurality of first shared memories using additional threads (205 - 205(n)) from among the plurality of threads, each thread from among the plurality of threads dedicated to one of the plurality of first shared memories, and storing the data packets to a plurality of second shared memories (206 - 206(n)) using the dedicated threads; computing statistics associated with the data packets stored in the plurality of second shared memories; and characterized by placing the computed statistics into a data pipeline, wherein the data pipeline stores the computed statistics according to time intervals; wherein the data pipeline comprises hierarchical levels of data structures associated with time intervals, the data structures of time intervals above the lowest-level comprising a predetermined number of data structures for the next-lower time interval. observing network data packets associated with a network data stream using a first process; performing operations on the data packets using a first thread of execution of the first process running a plurality of execution threads, comprising: routing the data packets to a plurality of first shared memories (204 - 204(n)) based on predetermined routing rules, removing the data packets stored in the plurality of first shared memories using additional threads (205 - 205(n)) from among the plurality of threads, each thread from among the plurality of threads dedicated to one of the plurality of first shared memories, and storing the data packets to a plurality of second shared memories (206 - 206(n)) using the dedicated threads; computing statistics associated with the data packets stored in the plurality of second shared memories; and characterized by placing the computed statistics into a data pipeline, wherein the data pipeline stores the computed statistics according to time intervals; wherein the data pipeline comprises hierarchical levels of data structures associated with time intervals, the data structures of time intervals above the lowest-level comprising a predetermined number of data structures for the next-lower time interval. routing the data packets to a plurality of first shared memories (204 - 204(n)) based on predetermined routing rules, removing the data packets stored in the plurality of first shared memories using additional threads (205 - 205(n)) from among the plurality of threads, each thread from among the plurality of threads dedicated to one of the plurality of first shared memories, and storing the data packets to a plurality of second shared memories (206 - 206(n)) using the dedicated threads; computing statistics associated with the data packets stored in the plurality of second shared memories; and characterized by placing the computed statistics into a data pipeline, wherein the data pipeline stores the computed statistics according to time intervals; wherein the data pipeline comprises hierarchical levels of data structures associated with time intervals, the data structures of time intervals above the lowest-level comprising a predetermined number of data structures for the next-lower time interval.