IP Library Granted Patent US 9,996,577
Granted Patent B1
US 9,996,577 · App. 14/619,897 · Granted Jun 12, 2018

Systems and methods for graphically filtering code call trees

Inventors: Gia-Duong Diep (Toronto, CA); Joseph Rustad (Toronto, CA)
Assignee: Quest Software Inc.
G06F17/30371G06F3/04842
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,996,577
App. No.
14/619,897
Granted
Jun 12, 2018
Kind
B1
Abstract

In an embodiment, a method includes accessing a call tree for a transaction, wherein the call tree traces routines called during execution of the transaction. The method further includes generating a graphical representation of the call tree in relation to two or more performance properties. In addition, the method includes causing the graphical representation of the call tree to be displayed. Further, the method includes allowing a user to graphically select a group of routines from the graphical representation of the call tree. In addition, the method includes creating a filtered call tree comprising the graphically selected group of routines. Furthermore, the method includes generating a drill-down visualization of the filtered call tree. The method also includes causing the drill-down visualization to be displayed.

Claims (58)

1. A method comprising, by a computer system:

accessing a code call tree for an end-user transaction, wherein the code call tree traces routines called during execution of the end-user transaction, wherein each node in the code call tree corresponds to a particular routine of a software application;

generating a graphical representation of the code call tree in relation to two or more performance properties;

causing the graphical representation of the code call tree to be displayed;

allowing a user to graphically select a group of routines from the graphical representation of the code call tree;

creating a filtered code call tree comprising the graphically selected group of routines;

generating a drill-down visualization of the filtered code call tree;

wherein the drill-down visualization comprises a heat map of the filtered code call tree, the heat map graphically indicating a number of calls to each routine of the filtered code call tree; and

causing the drill-down visualization to be displayed.

2. The method of claim 1 , wherein the graphical representation comprises a plot of the routines of the code call tree in relation to the two or more performance properties.

3. The method of claim 1 , wherein the creating of the filtered code call tree comprises automatically identifying one or more additional routines based, at least in part, on an analysis of the code call tree, the filtered code call tree comprising the one or more additional routines.

4. The method of claim 3 , wherein the one or more additional routines comprise routines that, in the code call tree, are immediate parents of one or more of the graphically selected group of routines.

5. The method of claim 3 , wherein the one or more additional routines comprise routines that, in the code call tree, are immediate children of one or more of the graphically selected group of routines.

6. The method of claim 1 , comprising:

allowing the user to graphically select a subsequent group of routines from the drill-down visualization;

creating a subsequent filtered code call tree comprising the graphically selected subsequent group of routines;

creating a subsequent drill-down visualization of the subsequent filtered code call tree; and

causing the subsequent drill-down visualization to be displayed.

7. The method of claim 6 , wherein the subsequent drill-down visualization comprises a histogram of routine call counts.

8. The method of claim 1 , wherein the two or more performance properties comprise, for each routine of the routines:

a point on a transaction timeline at which the routine was called;

information related to an execution time of the routine; and

information related to a property of the routine.

9. The method of claim 8 , wherein the information related to an execution time of the routine comprises an exclusive execution time of the routine.

10. An information handling system comprising:

at least one processor, wherein the processor is operable to implement a method comprising:

accessing a code call tree for an end-user transaction, wherein the code call tree traces routines called during execution of the end-user transaction, wherein each node in the code call tree corresponds to a particular routine of a software application;

generating a graphical representation of the code call tree in relation to two or more performance properties;

causing the graphical representation of the code call tree to be displayed;

allowing a user to graphically select a group of routines from the graphical representation of the code call tree;

creating a filtered code call tree comprising the graphically selected group of routines;

generating a drill-down visualization of the filtered code call tree;

wherein the drill-down visualization comprises a heat map of the filtered code call tree, the heat map graphically indicating a number of calls to each routine of the filtered code call tree; and

causing the drill-down visualization to be displayed.

11. The information handling system of claim 10 , wherein the graphical representation comprises a plot of the routines of the code call tree in relation to the two or more performance properties.

12. The information handling system of claim 10 , wherein the creating of the filtered code call tree comprises automatically identifying one or more additional routines based, at least in part, on an analysis of the code call tree, the filtered code call tree comprising the one or more additional routines.

13. The information handling system of claim 12 , wherein the one or more additional routines comprise routines that, in the code call tree, are immediate parents of one or more of the graphically selected group of routines.

14. The information handling system of claim 12 , wherein the one or more additional routines comprise routines that, in the code call tree, are immediate children of one or more of the graphically selected group of routines.

15. The information handling system of claim 10 , the method comprising:

allowing the user to graphically select a subsequent group of routines from the drill-down visualization;

creating a subsequent filtered code call tree comprising the graphically selected subsequent group of routines;

creating a subsequent drill-down visualization of the subsequent filtered code call tree; and

causing the subsequent drill-down visualization to be displayed.

16. The information handling system of claim 15 , wherein the subsequent drill-down visualization comprises a histogram of routine call counts.

17. The information handling system of claim 10 , wherein the two or more performance properties comprise, for each routine of the routines:

a point on a transaction timeline at which the routine was called;

information related to an execution time of the routine; and

information related to a property of the routine.

18. The information handling system of claim 17 , wherein the information related to an execution time of the routine comprises an exclusive execution time of the routine.

19. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:

accessing a code call tree for an end-user transaction, wherein the code call tree traces routines called during execution of the end-user transaction, wherein each node in the code call tree corresponds to a particular routine of a software application;

generating a graphical representation of the code call tree in relation to two or more performance properties;

causing the graphical representation of the code call tree to be displayed;

allowing a user to graphically select a group of routines from the graphical representation of the code call tree;

creating a filtered code call tree comprising the graphically selected group of routines;

generating a drill-down visualization of the filtered code call tree;

wherein the drill-down visualization comprises a heat map of the filtered code call tree, the heat map graphically indicating a number of calls to each routine of the filtered code call tree; and

causing the drill-down visualization to be displayed.

Assignments (26)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044719/0565 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
RELEASE OF REEL 035860 FRAME 0878 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040027/0158 →
RELEASE OF REEL 035860 FRAME 0797 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040028/0551 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF REEL 035858 FRAME 0612 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040017/0067 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035860/0878 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035860/0797 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035858/0612 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2015
From: DIEP, GIA-DUONG; RUSTAD, JOSEPH
To: DELL SOFTWARE INC.
Reel/Frame 034966/0561 →