Debugging through causality and temporal patterning in an event processing system
First Claim
1. A system for visualizing events received and processed by a plurality of software agents in a distributed system, the system comprising:
- one or more computer processors;
a memory containing a program which when executed by the one or more computer processors performs an operation, the operation comprising;
identifying, for each software agent, by a debugger, a plurality of events occurring on that software agent;
identifying at least two of the plurality of events occurring effectively simultaneously;
generating, on a user interface presented by the debugger, a visualization showing a respective timeline for each of the plurality of software agents wherein the visualization represents each event consumed by each software agent as an icon above the respective timeline for the respective software agent and each event emitted by each respective software agent as an icon below the respective timeline for the respective software agent, wherein the icons are ordered based on a time each respective event is consumed or emitted and wherein the visualization includes a stacked icon on at least one of the timelines representing the identified at least two of the plurality of events occurring effectively simultaneously;
presenting the visualization via the user interface of the debugger;
receiving a request indicating at least a first one of the icons in the visualization, wherein the first icon is the stacked icon;
updating the first icon to present a semi-circle arrangement of icons representing the identified at least two of the plurality of events occurring effectively simultaneously;
determining, for the event corresponding to the first icon, a causal chain of events related to that event; and
updating the icons corresponding to events in the causal chain of events to present, on the user interface of the debugger, an ordered sequence of events in the causal chain of events that occurred relative to the event corresponding to the first one of the icons.
1 Assignment
0 Petitions
Accused Products
Abstract
Certain aspects of the present disclosure relate to a method and apparatus for visualizing events received and processed by a plurality of software agents in a distributed system. Aspects of the present disclosure generally include receiving, for each software agent, a recording identifying one or more events occurring on that software agent, generating a visualization showing a timeline for one or more of the plurality of software agents wherein the visualization represents each event consumed or emitted by the one or more software agents as an icon on the timeline ordered based on the time the event is consumed or emitted, receiving a request indicating at least a first one of the icons in the visualization, determining, for the event corresponding to the first icon, a causal chain of events related to that event, and updating the icons corresponding to events in the causal chain of events to present an ordered sequence of events in the causal chain of events that occurred relative to the event corresponding to the first one of the icons.
53 Citations
13 Claims
-
1. A system for visualizing events received and processed by a plurality of software agents in a distributed system, the system comprising:
-
one or more computer processors; a memory containing a program which when executed by the one or more computer processors performs an operation, the operation comprising; identifying, for each software agent, by a debugger, a plurality of events occurring on that software agent; identifying at least two of the plurality of events occurring effectively simultaneously; generating, on a user interface presented by the debugger, a visualization showing a respective timeline for each of the plurality of software agents wherein the visualization represents each event consumed by each software agent as an icon above the respective timeline for the respective software agent and each event emitted by each respective software agent as an icon below the respective timeline for the respective software agent, wherein the icons are ordered based on a time each respective event is consumed or emitted and wherein the visualization includes a stacked icon on at least one of the timelines representing the identified at least two of the plurality of events occurring effectively simultaneously; presenting the visualization via the user interface of the debugger; receiving a request indicating at least a first one of the icons in the visualization, wherein the first icon is the stacked icon; updating the first icon to present a semi-circle arrangement of icons representing the identified at least two of the plurality of events occurring effectively simultaneously; determining, for the event corresponding to the first icon, a causal chain of events related to that event; and updating the icons corresponding to events in the causal chain of events to present, on the user interface of the debugger, an ordered sequence of events in the causal chain of events that occurred relative to the event corresponding to the first one of the icons. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer program product comprising:
a non-transitory computer readable storage medium having computer-readable program code embodied therewith, the computer-readable program code for visualizing events received and processed by a plurality of software agents in a distributed system, comprising; computer-readable program code configured to identify, for each software agent, by a debugger, a plurality of events occurring on that software agent; computer-readable program code configured to identify at least two of the plurality of events occurring effectively simultaneously; computer-readable program code configured to generate, on a user interface presented by the debugger, a visualization showing a respective timeline for each of the plurality of software agents wherein the visualization represents each event consumed by each software agent as an icon above the respective timeline and each event emitted by each respective software agent as an icon below the timeline for the respective software agent, wherein the icons are ordered based on a time each respective event is consumed or emitted and wherein the visualization includes a stacked icon on at least one of the timelines representing the identified at least two of the plurality of events occurring effectively simultaneously; computer-readable program code configured to present the visualization via the user interface of the debugger; computer-readable program code configured to receive a request indicating at least a first one of the icons in the visualization, wherein the first icon is the stacked icon; computer-readable program code configured to update the first icon to present a semi-circle arrangement of icons representing the identified at least two of the plurality of events occurring effectively simultaneously; computer-readable program code configured to determine, for the event corresponding to the first icon, a causal chain of events related to that event; and computer-readable program code configured to update the icons corresponding to events in the causal chain of events to present, on the user interface of the debugger, an ordered sequence of events in the causal chain of events that occurred relative to the event corresponding to the first one of the icons. - View Dependent Claims (9, 10, 11, 12, 13)
Specification