IP Library Granted Patent US 10,838,841
Granted Patent B2
US 10,838,841 · App. 16/044,518 · Granted Nov 17, 2020

Grouping log pieces of different context within a log file in virtualization system

Inventors: Yao Zhang (Beijing, CN); Olivier Alain Cremel (Palo Alto, CA); Ming Chen (Beijing, CN); Chunyan Ji (Beijing, CN); Jingtao Zhang (Beijing, CN); Hua Chen (Palo Alto, CA)
Assignee: VMWARE, INC.
G06F11/3476G06F9/45558G06K9/6223G06N20/00G06F2009/45591
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 10,838,841
App. No.
16/044,518
Granted
Nov 17, 2020
Kind
B2
Abstract

A method for log analysis includes receiving log outputs from an application and generating a log file by recording the log outputs in the log file and, for each log output in the log file, attaching a log context record to the log output. The log context record is encoded with a call stack having stack frames and one or more variables in the stack frames. The method further includes grouping the log outputs in the log file based on their log context records.

Claims (45)

1. A method for log analysis in a computing system, comprising:

receiving log outputs from an application;

generating a log file, comprising:

recording the log outputs in the log file; and

for each log output in the log file, attaching a log context record to the log output, wherein the log context record is encoded with a call stack comprising stack frames and one or more variables in the stack frames; and

grouping the log outputs in the log file based on the log context record attached to each log output.

2. The method of claim 1 , further comprising retrieving the call stack from a hypervisor.

3. The method of claim 1 , further comprising retrieving the call stack from a guest operating system in a virtual machine.

4. The method of claim 1 , wherein grouping the log outputs in the log file comprises:

determining a distance between every pair of log context records of the log outputs in the log file; and

grouping the log outputs based on distances of their log context records.

5. The method of claim 4 , wherein grouping the log outputs based on the distances of their log context record comprises using machine learning clustering.

6. The method of claim 4 , wherein determining the distance between a pair of log context records comprises:

for corresponding pairs of stack frames from the pair of log context records, calculating numbers of different variables in the stack frames; and

calculating a weighted sum of the numbers of different variables as the distance.

7. The method of claim 6 , wherein determining the distance between a pair of log context records further comprises:

filling any call stack with less than a greatest number of stack frames among the call stacks with a number of empty frames so all the call stacks have a same number of stack frames.

8. The method of claim 1 , further comprising determining a common thread, session, or transaction for each group of log outputs.

9. The method of claim 8 , further comprising determining a cause of an error in the computing system based on the grouping of the log outputs and correcting the error in the computing system.

10. A non-transitory, computer-readable storage medium encoded with instructions executable by a processor to implement the method of claim 1 .

11. A computer system, comprising:

a processor; and

a non-transitory, computer-readable medium having stored thereon instructions that, in response to execution by the processor, cause the processor to:

receive log outputs from an application;

generate a log file by:

recording the log outputs in the log file; and

for each log output in the log file, attaching a log context record to the log output, wherein the log context record is encoded with a call stack comprising stack frames and one or more variables in the stack frames; and

group the log outputs in the log file based on the log context record attached to each log output.

12. The computer system of claim 11 , wherein:

the application runs on a virtual machine implemented by a hypervisor; and

the non-transitory, computer-readable medium having stored thereon additional instructions that, in response to execution by the processor, cause the processor to retrieve the call stack through the hypervisor.

13. The computer system of claim 11 , wherein:

the application runs on a virtual machine; and

the non-transitory, computer-readable medium having stored thereon additional instructions that, in response to execution by the processor, cause the processor to access the call stack through a guest operating system on the virtual machine.

14. The computer system of claim 11 , wherein group the log outputs in the log file comprises:

determining a distance between every pair of log context records of the log outputs in the log file; and

grouping the log outputs based on distances of their log context records.

15. The computer system of claim 14 , wherein grouping the log outputs based on the distances of their log context record comprises using machine learning clustering.

16. The computer system of claim 14 , wherein determining the distance between a pair of log context records comprises:

for corresponding pairs of stack frames from the pair of log context records, calculating numbers of different variables in the same stack frame; and

calculating a weighted sum of the numbers of different variables as the distance.

17. The computer system of claim 16 , wherein determining the distance between a pair of log context records further comprises:

filling any call stack with less than a greatest number of stack frames in all call stacks with a number of empty frames so all the call stacks have a same number of stack frames.

18. The computer system of claim 11 , wherein the non-transitory, computer-readable medium having stored thereon additional instructions that, in response to execution by the processor, cause the processor to determine a common thread, session, or transaction for each group of log outputs.

19. The computer system of claim 18 , further comprising determining a cause of an error in the computing system based on the grouping of the log outputs and correcting the error in the computing system.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067103/0030 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 25, 2018
From: ZHANG, YAO; CREMEL, OLIVIER ALAIN; CHEN, MING; JI, CHUNYAN; ZHANG, JINGTAO; CHEN, HUA
To: VMWARE, INC.
Reel/Frame 046452/0493 →