IP Library › Granted Patent US 9,990,265
Granted Patent B2
US 9,990,265 · App. 14/688,040 · Granted Jun 5, 2018

Diagnosing causes of performance issues of virtual machines

Inventors: Alok A. Bhide (Mountain View, CA); Poorva Malviya (Emeryville, CA); Leonid V. Alekseyev (San Francisco, CA)
Assignee: SPLUNK INC.
G06F11/328G06F3/048G06F3/0653G06F9/45533G06F9/45558G06F9/5016G06F11/34G06F2009/4557G06F2009/45579
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,990,265
App. No.
14/688,040
Filed
Apr 16, 2015
Granted
Jun 5, 2018
Kind
B2
Art Unit
2196
USPC
718/1
Abstract

Virtual machine data records are obtained from a virtual system manager that manages one or more virtual machines. Storage data records are obtained from a storage controller. The virtual machine data records include one or more particular virtual machine data records relating to a particular virtual machine and identify a particular volume that is configured for use by the particular virtual machine. The storage data records including one or more particular storage data records that specify performance information associated with the particular volume. Based on information in the particular virtual machine data records and information in the particular storage data records, it is determined that the particular storage data records are related to the particular volume used by the particular virtual machine. Graphical user interface(s) displaying virtual machine information relating to the particular virtual machine in association with volume performance information relating to the particular volume are displayed.

Claims (48)

1. A method, comprising:

at one or more data management computers:

obtaining, from a virtual system manager that manages one or more virtual machines, both (a) particular virtual machine data that relates to a particular virtual machine, and (b) an indication that the particular virtual machine uses a particular volume of data storage that contains data of the particular virtual machine and is managed by a storage controller that manages one or more storage units and that is separate from the virtual system manager;

obtaining, from the storage controller, both (a) particular storage data that relates to the particular volume, and (b) an indication that the particular storage data relates to the particular volume;

correlating the particular storage data to the particular virtual machine data based on both the indication that the particular virtual machine uses the particular volume and the indication that the particular storage data relates to the particular volume;

determining performance information related to the particular volume that is based at least in part on an outcome of the correlating, the performance information including an indication that the particular volume that contains data of the particular virtual machine is a cause of a performance issue of the particular virtual machine based on information indicating a latency associated with the particular volume or a rate associated with the storage controller; and

reconfiguring the particular virtual machine to use a volume of data storage other than the particular volume that is the cause of the performance issue of the particular virtual machine.

2. The method of claim 1 , wherein the performance information includes information for use in generating a visualization of performance of the particular volume.

3. The method of claim 1 , wherein the performance information includes information for use in generating a graph of a metric related to performance of the particular volume over time.

4. The method of claim 1 , wherein the performance information includes a latency rate for a storage controller that manages the particular volume.

5. The method of claim 1 , wherein the performance information includes information indicating an average latency of write operations for data stored by the particular volume.

6. The method of claim 1 , wherein the performance information includes information indicating an average latency of read operations for data stored by the particular volume.

7. The method of claim 1 , wherein the performance information includes information indicating an average number of input/output operations performed per second (IOPS) by the storage controller.

8. The method of claim 1 , wherein the performance information includes an amount of space available in the particular volume.

9. The method of claim 1 , wherein the performance information includes a percentage of the particular volume that is overprovisioned.

10. The method of claim 1 , further comprising causing display, concurrently with a display of the performance information, of an amount of space provisioned in the particular volume for virtual machines.

11. The method of claim 1 , further comprising causing display, concurrently with a display of the performance information, of a path of the particular volume.

12. The method of claim 1 , further comprising causing display, concurrently with a display of the performance information, of a URL of the particular volume.

13. The method of claim 1 , further comprising causing display, concurrently with a display of the performance information, of a number of virtual machines that use the particular volume.

14. The method of claim 1 , further comprising causing display, concurrently with a display of the performance information, of names of one or more virtual machines that use the particular volume.

15. The method of claim 1 , further comprising causing display, concurrently with a display of the performance information, of a name of a physical host of the particular virtual machine.

16. The method of claim 1 , further comprising causing display, concurrently with a display of the performance information, of a name of the particular virtual machine.

17. The method of claim 1 , further comprising causing display, concurrently with a display of the performance information, of an amount of space in the particular volume committed to the particular virtual machine.

18. The method of claim 1 , further comprising causing display, concurrently with a display of the performance information, of an amount of uncommitted space in the particular volume for the particular virtual machine.

19. The method of claim 1 , further comprising causing display, concurrently with a display of the performance information, of, an amount of space in the particular volume provisioned for the particular virtual machine.

20. The method of claim 1 , wherein the particular volume is referenced by a volume name or an Internet Protocol (IP) address.

21. The method of claim 1 , wherein the virtual system manager stores the particular virtual machine data in a data store separate from a data store in which the storage controller stores the particular storage data.

22. The method of claim 1 , further comprising modifying the obtained particular storage data to conform to a particular format and storing the particular storage data in the particular format.

23. The method of claim 1 further comprising:

changing the state of a performance metric of the particular volume that is the cause of the performance issue of the particular virtual machine.

24. An apparatus comprising:

a subsystem, implemented at least partially in hardware, that obtains, from a virtual system manager that manages one or more virtual machines, both (a) particular virtual machine data that relates to a particular virtual machine, and (b) an indication that the particular virtual machine uses a particular volume of data storage that contains data of the particular virtual machine and is managed by a storage controller that manages one or more storage units and that is separate from the virtual system manager;

a subsystem, implemented at least partially in hardware, that obtains, from the storage controller, both (a) particular storage data that relates to the particular volume, and (b) an indication that the particular storage data relates to the particular volume;

a subsystem, implemented at least partially in hardware, that correlates the particular storage data to the particular virtual machine data based on both the indication that the particular virtual machine uses the particular volume and the indication that the particular storage data relates to the particular volume;

a subsystem, implemented at least partially in hardware, that determines performance information related to the particular volume that is based at least in part on an outcome of the correlating, the performance information including an indication that the particular volume that contains data of the particular virtual machine is a cause of a performance issue of the particular virtual machine based on information indicating a latency associated with the particular volume or a rate associated with the storage controller; and

a subsystem, implemented at least partially in hardware, that reconfigures the particular virtual machine to use a volume of data storage other than the particular volume that is the cause of the performance issue of the particular virtual machine.

25. The apparatus of claim 24 , wherein the performance information includes information for use in generating a visualization of performance of the particular volume.

26. The apparatus of claim 24 , wherein the performance information includes information for use in generating a graph of a metric related to performance of the particular volume over time.

27. The apparatus of claim 24 , wherein the performance information includes a latency rate for a storage controller that manages the particular volume.

28. One or more non-transitory storage media storing instructions which, when executed by one or more computing devices, cause:

obtaining, from a virtual system manager that manages one or more virtual machines, both (a) particular virtual machine data that relates to a particular virtual machine, and (b) an indication that the particular virtual machine uses a particular volume of data storage that contains data of the particular virtual machine and is managed by a storage controller that manages one or more storage units and that is separate from the virtual system manager;

obtaining, from the storage controller, both (a) particular storage data that relates to the particular volume, and (b) an indication that the particular storage data relates to the particular volume;

correlating the particular storage data to the particular virtual machine data based on both the indication that the particular virtual machine uses the particular volume and the indication that the particular storage data relates to the particular volume;

determining performance information related to the particular volume that is based at least in part on an outcome of the correlating, the performance information including an indication that the particular volume that contains data of the particular virtual machine is a cause of a performance issue of the particular virtual machine based on information indicating a latency associated with the particular volume or a rate associated with the storage controller; and

reconfiguring the particular virtual machine to use a volume of data storage other than the particular volume that is the cause of the performance issue of the particular virtual machine.

29. The one or more non-transitory storage media of claim 28 , wherein the performance information includes information for use in generating a visualization of performance of the particular volume.

30. The one or more non-transitory storage media of claim 28 , wherein the performance information includes information for use in generating a graph of a metric related to performance of the particular volume over time.

31. The one or more non-transitory storage media of claim 28 , wherein the performance information includes a latency rate for a storage controller that manages the particular volume.

Assignments (3)
CHANGE OF NAME Recorded Jul 22, 2025
From: SPLUNK INC.
To: SPLUNK LLC
Reel/Frame 072170/0599 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 22, 2025
From: SPLUNK LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 072173/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: BHIDE, ALOK A.; MALVIYA, POORVA; ALEKSEYEV, LEONID V.
To: SPLUNK INC.
Reel/Frame 044910/0813 →
Continuity (2)
Continuation 14253795 · Apr 15, 2014
Related Publication 20150293830A1 · Oct 15, 2015