Just as in the logging system, a well-designed data collection system usually interposes a data collector queue between the source of the data collection events and the logger or other data listener that acts on the event. A DataCollectorQueue (atg.service.datacollection.DataCollectorQueue) is a subclass of EventQueue that buffers calls to data listeners (see the Queues section of the Core ATG Services chapter). Using a queue allows a high-throughput process, such as HTTP request handling, to be decoupled from the slower logging processes, such as writing to files or database tables. A DataCollectorQueue is a data listener that passes data collection events on to other data listeners. The dataListeners property of a DataCollectorQueue specifies the data listeners where data collection events are to be sent after being run through the queue.