RUNTIME CODE VISUALIZATION
Disclosed herein are system, method, and computer program product embodiments for visualizing code execution of a multi-threaded server. An embodiment operates by receiving a log of contents of a plurality of thread stacks over a time period of code execution and receiving a rule for populating a graphical interface with thread stack contents. It also includes populating the graphical interface with a representation of the thread stack contents over time.
1 . A computer implemented method, comprising:
receiving, by at least one processor, a log of contents of a plurality of thread stacks over a time period of code execution;
receiving, by the at least one processor, a rule for populating a graphical interface with thread stack contents; and
populating, by the at least one processor, the graphical interface with a representation of the thread stack contents over time,
wherein the representation comprises different identifiers for different thread stack contents and the graphical interface comprises a representation of a subset of the thread stack contents based on the rule.
2 . The method of claim 1 , wherein the different thread stack contents comprise data for at least one of a running thread or a sleeping thread and wherein the different identifiers comprise different colors.
3 . The method of claim 1 , wherein the rule specifies an identifier for displaying the thread stack contents.
4 . The method of claim 1 , wherein the rule specifies a first function and an identifier to be applied when the thread stack contents contain the first function.
5 . The method of claim 4 , wherein the rule specifies the identifier is to be applied when the first function is at a top of the stack.
6 . The method of claim 4 , wherein the rule specifies a second function and that the identifier is to be applied when the first function is called by the second function.
7 . A system, comprising:
a memory; and
at least one processor coupled to the memory and configured to:
receive a log of contents of a plurality of thread stacks over a time period of code execution; and
receive a rule for populating a graphical interface with thread stack contents; and
populating the graphical interface with a representation of the thread stack contents over time,
wherein the representation comprises different identifiers for different thread stack contents and the graphical interface comprises displaying a representation of a subset of the thread stack contents based on the rule.
8 . The system of claim 7 , wherein the different thread stack contents comprise data for at least one of a running thread or a sleeping thread and wherein the different identifiers comprise different colors.
9 . The system of claim 7 , wherein the rule specifies an identifier for displaying the thread stack contents.
10 . The system of claim 7 , wherein the rule specifies a first function and an identifier to be applied when the thread stack contents contain the first function.
11 . The system of claim 10 , wherein the rule specifies the identifier is to be applied when the first function is at a top of the stack.
12 . The system of claim 10 , wherein the rule specifies a second function and that the identifier is to be applied when the first function is called by the second function.
13 . A tangible computer-readable device having instructions stored thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:
receiving a log of contents of a plurality of thread stacks over a time period of code execution; and
receiving a rule for populating a graphical interface with thread Stack contents; and
populating the graphical interface with a representation of the thread stack contents over time,
wherein the representation comprises different identifiers for different thread stack contents and the graphical interface comprises a representation of a subset of the thread stack contents based on the rule.
14 . The computer-readable device of claim 13 , wherein the different thread stack contents comprise data for at least one of a running thread or a sleeping thread and wherein the different identifiers comprise different colors.
15 . The computer-readable device of claim 13 , wherein the rule specifies an identifier for displaying the thread stack contents.
16 . The computer-readable device of claim 15 , wherein the rule specifies a first function and an identifier to be applied to the colored representation when the thread stack contents contain the first function.
17 . The computer-readable device of claim 15 , wherein the rule specifies the identifier is to be applied when the first function is at a top of the stack.
18 . The computer-readable device of claim 16 , wherein the rule specifies a second function and that the identifier is to be applied when the first function is called by the second function.