Patent ID: 8656407

Claim:
A computer-implemented method for input/output (I/O) profiling, the method comprising the following steps performed by one or more processors: executing a virtual machine configured to execute a plurality of applications running on the virtual machine, the plurality of applications configured to perform a plurality of I/O operations; performing a first I/O operation by one of the plurality of applications running on the virtual machine, wherein the first I/O operation comprises opening a file or opening a network connection; storing, by the one or more processors, meta information for the first I/O operation in an I/O information holder for the virtual machine, wherein storing the meta information comprises storing the meta information at a position in an array of the I/O information holder based on a descriptor for the opened file or opened network connection; the one or more processors receiving a request to begin an I/O profiling session on the application that performed the first I/O operation after storing the meta information; and reporting, by the one or more processors, an I/O event record for a second I/O operation performed by the application that performed the first I/O operation using the meta information stored for the first I/O operation, wherein the second I/O operation is performed after beginning the I/O profiling session on the application that performed the first I/O operation, wherein the second I/O operation comprises using the file or network connection opened by the first I/O operation.