Patent ID: 8751757

Claim:
A method operable on a computing device for obtaining performance information relating to data storage, comprising: providing, in a software driver running within a kernel of the computing device, multiple data buckets for storing information pertaining to a metric relating to data storage, each data bucket covering a different range of values of the metric; monitoring I/O operations attempted between the computing device and at least one logical storage unit (LUN) to produce multiple values of the metric; assigning each value of the metric to one of the data buckets for the metric; counting the number of values of the metric assigned to each data bucket to produce multiple data bucket totals; and discarding the counted values of the metric, wherein each value of the metric is related to a respective I/O request, and wherein monitoring I/O operations attempted between the computing device and at least one logical storage unit to produce multiple values of the metric includes, for at least one of the multiple values: detecting an arrival to the software driver of an I/O request and associating a first timestamp therewith; detecting a passage of the I/O request from the software driver and recording a second timestamp associated therewith; detecting a return to the software driver of a returning I/O response and associating a third timestamp therewith; and computing a latency value based on any two of the first through third timestamps.