EP3025251A1 - Visualisation de chaîne d'événements de données de performances - Google Patents

Visualisation de chaîne d'événements de données de performances

Info

Publication number
EP3025251A1
EP3025251A1 EP14829908.4A EP14829908A EP3025251A1 EP 3025251 A1 EP3025251 A1 EP 3025251A1 EP 14829908 A EP14829908 A EP 14829908A EP 3025251 A1 EP3025251 A1 EP 3025251A1
Authority
EP
European Patent Office
Prior art keywords
representing
data
shape
observations
dimension
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP14829908.4A
Other languages
German (de)
English (en)
Other versions
EP3025251A4 (fr
Inventor
Russell KRAJEC
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US13/949,994 external-priority patent/US20150033172A1/en
Priority claimed from US13/949,978 external-priority patent/US9280841B2/en
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of EP3025251A1 publication Critical patent/EP3025251A1/fr
Publication of EP3025251A4 publication Critical patent/EP3025251A4/fr
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations

Definitions

  • Event chain visualizations such as Gantt charts, are mechanisms that can illustrate connected items in a sequence.
  • work items are illustrated as bars in a timeline, with each bar illustrating a length of time that a work item may take.
  • An event chain visualization of performance related data may show monitored elements as bars or other shapes on a timeline, with connections or other relationships connecting the various bars into a sequential view of an application.
  • the visualization may include color, shading, sparklines, sub-graphs, or other indicators to show resource utilization, performance metrics, or other data relating to the monitored elements.
  • the visualization may be generated by monitoring many events, and each bar on a timeline may reflect multiple instances of a monitored element and, in some case, the aggregated performance of the multiple instances.
  • a timeline chart may represent multiple data sets gathered from multiple sequences of a process by placing sub-graphs within timeline bars.
  • the sub-graphs may represent summarized data related to each event represented by a timeline bar.
  • the timeline chart may present an overall view of a sequence of process steps with insights to the shape or distribution of the underlying observations.
  • the timeline chart may be an instance of an event chain diagram, where the elements within the event chains are displayed with respect to time.
  • the timeline chart may be presented as representing the aggregated dataset of multiple runs, as well as a representation of a single observed sequence. In both cases, sub-graphs may be included in a timeline bar to represent different views of the aggregated dataset.
  • FIGURE 1 A is a diagram illustration of an example embodiment showing an event chain diagram showing aggregated data.
  • FIGURE IB is a diagram illustration of an example embodiment showing an event chain diagram showing a selected data set, as well as aggregated data.
  • FIGURE 2 is a diagram illustration of an embodiment showing a network environment with devices that may create and view tracer data.
  • FIGURE 3 is a diagram illustration of several example embodiments showing sub-graphs that may be applied to different shapes.
  • FIGURE 4 is a flowchart illustration of an embodiment showing a method for creating an event chain diagram for an aggregated view of multiple data sets.
  • FIGURE 5 is a flowchart illustration of an embodiment showing a method for creating an event chain diagram for a detailed view of a specific data set along with aggregated information in sub-graphs.
  • An event chain visualization of monitored data may render shapes representing monitored data for individual monitored elements.
  • the shapes may be arranged in an event chain, with each shape having at least one dimension representing a measured or observed performance metric.
  • the shapes may be connected with connectors, such as arrow lines, to visually illustrate relationships between the monitored elements.
  • the dimension may represent a maximum, minimum, average, median, or some other observation of the data.
  • the parameter being measured may be time or some other resource.
  • the performance data may be observations of monitored elements that may be gathered when an application or other code has been executed.
  • the observations may include multiple observations of the same monitored element, which may be represented in summary form in a shape representing the element.
  • the dimension of the shape representing a monitored element may give an instant, graphical representation of a single observed parameter.
  • the relative dimension of one monitored element representation with another monitored element representation may show a user the relative proportion of the parameter at a glance.
  • the relationships between monitored elements may be arranged in a sequential manner.
  • the relationships may show dependencies, shared memory objects, or other relationships in a manner that can be quickly grasped.
  • a timeline chart or Gantt chart representation of an event chain may arrange shapes representing the time to process each monitored element, and arranged in sequential order as time progresses. Because each bar in a timeline chart may represent the maximum, minimum, or other observation, the horizontal length of the overall timeline chart may not represent any actual observed runs.
  • Additional data may be shown within the shape representing a monitored element.
  • the additional data may include observation distributions in the form of line graphs, bar graphs, sparklines, variable shading, variable widths, or some other form. Such additional data may be useful to identify outliers or trends in the data, where the trends may be otherwise masked summarized statistics or single representative observations.
  • the event chain visualization may have a generalized view which may represent many sets of performance data, and a detailed view which may represent a single set of performance data along with a generalized view.
  • the detailed view may include representations of the generalized data set through the use of sparklines, sub-graphs, or other indicators, which may be presented to show both the detailed data of a single data set was well as the context of the single data set with respect to the larger, aggregated and summarized data set.
  • timeline graph and “timeline diagram” are used interchangeably. These terms are also used to denote a special case of an event chain diagram where the events are arranged with respect to time.
  • the horizontal axis of a graph may represent time.
  • Other timeline diagrams may be oriented such that time may be represented on a vertical axis or some other direction.
  • instrumentation may refer to stubs, hooks, or other data collection mechanisms that may be inserted into executable code and thereby change the executable code
  • profiler or “tracer” may classically refer to data collection mechanisms that may not change the executable code.
  • the use of any of these terms and their derivatives may implicate or imply the other.
  • data collection using a “tracer” may be performed using non-contact data collection in the classic sense of a “tracer” as well as data collection using the classic definition of "instrumentation” where the executable code may be changed.
  • data collected through “instrumentation” may include data collection using non-contact data collection mechanisms.
  • instrumentation may include any type of data that may be collected, including performance related data such as processing times, throughput, performance counters, and the like.
  • the collected data may include function names, parameters passed, memory object names and contents, messages passed, message contents, registry settings, register contents, error flags, interrupts, or any other parameter or other collectable data regarding an application being traced.
  • execution environment may be used to refer to any type of supporting software used to execute an application.
  • An example of an execution environment is an operating system.
  • an "execution environment” may be shown separately from an operating system. This may be to illustrate a virtual machine, such as a process virtual machine, that provides various support functions for an application.
  • a virtual machine may be a system virtual machine that may include its own internal operating system and may simulate an entire computer system.
  • execution environment includes operating systems and other systems that may or may not have readily identifiable "virtual machines” or other supporting software.
  • an application is used to refer to any combination of software and hardware products that may perform a desired function.
  • an application may be a single software program that operates with a hardware platform.
  • Some applications may use multiple software components, each of which may be written in a different language or may execute within different hardware or software execution environments. In some cases, such applications may be dispersed across multiple devices and may use software and hardware components that may be connected by a network or other communications system.
  • references to "a processor” include multiple processors. In some cases, a process that may be performed by “a processor” may be actually performed by multiple processors on the same device or on different devices. For the purposes of this specification and claims, any reference to “a processor” shall include multiple processors which may be on the same device or different devices, unless expressly specified otherwise.
  • any reference to “a processor” shall include multiple processors which may be on the same device or different devices, unless expressly specified otherwise.
  • the subject matter may be embodied as devices, systems, methods, and/or computer program products. Accordingly, some or all of the subject matter may be embodied in hardware and/or in software (including firmware, resident software, microcode, state machines, gate arrays, etc.) Furthermore, the subject matter may take the form of a computer program product on a computer-usable or computer-readable storage medium having computer-usable or computer-readable program code embodied in the medium for use by or in connection with an instruction execution system.
  • a computer-usable or computer-readable medium may be any medium that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
  • the computer-usable or computer-readable medium may be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium.
  • computer readable media may comprise computer storage media and communication media.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by an instruction execution system.
  • the computer-usable or computer-readable medium could be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted, of otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
  • the embodiment may comprise program modules, executed by one or more systems, computers, or other devices.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • functionality of the program modules may be combined or distributed as desired in various embodiments.
  • Figure 1 A is an illustration of an example embodiment 100 showing an event chain diagram.
  • Figure IB is an illustration of an example embodiment 102 showing a detailed view of a single data set from embodiment 100.
  • Embodiment 100 illustrates an event chain diagram that may represent multiple sets of performance data.
  • tracer data from a fictitious application is shown.
  • the application may contain four distinct code elements, named MAIN, FOO, BAR, and BAZ.
  • the tracer data may include performance data gathered from multiple runs of the application, with the data comprising processing time, CPU loading, memory consumption, and other data elements in our example.
  • the event chain diagram may show summarized data from multiple data sets in at least two manners.
  • the size of the shapes in the event chain diagram may reflect a summarized statistic for each of the code elements that were observed.
  • the summarized statistic may be, for example, maximum time taken to process the code element represented by the shape as may be represented in the example of embodiment 100.
  • the event chain diagram of embodiment 100 may show the worst case timeline from the performance data.
  • the shapes may be sized to represent the longest time observed for each code element, then placed together in sequential relationships such that the overall length of the diagram may or may not reflect the length of the worst case data set.
  • the summarized statistic represented by the horizontal length of the various shapes may be any summarization or representation of the underlying data.
  • the representation may be the maximum value of any observation.
  • Other examples may use a maximum, minimum, median, mean, standard deviation, multiples of the standard deviation, or some other summarization or observation to represent an element in an event chain diagram.
  • a sub-graph may be included.
  • the sub-graphs may give additional information about the underlying data, and may give the user a sense of the profile of the data distribution.
  • the distribution profile may show the user if many of the observations were tightly clustered, identify outliers, or other indicators about the data.
  • Shapes 106 and 108 may represent the observations of a function named MAIN, when MAIN was invoked two times. Shape 106 may represent the first instances MAIN was invoked, and shape 108 may represent the second instance.
  • a sub-graph 110 may illustrate a distribution of the observations collected for the first instance of MAIN.
  • the sub-graph 110 may be show the cumulative number of observations that had a given length of time, as represented by the horizontal axis.
  • the shape of sub-graph 110 illustrates that all the observations were at least as long as about 1/3 of the total length of time, and that there is a wide variation in data points as time increases.
  • the sub-graph may be a sparkline or other small graphical representation of the underlying data.
  • the sub-graph may take on many forms, examples of which may be found in embodiment 300 presented later in this specification.
  • the sequence of items in the event chain diagram may start with shape 106, then proceed to shape 114 representing the function FOO, shape 118 representing the function BAR, shape 122 representing the function BAZ, and back to shape 116 representing BAR, shape 116 representing the function FOO, and finally at function MAIN with shape 108.
  • the sequence of items may represent the flow of control, data items, or other connections between the various items.
  • a sub-graph may illustrate some aspect of the underlying data. From examination of the example, shape 122 may illustrate an example of a sub-graph that may represent a dataset that contains a very wide distribution of data elements, with the possibility that there may be outliers on the high end of the scale.
  • a detail window 124 may be an interactive element by which a user may browse the underlying data in more detail.
  • the detail window 124 may be moved back and forth using handles 126 and 128, which may be moved by clicking and dragging the handles.
  • the detail window 124 may be expanded, contracted, and moved to different locations across the event chain diagram, and the underlying data may be presented in a detail view 130.
  • the detail view 130 may illustrate some of the underlying data that may be represented by the detail window 124.
  • the selected observations may be displayed by RU _ID, time, input values, and return values.
  • a user may be able to scroll through the various data elements and select an element for a detailed view.
  • the selected element 132 is shown.
  • Figure IB may illustrate an event chain diagram 102 that shows the detail of the selected element 132.
  • the event chain diagram 102 may include some elements from the event chain diagram 100, but arranged in a manner to show the details of the selected element 132.
  • the various shapes in diagram 102 may be arranged to reflect the selected element 132.
  • the sequence of events may be shown by shape 136 connected to shape 142, which is connected in succession to shapes 145, 146, 148, 150, and finally shape 152.
  • the size of the shapes and the positioning of the subsequent shape may indicate the actual length of time observed for the selected dataset.
  • the shapes may be shaded, greyed out, differently colored, or have some other visual effect that may show the larger dataset.
  • shape 136 may have a section 138 that may be greyed out, but may still contain a sub-graph 140.
  • the left hand side of the shape 136 that may not be greyed out may represent the value of the underlying data in the selected element 132, while the remaining section 138 may give the user a visual hint as to where the selected element 132 fell in the distribution represented by the sub-graph 140.
  • Shape 142 may be illustrated with section 144 greyed out, as shape 146 may also be illustrated with section 156 greyed out and shape 152 may be illustrated with section 154 greyed out. With each of the shapes that have greyed out portions, a user may be able to determine where the selected data set fell within the distribution of each observation. Such an illustration may communicate contextual data while also communicating detailed data about a specific set of observations.
  • Graphs representing CPU loading 158 and memory usage 160 may also be included in the diagram 102.
  • the CPU loading 158 and memory usage 160 may be additional sets of data may match the timeline of the event chain diagram 102 and may relate to the selected element 132.
  • the each shape has a dimension that may be scaled to represent a certain data element.
  • a dimension may be related to time.
  • Other examples may relate the dimension to any other measured or observed parameter.
  • Figure 2 is a diagram of an embodiment 200 showing components that may generate performance data and display the performance data using an event chain diagram.
  • the example of embodiment 200 is merely one example of a multi-device system that may generate performance data and display the data in an event chain diagram.
  • Other architectures may include single device and multiple device
  • a single device architecture may gather performance data, analyze the data, and graphically display the data or perform bottleneck detection.
  • a multiple device architecture may divide different components of the data gathering and analysis functions over different devices.
  • the multiple device architecture may be one way to deliver complex tracing services without having to install and maintain all of the various tracing components on a single system.
  • the example of embodiment 200 gathers tracer data from several systems under test, then generates and renders an event chain diagram as a visualization.
  • the tracer data may be a large amount of historical data, which may be summarized in an event chain diagram, as well as viewed using a detailed event chain diagram that may include summarized data from multiple data sets while viewing one data set.
  • the diagram of Figure 2 illustrates functional components of a system.
  • the component may be a hardware component, a software component, or a combination of hardware and software. Some of the components may be application level software, while other components may be execution environment level components.
  • the connection of one component to another may be a close connection where two or more components are operating on a single hardware platform. In other cases, the connections may be made over network connections spanning long distances.
  • Each embodiment may use different hardware, software, and interconnection
  • Embodiment 200 illustrates a device 202 that may have a hardware platform 204 and various software components.
  • the device 202 as illustrated represents a conventional computing device, although other embodiments may have different configurations, architectures, or components.
  • the device 202 may be a server computer. In some embodiments, the device 202 may still also be a desktop computer, laptop computer, netbook computer, tablet or slate computer, wireless handset, cellular telephone, game console or any other type of computing device.
  • the hardware platform 204 may include a processor 208, random access memory 210, and nonvolatile storage 212.
  • the hardware platform 204 may also include a user interface 214 and network interface 216.
  • the random access memory 210 may be storage that contains data objects and executable code that can be quickly accessed by the processors 208.
  • the random access memory 210 may have a high-speed bus connecting the memory 210 to the processors 208.
  • the nonvolatile storage 212 may be storage that persists after the device 202 is shut down.
  • the nonvolatile storage 212 may be any type of storage device, including hard disk, solid state memory devices, magnetic tape, optical storage, or other type of storage.
  • the nonvolatile storage 212 may be read only or read/write capable.
  • the nonvolatile storage 212 may be cloud based, network storage, or other storage that may be accessed over a network connection.
  • the user interface 214 may be any type of hardware capable of displaying output and receiving input from a user.
  • the output display may be a graphical display monitor, although output devices may include lights and other visual output, audio output, kinetic actuator output, as well as other output devices.
  • Conventional input devices may include keyboards and pointing devices such as a mouse, stylus, trackball, or other pointing device.
  • Other input devices may include various sensors, including biometric input devices, audio and video input devices, and other sensors.
  • the network interface 216 may be any type of connection to another computer.
  • the network interface 216 may be a wired Ethernet connection.
  • Other embodiments may include wired or wireless connections over various communication protocols.
  • the software components 206 may include an operating system 218 on which various software components and services may operate.
  • An operating system may provide an abstraction layer between executing routines and the hardware components 204, and may include various routines and functions that communicate directly with various hardware components.
  • a data analyzer 220 may analyze raw data 221 and generate summarized data 223 that may be consumed by a Tenderer 222 to generate a visualization 224.
  • the raw data 221 may be any type of data that contains elements that may be related to each other so as to be displayed on an event chain diagram.
  • event chain diagram several elements may be displayed with relationships to each other.
  • a common example may be a Gantt chart that may show work items of a project, where various work items may be connected by dependencies.
  • the elements may be presented with contextual data in the form of sparklines or subgraphs.
  • Such event chain diagram may present summarized data or data from a single run of a measured process.
  • the summarized data may aggregate multiple runs of a measured process, where each run may be a separate data set representing a single run through the process.
  • a data set may be tracer data, which may be gathered by monitoring an application over time. While a tracer gathers data, an application may be subjected to multiple inputs, each of which may cause the application to execute code elements in a process that may be displayed in an event chain diagram.
  • invention 200 illustrates a system where tracer data may be collected, processed, and visualized.
  • Other systems may gather, process, and visualize data for other types of processes or sequences.
  • the device 202 may create visualizations 224 which may be viewed on the device 202 or on another device.
  • the visualizations may be static visualizations, while in other cases, the visualizations may be interactive such that a user may be able to explore, browse, and otherwise interact with the data.
  • a network 226 may connect a group of systems under test 228 from which observations and measurements may be taken.
  • Each of the systems under test 228 may have a hardware platform 230, which may be similar to the hardware platform 204 of the device 202.
  • the systems under test 228 may have an operating system 232 on which an execution environment 234 may run.
  • an application 236 may be executed with a tracer 238.
  • the tracer 238 may monitor, measure, probe, instrument, or otherwise gather data while the application 236 executes.
  • the tracer 238 may transmit the collected data to a data gathering system 240.
  • the data gathering system 240 may have hardware platform 242 which may be similar to the hardware platform 204 of the device 202.
  • a tracer gatherer 244 may collect and store tracer data 246 from the various tracers 238.
  • a distribution engine 248 may be a communications portal through which other systems may access the tracer data 246, such as the data analyzer 220 of the device 202.
  • a client device 250 may be an example of a device that may render and visualize the data. In such an example, some or all of the summarization or processing of the tracer data may be performed on another device, such as the device 202.
  • the client device 250 may have a hardware platform 252 which may be similar to the hardware platform 204 of device 202.
  • a browser 254 may execute code that operates as a renderer 256 to show a user the visualization 258.
  • the visualization 258 may be presented in a browser, where the renderer may execute on the device 202.
  • Such a case may create a visualization 224 on the device 202, and an image from the renderer 222 may be transmitted and displayed by the browser 254.
  • Figure 3 is a diagram illustration of an embodiment 300 showing several examples of shapes that may be used to represent an element in an event chain diagram, such as the event chain diagrams illustrated in Figures 1A and IB.
  • shapes 302, 304, 306, and 308 are examples where the underlying shape may be a rectangle or line. In each of the examples, the shapes may be illustrated with the horizontal axis as the dimension sized to represent a data value.
  • Shape 302 is an example of a shape that may be broken such that the length of the shape may not represent the full value of the data element it may represent.
  • the shape 302 may have a sub-graph 310 that may contain an outlier data point 314. Because the outlier data point 314 may cause the shape 302 to be very large, a break 312 may be inserted and the length of the shape 302 may be condensed. The break 312 may indicate that the length of the shape 302 may have been shortened.
  • the shape 302 may have a scale 313 on the horizontal axis.
  • the scale may help a user understand the actual values of the underlying data. Because of the break 312, the scale 313 may be a visual indicator of how much the shape 302 may have been shortened by the break 312.
  • Shape 304 is an example of a shape that may have a different type of subgraph 318.
  • the shape 304 may be a line to which a sub-graph 318 may be attached.
  • the sub-graph 318 may have an axis 316.
  • the axis 316 may be perpendicular to the horizontal length of the shape 304.
  • the axis 316 may have a scale 319. In some cases, a vertical axis may not have a scale.
  • the sub-graph 318 may show a distribution of the underlying data.
  • the sub-graph 310 of shape 302 may be an example of a cumulative distribution, whereas the sub-graph 318 of shape 318 may be a conventional distribution illustration.
  • a cumulative distribution may be useful in some cases where outliers may exist on one end of the distribution, while a conventional distribution may be useful when outliers may exist on both ends of the distribution.
  • Shape 306 is an example with a sub-graph that may be a bar chart 320.
  • the bar chart 320 may include one bar for each data set or may represent groups of data sets.
  • Shape 308 is an example of a shape with two sub-graphs. Sub-graph 322 may be shown on the top with axis 324, while sub-graph 326 may be shown with axis 328. The axes may be illustrated with values or without values.
  • Figure 4 is a flowchart illustration of an embodiment 400 showing a method for generating data, processing the data, and rendering a graph illustrating the data.
  • the operations of embodiment 400 may illustrate the operations that may be performed with the components of embodiment 200.
  • Embodiment 400 may illustrate a method by which data may be generated by tracing an application. Once the tracer data has been stored, the tracer data may be summarized and rendered in a visualization, such as an event chain diagram. Examples of such diagrams may be found in Figures 1 A and IB.
  • An application may be received in block 402 for tracing. Execution may begin in block 404. A code element may be identified in block 406 and the code element may be traced in block 408 to collect tracer data, which may be stored in block 410. When another code element is encountered in block 412, the process may loop back to block 406. When all the code elements have been executed in block 412, the data collection process may end in block 414.
  • the tracer data may be any data gathered while the application executes. Such data may include observations about start time and end time, as well as resource consumption data, data regarding the performance of the code element, or any other data.
  • the tracer data may be received in block 416.
  • Each code element in the tracer data may be identified in block 418 and processed in block 420.
  • summary statistics may be generated in block 422 and relationships to other code elements may be identified in block 424.
  • rendering may begin in block 426.
  • a data element may be selected in block 428 for scaling.
  • the data element may be the dimension for which the overall graph may be scaled. In the examples of Figures 1A and IB, the dimension may be time.
  • a size of a representative shape may be determined in block 432.
  • the size may be determined from the summary statistic, which may be the maximum value of an observation of the code element. In other embodiments the minimum, average, mean, or some other representative observation may be used.
  • a sub-graph may be created for the element in block 434.
  • the sub-graph may be any representation of the underlying data for the code element represented by the shape.
  • the sub-graph may be a distribution of the underlying data or some other representation of the underlying data, which may be aggregated from multiple observations of the code element.
  • the shape may be rendered in block 436.
  • a connector may be rendered in block 438 to graphically connect the block to any other blocks to which a relationship may be found.
  • the entire image may be rendered in block 440.
  • Figure 5 is a flowchart illustration of an embodiment 500 showing a method for changing from an aggregated view of the data to viewing a data set for a specific sequence.
  • Embodiment 500 is an example method that may be performed in response to a user selection to change from an aggregated view to a specific view, such as may be illustrated in the change from the diagrams illustrated in Figure 1 A and Figure IB.
  • the full graph may be rendered in block 502.
  • the full graph may be a representation of a data set aggregated from multiple tracer runs. An example of creating such a graph may be found in embodiment 400.
  • the graph may be an interactive graph, which may have various mechanisms to browse and select individual data sets. In the example of Figure 1A, such a selection mechanism may include the detail window 124 and detail view 130. The selection of an individual data set to view may be received in block 504.
  • the rendering of a detail view may begin in block 506.
  • the value from the selected data set corresponding to the current code element may be determined.
  • the code element shape may be rendered to show the determined value.
  • the shape may be greyed out, dashed, or otherwise have a visual modifier applied. Examples of such an operation may be found in shape 136 in Figure IB, where the shape 136 may be rendered with section 138 greyed out.
  • a connector may be rendered in block 514.
  • Additional data may be rendered in block 16.
  • the additional data may be data specific to the selected individual data set. Examples of such additional data may be the CPU loading 158 and memory usage 160 in Figure IB.
  • the full image may be rendered in block 518 and presented to a user.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Debugging And Monitoring (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

Selon l'invention, une visualisation de chaîne d'événements de données de performances peut montrer l'exécution d'éléments surveillés sous la forme de barres sur un calendrier, ayant des liaisons ou d'autres relations reliant les différentes barres dans une vue séquentielle d'une application. La visualisation peut comprendre une couleur, un ombrage ou une autre mise en évidence pour montrer des métriques d'utilisation de ressource ou de performances. La visualisation peut être générée par surveillance de nombreux événements traités par une application, chaque barre sur un calendrier pouvant refléter de multiples instances d'un élément surveillé et, dans certains cas, les performances agrégées.
EP14829908.4A 2013-07-24 2014-01-16 Visualisation de chaîne d'événements de données de performances Ceased EP3025251A4 (fr)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/949,994 US20150033172A1 (en) 2013-07-24 2013-07-24 Timeline Charts with Subgraphs
US13/949,978 US9280841B2 (en) 2013-07-24 2013-07-24 Event chain visualization of performance data
PCT/US2014/011798 WO2015012885A1 (fr) 2013-07-24 2014-01-16 Visualisation de chaîne d'événements de données de performances

Publications (2)

Publication Number Publication Date
EP3025251A1 true EP3025251A1 (fr) 2016-06-01
EP3025251A4 EP3025251A4 (fr) 2017-05-10

Family

ID=52393730

Family Applications (1)

Application Number Title Priority Date Filing Date
EP14829908.4A Ceased EP3025251A4 (fr) 2013-07-24 2014-01-16 Visualisation de chaîne d'événements de données de performances

Country Status (3)

Country Link
EP (1) EP3025251A4 (fr)
CN (1) CN105683942A (fr)
WO (1) WO2015012885A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11182047B2 (en) * 2017-07-27 2021-11-23 Johnson Controls Technology Company Building management system with fault detection and diagnostics visualization
CN110619135A (zh) * 2018-06-18 2019-12-27 富士施乐株式会社 信息处理设备和非暂时性计算机可读介质
CN111382037B (zh) * 2018-12-28 2023-06-20 阿里巴巴集团控股有限公司 应用性能管理信息的展示方法及装置、设备、存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6467052B1 (en) * 1999-06-03 2002-10-15 Microsoft Corporation Method and apparatus for analyzing performance of data processing system
US7266773B2 (en) * 2002-10-24 2007-09-04 Efficient Analytics, Inc. System and method for creating a graphical presentation
US7131113B2 (en) * 2002-12-12 2006-10-31 International Business Machines Corporation System and method on generating multi-dimensional trace files and visualizing them using multiple Gantt charts
US8086904B2 (en) * 2006-07-28 2011-12-27 Apple Inc. Event-based setting of process tracing scope
US8286135B2 (en) * 2006-10-17 2012-10-09 Cray Inc. Performance visualization including hierarchical display of performance data
US8499287B2 (en) * 2008-06-23 2013-07-30 Microsoft Corporation Analysis of thread synchronization events
US20100295856A1 (en) * 2009-05-21 2010-11-25 Microsoft Corporation Data analysis and visualization system and techniques
CA3020551C (fr) * 2010-06-24 2022-06-07 Arbitron Mobile Oy Agencement de serveur de reseau destine a traiter un comportement humain ou des observations techniques non parametriques, multidimensionnelles, spatiales et temporelles mesurees de facon ubiquitaire, et procede associe
US8942839B2 (en) * 2011-09-07 2015-01-27 Sap Se User interface including scheduling hint and material sufficiency indicator for production planning

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2015012885A1 *

Also Published As

Publication number Publication date
EP3025251A4 (fr) 2017-05-10
WO2015012885A1 (fr) 2015-01-29
CN105683942A (zh) 2016-06-15

Similar Documents

Publication Publication Date Title
US9754396B2 (en) Event chain visualization of performance data
US20150033172A1 (en) Timeline Charts with Subgraphs
US9864676B2 (en) Bottleneck detector application programming interface
US8990777B2 (en) Interactive graph for navigating and monitoring execution of application code
US9772927B2 (en) User interface for selecting tracing origins for aggregating classes of trace data
US9256969B2 (en) Transformation function insertion for dynamically displayed tracer data
US9824470B2 (en) Use of dynamic numeric axis to indicate and highlight data ranges
US20130283242A1 (en) Tracing Closures in a Callback Environment
US8286135B2 (en) Performance visualization including hierarchical display of performance data
US20150205693A1 (en) Visualization of behavior clustering of computer applications
US10496658B2 (en) Method and system of visually depicting hierarchical data through selective colorization
Reiss et al. JOVE: Java as it happens
EP3000041A1 (fr) Graphique pour naviguer dans un code d'application
EP3531285A2 (fr) Ace :assurance, composée et expliquée
EP3097494A1 (fr) Prédiction de fonctionnement d'ordinateur à l'aide de technologies de recherche
WO2015012885A1 (fr) Visualisation de chaîne d'événements de données de performances
Schnorr et al. A hierarchical aggregation model to achieve visualization scalability in the analysis of parallel applications
US8850404B2 (en) Relational modeling for performance analysis of multi-core processors using virtual tasks
CN109389278B (zh) 用于工厂效率评估的系统和方法
Drebes et al. Interactive visualization of cross-layer performance anomalies in dynamic task-parallel applications and systems
US20140282416A1 (en) Method and system of visually combining profiling data from instrumentation and sampling
GB2476544A (en) Relational modeling for performance analysis of multi-core processors
US20120232880A1 (en) Performance assessment of a program model
Wu et al. CommGram: a new visual analytics tool for large communication trace data
CN110737704B (zh) 数据展示方法及装置

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20160212

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20170411

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 3/14 20060101ALI20170405BHEP

Ipc: G06F 17/00 20060101AFI20170405BHEP

Ipc: G06Q 10/06 20120101ALN20170405BHEP

17Q First examination report despatched

Effective date: 20180227

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20190116