Patent ID: 8001297

Claim:
A computer-implemented method for buffering data, the computer-implemented method comprising: receiving events from an instrumentation system in response to monitoring of a process, a portion of the events being generated by the instrumentation system at times during the monitoring of the process at a rate below a maximum data consumption rate of a consumer and another portion of the events being generated by the instrumentation system at a rate above the maximum data consumption rate of the consumer; storing each of the events in a configurable buffer, wherein the buffer includes data fields set for controlling operation of the buffer, the data fields comprising: a maximum buffer size, a regular flush rate; an urgent flush rate, an urgent flush threshold and a maximum flush size; determining a dynamic delivery rate using: a desired data consumption rate of the consumer, the maximum data consumption rate of the consumer and a first flag relating to a number of events currently stored in the buffer; obtaining a set of events from the buffer; sending a single message comprising the set of events obtained from the buffer to a consumer at the dynamically determined delivery rate, wherein an amount of the events within the set of events to send within the single message is configurable.