IO request flow performance analysis system and method
A method, computer program product, and computing system for executing a plurality of IO traces on a storage system. At least one vertical flow and at least one horizontal flow associated with the at least one vertical flow may be defined for the plurality of IO traces. A hierarchical representation of the plurality of IO traces may be generated with the at least one vertical flow and the at least one horizontal flow associated with the at least one vertical flow defined for the plurality of IO traces.
1 . A computer-implemented method, executed on a computing device, comprising:
executing a plurality of IO traces on a storage system;
defining, for the plurality of IO traces, at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow; and
generating a hierarchical representation of the plurality of IO traces with the at least one vertical flow and the at least one horizontal flow associated with the at least one vertical flow defined for the plurality of IO traces.
2 . The computer-implemented method of claim 1 , wherein defining the at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow includes associating a unique parent IO request identifier and a unique instance identifier with a parent IO request.
3 . The computer-implemented method of claim 2 , wherein defining the at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow includes associating the unique parent IO identifier with at least one child IO request.
4 . The computer-implemented method of claim 3 , wherein defining the at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow includes associating at least one unique instance identifier with each child IO request based upon, at least in part, the unique instance identifier associated with the parent IO request.
5 . The computer-implemented method of claim 1 , further comprising:
defining an execution latency for the at least one horizontal flow associated with the at least one vertical flow.
6 . The computer-implemented method of claim 5 , further comprising:
defining an execution latency for the at least one vertical flow based upon, at least in part, the execution latency defined for the at least one horizontal flow associated with the at least one vertical flow.
7 . The computer-implemented method of claim 1 , wherein generating the hierarchical representation of the plurality of IO traces with the at least one vertical flow and the at least one horizontal flow associated with the at least one vertical flow defined for the plurality of IO traces includes reformatting a list including the plurality of IO traces from a sequential execution representation to a hierarchical execution representation.
8 . A computer program product residing on a non-transitory computer readable medium having a plurality of instructions stored thereon which, when executed by a processor, cause the processor to perform operations comprising:
executing a plurality of IO traces on a storage system;
defining, for the plurality of IO traces, at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow; and
generating a hierarchical representation of the plurality of IO traces with the at least one vertical flow and the at least one horizontal flow associated with the at least one vertical flow defined for the plurality of IO traces.
9 . The computer program product of claim 8 , wherein defining the at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow includes associating a unique parent IO request identifier and a unique instance identifier with a parent IO request.
10 . The computer program product of claim 9 , wherein defining the at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow includes associating the unique parent IO identifier with at least one child IO request.
11 . The computer program product of claim 10 , wherein defining the at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow includes associating at least one unique instance identifier with each child IO request based upon, at least in part, the unique instance identifier associated with the parent IO request.
12 . The computer program product of claim 8 , wherein the operations further comprise:
defining an execution latency for the at least one horizontal flow associated with the at least one vertical flow.
13 . The computer program product of claim 12 , wherein the operations further comprise:
defining an execution latency for the at least one vertical flow based upon, at least in part, the execution latency defined for the at least one horizontal flow associated with the at least one vertical flow.
14 . The computer program product of claim 8 , wherein generating the hierarchical representation of the plurality of IO traces with the at least one vertical flow and the at least one horizontal flow associated with the at least one vertical flow defined for the plurality of IO traces includes reformatting a list including the plurality of IO traces from a sequential execution representation to a hierarchical execution representation.
15 . A computing system comprising:
a memory; and
a processor configured to execute a plurality of IO traces on a storage system, wherein the processor is further configured to define, for the plurality of IO traces, at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow, and wherein the processor is further configured to generate a hierarchical representation of the plurality of IO traces with the at least one vertical flow and the at least one horizontal flow associated with the at least one vertical flow defined for the plurality of IO traces.
16 . The computing system of claim 15 , wherein defining the at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow includes associating a unique parent IO request identifier and a unique instance identifier with a parent IO request.
17 . The computing system of claim 16 , wherein defining the at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow includes associating the unique parent IO identifier with at least one child IO request.
18 . The computing system of claim 17 , wherein defining the at least one vertical flow and at least one horizontal flow associated with the at least one vertical flow includes associating at least one unique instance identifier with each child IO request based upon, at least in part, the unique instance identifier associated with the parent IO request.
19 . The computing system of claim 15 , wherein the processor is further configured to:
defining an execution latency for the at least one horizontal flow associated with the at least one vertical flow.
20 . The computing system of claim 19 , wherein the processor is further configured to:
defining an execution latency for the at least one vertical flow based upon, at least in part, the execution latency defined for the at least one horizontal flow associated with the at least one vertical flow.