CN105103133A - Dynamic visualization of message passing computation - Google Patents

Dynamic visualization of message passing computation Download PDF

Info

Publication number
CN105103133A
CN105103133A CN201380075253.9A CN201380075253A CN105103133A CN 105103133 A CN105103133 A CN 105103133A CN 201380075253 A CN201380075253 A CN 201380075253A CN 105103133 A CN105103133 A CN 105103133A
Authority
CN
China
Prior art keywords
data
message
node
systems
frame
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.)
Pending
Application number
CN201380075253.9A
Other languages
Chinese (zh)
Inventor
R·S·克莱杰克
A·G·古纳雷斯
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
Concurix Corp
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
Application filed by Concurix Corp filed Critical Concurix Corp
Publication of CN105103133A publication Critical patent/CN105103133A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/323Visualisation of programs or trace data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
    • G06F11/3082Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting the data filtering being achieved by aggregating or compressing the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3404Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Abstract

A message passing compute environment may be visualized by illustrating messages passed within the environment. The messages may contain data consumed by a function or other computational element, and may be used to launch or spawn various computational elements. One visualization may be a force directed graph that has each function as a node, with messages passed as edges of the graph. In some embodiments, the edges may display the number of messages, quantity of data, or other metric by showing the edges as wider or thinner, or by changing the color of the displayed edge. The nodes may be illustrated with different colors, size, or shape to show different aspects. Some embodiments may have a mechanism for storing and playing back changes to the graph over time.

Description

The dynamic and visual that Message Transmission calculates
The cross reference of related application
This application claims the U.S. Patent Application Serial Number 13/757 being entitled as " DynamicVisualizationofMessagePassingComputation (dynamic and visual that Message Transmission calculates) " submitted on February 1st, 2013, the right of priority of 570 and rights and interests, the overall content of this application is included in this by quoting clearly.
Background
Message Transmission computing environment by implementation period chien shih independently processing element (such as thread or other computation modules) message be delivered to another yuan from an element usually operate.The message transmitted at each inter-module can comprise the data and other information that can be consumed by recipient.
Summary of the invention
Visualization system for tracker (tracer) can comprise process streamline, and this process streamline can generating tracking data, these data of pre-service and these data visual.Pre-treatment step can comprise the mechanism of the user-defined expression formula of process or other executable codes.This executable code can perform various function, comprise mathematics, statistics, with the gathering etc. of other data.Pretreater can perform malware analysis, testing functionality, realize this executable code subsequently.Editing machine or other text based user interface components can be presented for input with edit this executable code to user.This executable code can be saved and be called to use together with other data stream as selecting to change subsequently.
Power guiding figure can take on the part that the user for tracker controls.Tracker can collect data while monitoring the application performed, and these data can be processed and be presented on power guiding figure subsequently.User can select individual nodes, limit or other elements, makes this tracker change to collect what data subsequently.This user can select the group of the element on individual nodes, limit or figure, uses selected element to perform renewal to tracker subsequently.This selection mechanism can comprise clicks and drags window to select the node that may be correlated with, and selects from legend or other marshallings.
Power guiding figure can use one group of playback controls to carry out displaying time sequence data with the display of time-out, broadcasting, reversion, F.F., slow-motion or otherwise control time sequence data.This playback controls can to its set of displayable data and the using of speed that can show this data set in real time or in nearly application in real time.In a framework, power guiding figure can use render engine to dispose, and this render engine receives data by this data render in figure.Playback controller can send renewal according to the user's input from playback controls to render engine.
By illustrating that message in the domestic relay of Message Transmission ring is by visual for this environment.This message can comprise the data being calculated element consumption by function or other, and can be used to start or produce various calculating element.One visual can be power guiding figure, and each function of this power guiding figure is all as node, and the message be wherein passed is as the limit of figure.In certain embodiments, while by limit being shown wider or narrower or show the number of message, data volume or other tolerance by the color changing shown limit.Node can illustrate to show different aspect by different colours, size or shape.Some embodiments can have for storing with playback in time to the mechanism of the change of figure.
The latest activities of messaging system can be presented on larger figure as highlighted (highlight) feature by power guiding figure.Power guiding figure can show the node of expression process and Message routing and the superset (superset) on limit, subsequently latest activities is shown as the highlighted element in larger superset.The calculating of the message that highlighted element transmits during can being presented at the nearest time element of a seasonal effect in time series or execution.In certain embodiments, the impact of show events is carried out by making highlighted visual element decay in time.
There is provided this general introduction to introduce the selected works of concept in simplified form, described concept is further described in the following detailed description.This general introduction is not intended to the key feature or the essential feature that identify claimed subject, is not intended to the scope for limiting claimed subject yet.
Accompanying drawing is sketched
In the accompanying drawings:
Fig. 1 is the diagram of the embodiment that power guiding figure is shown.
Fig. 2 is the diagram of the embodiment that the Data Collection of use figure and the environment of display are shown.
Fig. 3 is the process flow diagram of the embodiment of the method illustrated for collecting data.
Fig. 4 illustrates the process flow diagram for the visual embodiment of the method for aggregate data before.
Fig. 5 be illustrate for dispose and renewal figure method embodiment flow process diagram.
Fig. 6 is the flow process diagram of the embodiment of the method for the trace (trace) illustrated for generating the object on figure.
Fig. 7 is the diagram of the embodiment that display one seasonal effect in time series sample power guiding figure is shown.
Fig. 8 A, 8B and 8C are that firmly guiding illustrates the illustrated sequence of the embodiment selecting mechanism.
Fig. 9 A, 9B and 9C are that firmly guiding illustrates the illustrated sequence of the embodiment of the second selection mechanism.
Figure 10 is the flow process diagram of the embodiment of method for being controlled tracker by interactive map.
Figure 11 is the diagram of the embodiment of the network environment illustrated for visual trace data.
Figure 12 is the diagram of the embodiment of the method illustrated for carrying out visual trace data with conversion.
Figure 13 is the diagram of the embodiment that the sample of users interface with conversion editing machine is shown.
Figure 14 is the diagram of the embodiment that the network environment with conversion is shown.
Figure 15 is the process flow diagram that the embodiment controlling the method shown for usage data browser is shown.
Describe in detail
For the figure of visual Message Transmission computing environment
Message Transmission computing environment is come visual by being presented at the figure calculating the message transmitted between element.Calculating element can show for node by described figure, and message is the limit of figure.This visual of one type can be power guiding figure.
This is visual can be shown as live width, color or other visual elements by the different qualities of data (direction of the number of such as message, data volume, message or other characteristics).When power guiding figure, the power between each element can represent this data characteristic.
The node of figure can represent calculating element.Calculating element can be can send or any executable code of receipt message, equipment or other elements.Node can with different size, color, shape or other characteristics illustrate consumed amount computing time, the membership qualification called in frequency, group, with mutual or other data item of other elements.
This is visual can the sequence of usage data collection perform, and wherein each data set can be collected in time.In these embodiments, when applying execution, figure easily extensible, contraction and change shape.These embodiments can store the sequence with playback of data collection.In some cases, the change term of execution that this playback can being slowed down or accelerate to illustrate.
Visualization system can have testing mechanism system (instrumentationsystem), and the information term of execution that this detection system being collected, with aftertreatment or format this information for display.Display system can generate figure and to user's display figure.In some cases, figure can be interactively, and wherein user can inquire after (probe) this figure and obtain additional seeing clearly.In one example, user can click node to find the details about this node, such as nodename, about the performance metric of this node or other information.
Visualization system can be used to monitor and be presented at the message transmitted in single equipment, and the wherein embodiment transmitted at equipment room of message.Such as, some functional languages can between the process that can perform on single-processor or across the some processors in single equipment pass-along message.In another example, high performance computing system may be combined with and is positioned at processor on many distinct devices to perform large-scale application.By indication example as carried out visual this application from device-to-device and all message of transmitting from a processor to another processor in each individual device.
For having the power guiding figure of highlighted time series data
By maintaining the superset of node and limit, and by representing in highlighted figure that those yuan of latest activities usually show latest activities, power guiding figure can displaying time sequence data.The superset on node and limit is by catching each node and limit that define by time series and maintaining this superset to create during seasonal effect in time series playback or display.
By those elements of the described activity of highlighted expression, show at least some in the superset on node and limit in non-highlighted mode, latest activities can be coated in the superset of element simultaneously.In this visual a kind of pattern, the superset on node and limit can present by the mode becoming ash desalination, and node active recently and Bian Ke present by coloured mode.
By making element the follow-up time section after being activated weakened on highlighted latest activities to be depicted as and fade out or dissolve.This visual attenuation can highlighted active element, keeps visual cues to reach the timeslice of some simultaneously, and can be useful in a case where: wherein timeslice is enough short and the activity in single timeslice may be fully understood.
Firmly guiding figure carrys out visual time series data
The dynamic and visual of time series data can be played up in power guiding figure.Time series data can comprise the data set representing and locate the state of system any preset time.Visual illustrate advance in time state change.
Visual have one group of control, and described control allows user to move forward or backward in data centralization.Described control can allow the playback of user's control data.In some cases, data in normal time, basis can present, and wherein playback may correspond to the speed in Data Collection.In other cases, the periodicity that playback can be collected relative to data is accelerated or slows down.
Framework for visualization system can have the visualizer that can be bound to data source.Visualizer can show power guiding figure, comprises any motion through animation of the power of playing up.Described control configurable data browser, this data browser can select the data set that will present, and the data set that present is transferred to visualizer by data binding.In some cases, visualizer can collect user's input, and described user inputs the remote equipment process that can be operated by data browser thereon.
Power guiding figure is as the input mechanism of tracker
Tracker can make to exert oneself guiding figure as input mechanism.Power guiding figure can allow user to select and handle node and the limit of the figure of the various elements that can represent application.Once be selected, user can apply various action to element, such as makes additional tracking be applied to element or be applied to coherent element.
Power guiding figure or other visually application element can be presented on different marshalling or in presenting, this can help user to see relation in each element.By making firmly guiding figure or other are visual as the input to tracker, user can easily select element and coherent element, and their are difficult to select originally.
Figure can comprise can the legend of group of display element.Legend can comprise user can in order to select focus or other user interface controls of the subset of element.
User interface can comprise the additional options menu that selected element can be used as input.This additional menu can comprise can by the various actions providing the tracker of shown data to take.Configuration file can be updated and be sent to tracker to change tracker behavior.
The conversion definition of trace data
By applying predefined or user-defined conversion, trace data can be prepared for display.The visual of data comprises user interface, and by this user interface, user can select one or more predefine to change or input can create the executable code or expression formula newly changed.
The expression formula definable of user's input can be applied to the change of data when preparing visual.Described change can perform statistical study, applied arithmetic function, data splitting field, merge external data or other functions.This expression formula can allow user to create the conversion solving unpredictalbe special scenes when creating visual.
Expression formula can be inserted in the data processing pipeline for feeds of data.In some cases, data processing pipeline can be the real-time streams waterline that can receive, process and show real time data.
Run through this instructions and claims, term " parser ", " tracker " and " testing mechanism " (" instrumentation) " be used interchangeably.These terms refer to any mechanism can collecting data when applying and being performed.In classics definition, " testing mechanism " can refer to and can insert executable code to it and change the counterfoil (stub) of this executable code, hook (hook) or other Data Collections mechanism by this, and " parser " or " tracker " can refer to the Data Collection mechanism of immutable executable code classically.Any one using in these terms and derivative thereof all can contain or imply each other.Such as use the Data Collection of " tracker " that the non-contact data in the classical meaning of " tracker " can be used to collect and can the Data Collection of classical meaning of reformed " testing mechanism " perform with wherein executable code.Similarly, the data of being collected by " testing mechanism " can comprise the Data Collection using non-contact data collection mechanism.
In addition, the data of being collected by " anatomy ", " tracking " and " testing mechanism " can comprise the data of collectable any type, comprise such as processing time, handling capacity, performance counter and so on performance-relevant data etc.The data collected can comprise function name, the parameter transmitted, memory object title and content, the message transmitted, message content, registration table setting, registration table content, error flags, interruption or any other parameter relevant with just tracked application or other collectable data.
Run through this instructions and claims, term " execution environment " can be used for the support software of any type referred to for performing application.An example of execution environment is operating system.In some diagrams, execution environment feeding can be illustrated as separating with operating system.This may be the virtual machine providing each support function in order to be depicted as application, such as process virtual machine.In other embodiments, virtual machine can be the system virtual machine that can comprise its oneself domestic os and can simulate whole computer system.
Run through this instructions and claims, term " execution environment " comprises operating system and can have or can not have the other system of " virtual machine " or other support softwares that can easily identify.
Run through this instructions, in the whole description of accompanying drawing, identical Reference numeral represents identical element.
When element is called as " being connected " or " being coupled ", these elements can be connected directly or be coupled, or also can there is one or more neutral element.On the contrary, when element be called as be " directly connected " or " direct-coupling " time, there is not neutral element.
This theme can be embodied as equipment, system, method and/or computer program.Therefore, partly or entirely can the specializing with hardware and/or software (comprising firmware, resident software, microcode, state machine, gate array etc.) of this theme.In addition, this theme can adopt computing machine to use or the form of computer program on computer-readable recording medium, has included the computing machine used together for instruction execution system or combined command executive system and can use or computer-readable program code in medium.In the context of this document, computing machine can use or computer-readable medium can be can comprise, store, communicate, propagate or any medium that transmission procedure uses together for instruction execution system, device or equipment use or combined command executive system, device or equipment.
Computing machine can use or computer-readable medium can be, such as, but not limited to, electricity, magnetic, optical, electrical magnetic, infrared or semiconductor system, device, equipment or propagation medium.Exemplarily unrestricted, computer-readable medium can comprise computer-readable storage medium and communication media.
Computer-readable storage medium comprises the volatibility and non-volatile, removable and irremovable medium that realize for any method or technology that store the information such as such as computer-readable instruction, data structure, program module or other data.Computer-readable storage medium comprises, but be not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical disc storage, tape cassete, tape, disk storage or other magnetic storage apparatus, maybe can be used for storing information needed and any other medium can accessed by instruction execution system.Note, computing machine can use or computer-readable medium can be it prints have the paper of program or another suitable medium, because program can via such as catching electronically the optical scanning of paper or other media, be compiled if necessary subsequently, explain, or with other suitable mode process, and be stored in subsequently in computer memory.
When specializing in the general context of this theme at computer executable instructions, this embodiment can comprise the program module performed by one or more system, computing machine or other equipment.Generally speaking, program module comprises the routine, program, object, assembly, data structure etc. that perform particular task or realize particular abstract data type.Usually, the function of program module can carry out combining or distributing in various embodiments as required.
Fig. 1 is the diagram of the embodiment 100 that example power guiding figure is shown.Embodiment 100 is examples of power guiding figure and various control, this power wire figure can with display object in messaging relationship each other, this various control can be used to check this figure with data set sequence.
The power guiding figure of embodiment 100 can explain orally the message transmitted in Message Passing Environment.As the example of this environment, independent calculating element can process all parts of application.During processing, each calculating element can calculate to another message that element transmission comprises data, instruction or other elements.In this environment, power guiding figure can be used to the activity between visual each calculating element and described element.In many cases, power guiding figure can be used to bottleneck term of execution of mark or other are abnormal.
The power guiding figure of embodiment 100 can illustrate the time period term of execution of application.In these embodiments, the execution of application can tracked device and power guiding figure can illustrate how application takes action in time.The data of the available new collection of power guiding figure of embodiment 100 are updated periodically, and this can illustrate each operation of this application visually.
The power guiding figure of embodiment 100 can illustrate each operation of application.In certain embodiments, power guiding figure can illustrate each equipment at discrete time section place or the system state of application.Illustrate that an example of the figure of system state can comprise the node of state representing memory object, function, input-output apparatus, memory storage device or other hardware or software object.In certain embodiments, power guiding figure can illustrate contingent activity between two time periods.The message that the example of this figure can comprise function or process and transmit between each process.
Power guiding figure can illustrate the node 102,104,106 and 108 connected by each bar limit.Limit 112 connected node 102 and 104.Limit 114 connected node 102 and 106, and limit 116 connected node 102 and 108 and limit 118 connected node 106 and 104.Also show additional node and limit.
Connect the gravitation of two nodes with limit by applying, and applying repulsion in general manner to each node carrys out computing power guiding figure simultaneously.In many examples, power guiding figure can interactive mode show, and by click and drag object or can carry out this figure of disturbance by certain other mechanism to make user.When introducing disturbance, interactive map can show each node and change position, limit.
The power guiding figure of embodiment 100 can show additional data elements.Such as, the relative size of each node, shape and color can be configured to the heterogeneity of instructs node.In another example, limit can use fineness degree, color and other visual elements to show character.
When the execution of power guiding figure display application, node can represent calculating element.Calculating element can be process, thread, processor, equipment or can to other elements of other element pass-along messages.In this figure, limit can represent the message transmitted between calculating element.
Represent that the node calculating element can be modified to reflect additional data.Such as, the color of node or shape can be modified to show the marshalling calculating element.In the example of embodiment 100, legend 126 illustrates the implication of different colours or pattern and the described pattern being applied to node.Represent that the node from the calculating element of storehouse A120 can comprise node 102 and 108.Represent that the node from the calculating element of storehouse B122 can comprise node 104 and 106.Node 110 can represent kernel process 124.
Marshalling can reflect the different sharing character of each object.Such as, node can be organized into groups according to storehouse, code module or other groups, and this marshalling can help developer's prehension program stream.In another example, node can be organized into groups by memory consumption, wherein represent that those nodes of the calculating element consuming mass data are grouped in together, or the calculating element wherein quoting specific memory group of objects is grouped in together.In another example, process specific process scheduler operated or function can be shown as group.In another example, may can be organized into groups by the node relevant with a memory domain.
In certain embodiments, the part that legend can be used as figure shows.Legend can have color, shape or other visual elements and respective labels.In certain embodiments, legend can have selects mechanism, and by this selection mechanism, user can use drop-down menu or other selection tools to select a marshalling.In some these type of embodiments, user can select a visual effect to correspond to a marshalling, and another visual effect may correspond in another marshalling.Such as, legend can be used to according to configuring marshalling by the memory domain shown in the shape that represents each territory, and the node relevant with specific service can be organized into groups according to color.
Legend 126 can have the selection tool for selecting the marshalling that will be shown.Switching push button 136 can open drop-down list, and this drop-down list can comprise some options.When embodiment 100, option can comprise according to processor 138, memory domain 140, scheduler 142 and service 144 marshalling.Current selection, as indicated by star is selected in service 144.When user selects a different marshalling, apply this marshalling by changing color, shape or other visual elements to each node.
Each size of node can reflect the different aspect calculating element.Such as, large I represents calculated amount that element-specific performs, the invoked number of times of this element, the data volume of this element process or other factors.In some cases, particular color can be applied to the element received from the input data of external source, and a different colours can be applied to the element transmitting and export data.
Similarly, limit can be revised to show each side of message.Such as, message can be aggregated to show directivity along the message number of particular path, the frequency of message, the data payload of message and message and other characteristics.Limit corresponding to message can use different fineness degrees, color or other visual elements to revise the one or more parameters illustrated in assembled parameter.
The operation of application can produce the many message that can transmit in time.This data relevant with the time can the time series of usage data collection show, and wherein each data set can be reflected in the state of this application of a time period or the gathering as the message transmitted in interim time.
In certain embodiments, tracker can be collected messaging information from active application and collected data be stored in a database.The Message Transmission that collector can be analyzed this database to summarize for the individual time interval is movable.In some cases, this summary can be performed by tracker and is not stored in by messaging data independently in database.
In this power guiding figure, the data through assembling are shown by the data in renewal power guiding figure.Power guiding figure many visual in, updatable data collection, thus make capable guiding figure renewal after data reorientate self.
Power guiding figure can reflect the operation of application in real time.In such an embodiment, tracker system can be collected the messaging data from computing environment and assemble these data for presenting.This data can be upgraded by a period distances (such as per second), subsequently these data are sent to the system of display power guiding figure.Power guiding figure can be updated and along with upgrading change at every turn, thus allows user in real time or the operation of nearly visual application in real time.
When data set can be collected and store in such an embodiment, control panel user interface can allow user to browse and check each data set.Such as, invert button 128 can make to show older data set according to contrary order.Broadcast button 130 and pause button 132 start and stop can upgrade power guiding figure.Fast forward button 134 can make playback according to than normal speed faster speed carry out.
Fig. 2 is that display can be collected and show the diagram of the embodiment 200 of the computing environment of messaging data in the drawings.Embodiment 200 illustrates the nextport hardware component NextPort can presenting the operation described in embodiment 100 and other embodiments.
The functional module of the system that illustrates of Fig. 2.In some cases, assembly can be the combination of nextport hardware component NextPort, component software or hardware and software.Some assemblies can be application layer software, and other assemblies can be execution environment level assemblies.In some cases, assembly can be compact siro spinning technology to the connection of another assembly, and wherein two or more assemblies operate on single hardware platform.In other cases, the network connection connected by span length's distance is carried out.Each embodiment can use different hardware, software and interconnect architecture to realize described function.
Embodiment 200 shows the equipment 202 can with hardware platform 204 and each component software.The equipment 202 illustrated represents conventional computing equipment, but other embodiment can have different configuration, framework or assembly.
In many examples, Optimized Service device 202 can be server computer.In certain embodiments, Optimized Service device 202 still can also be the computing equipment of desk-top computer, laptop computer, net book computing machine, flat board or tablet computer, wireless phone, cell phone, game console or any other type.In some cases, Optimized Service device 202 can be deployed in that calculating is trooped, on cloud computing environment or other hardware platforms.
Hardware platform 204 can comprise processor 208, random access memory 210 and non-volatile memories 212.Hardware platform 204 also can comprise user interface 214 and network interface 216.
Random access memory 210 can be that comprise can by the storage of the data object of processor 208 fast access and executable code.In many examples, random access memory 210 can have high-speed bus storer 210 being connected to processor 208.
Non-volatile memories 212 can be the lasting storage kept after closing device 202.Non-volatile memories 212 can be the memory device of any type, comprises the storage of hard disk, solid-state memory device, tape cassete, optical memory or other types.Non-volatile memories 212 can be read-only or can read/write.In certain embodiments, non-volatile memories 212 can be the network storage based on cloud or other storages by network connected reference.
User interface 214 can be can display translation and receive the hardware of any type of input from user.In many cases, output display can be graphics display monitor, but output device can comprise light and other visions export, audio frequency exports, power actuator exports and other output devices.Conventional feed device can comprise keyboard and pointing device, such as mouse, stylus, tracking ball or other pointing devices.Other input equipments can comprise various sensor, comprise biometric input device, Voice & Video input equipment and other sensors.
Network interface 216 can be the connection of any type to another computing machine.In many examples, network interface 216 can be that wired ethernet connects.Other embodiments can comprise the wired or wireless connection based on various communication protocol.
Component software 206 can comprise operating system 218, and various application 244 and service can operate in operating system 218.Operating system can provide level of abstraction between executive routine and nextport hardware component NextPort 204, and can comprise the various routine and function that directly communicate with each nextport hardware component NextPort.
Each had hardware platform of various equipment shown in embodiment 200.Corresponding hardware platform can be similar to hardware platform 204.Equipment can be the hardware platform of any type, such as personal computer, server computer, game console, flat computer, mobile phone or have any miscellaneous equipment of programmable processor.
Analyzer equipment 202 can comprise operating system 208, and this operating system can support other component softwares various.Described assembly can comprise analyzer 220, and this analyzer can be visual preparation data.Analyzer 220 can use extraction apparatus 222 obtain apply run time collect data and use collector 224 to assemble these data to create can by the visual data of visualizer 226.
Collector system 230 can operate and have gatherer 234 on hardware platform 232, and this gatherer can be collected in the trace data of collection when application performs and these data is stored in database 236.These data can be processed by analyzer 220 subsequently.
Client device 238 can have hardware platform 240, and browser 242 can perform in this hardware platform.Browser 242 can show the Figure 24 4 that can be generated by visualizer 226.
The framework of embodiment 200 shows wherein analyzer 202 and can be the system that visualizer 226 prepares Figure 24 4 that data can be played up with display in browser 242.In this framework, messaging data can be collected on an ongoing basis, independently treatment step can be performed by analyzer 220 subsequently.This framework can allow to perform the repeatedly analysis to raw data.
Such as, when raw data is stored before analysis, the time series of data set can be configured to have Different periods.Such as, can create the time series for long-time section, it illustrates the change that can occur during long-time section.Meanwhile, detail time sequence can be created for the very little time period.The longer time period can help user to understand the long term activity of earthquake occurred in the application, and detailed time series can show much higher level of detail with such as debugging.
Some in the operation of gatherer 234 and analyzer 220 can be included in single component by another embodiment.In such an embodiment, data can analyzed, assemble and prepare to check in single component software.This assembly can be integrated in tracker, and this tracker and tested application run on the same device in some cases.Some other frameworks can perform similar operations but be configured differently.
The example of computing environment 246 show can with high-performance computing environment or wherein Message Transmission multiple equipment of other environmental interactions that can be deployed.Each equipment 248,256,264 and 272 can have corresponding hardware platform 250,258,266 and 274.Application 252,260,268 can perform by the corresponding tracker 254,262,270 on corresponding hardware platform with 272 together with 278.
The example of computing environment 246 can be deployed in cluster environment, decentralized computing environment or certain other modes, can communicate with one another to make each equipment.Application can comprise the identical or different executable code that can be configured to other equipment pass-along messages and compare larger operating load performed on single equipment to perform.
Another example of computing environment can be application apparatus 280, and this application apparatus 280 can have the hardware platform 282 that can comprise one or more processor.On each processor, multiple process can perform and between each process pass-along message.In the example of equipment 280, four processors 284,288,292 and 296 are shown as just at executive process 286,290,294 and 298.
An example of this system can dispose functional language (such as Erlang), and by this language, single application can use many individual processes, thread or other Computing Metas usually to perform.Each element communicates with one another by pass-along message in equipment 280.In some applications, thousands of, tens thousand of or even millions of process and message can the term of execution form application.
Fig. 3 is the process flow diagram of the embodiment 300 illustrated for the method for monitoring data.Embodiment 300 shows the operation of tracker, and this tracker can be collected messaging data and store data in database for analyzing after a while.The operation of embodiment 300 can reflect the operation of tracker 254, such as, in embodiment 200.
Other embodiments can use different sequences, more or less step and different names or term to complete identity function.In certain embodiments, each operation or operational set can operate with other and perform concurrently with synchronous or asynchronous system.Step selected is herein in order to illustrate that certain operations principle is selected in simplified form.
Embodiment 300 can illustrate that each message transmitted by this can be analyzed with the method for collecting various data.The framework of embodiment 300 shows a routine that can monitor application, and when message is identified, data collector example can be deployed.Data collector example can be collected various data and store this data.
Application can start and monitor to start in block 304 in block 302.When message is identified in frame 306, data collector example 312 can be deployed.Supervision can continue in frame 308, until another message is identified, makes this process turn back to frame 306 and starts another data collector example 312.When not identifying more message in frame 308, this process can terminate in a block 310.
Data collector example 312 can reflect can to the operation of the process of single Message Opcode or function.According to this message, sender and recipient can be identified in block 314.The data transmitted in this message payload can be collected in frame 316.
Information about sender can be collected in frame 318, and can be collected in a block 320 about the information of recipient.This information can comprise can perform how many process, the character of process or other information.Once have collected all information, then can store this message data in a block 322.
Fig. 4 illustrates for analyzing and the process flow diagram of the embodiment 400 of the method for aggregate data.Embodiment 400 shows the operation of analyzer, and this analyzer analysis is also gathered in the data of collecting in embodiment 300.The operation of embodiment 400 can reflect the operation of analyzer 220, such as, in embodiment 200.
Other embodiments can use different sequences, more or less step and different names or term to complete identity function.In certain embodiments, each operation or operational set can operate with other and perform concurrently with synchronous or asynchronous system.Step selected is herein in order to illustrate that certain operations principle is selected in simplified form.
Embodiment 400 shows the example how can analyzing messaging data before visual.In certain embodiments, embodiment 400 operation can with the operation of data monitoring method inline perform.Some such embodiments can be applied method for congregating 400 and create the data that can be ready to as soon as possible for display in tracker, to allow the real-time or closely real-time visual of application.
The periodicity of data set can be determined in frame 402.The periodically definable seasonal effect in time series time interval.In order to monitor application, seasonal effect in time series can be periodically be less than 1 microsecond, within the scope of submicrosecond, in several seconds or longer value.Depend on this application, some examples can have tens of second, a few minutes, several tens minutes, a few hours, a couple of days, several weeks or longer time period.
Start time section can be selected in frame 404.The message transmitted within this time period can be identified in block 406.In some cases, selected message can have the multiple message transmitted between calculating element, and described multiple message can sort in block 408 according to message pathway.
For each message pathway in frame 410, summary can be made to transmitted message in block 412.This summary can comprise the number of message, the direction of those message, the data volume transmitted, frequency or other statisticss.In some cases, summary can be non-linear summary.Such as, logarithm, square, cube or other functions can be used to generate the summary through assembling.In many Data Collection scenes, some objects can accessed once, twice or for several times, and other objects can be accessed thousands of or even millions of times.Compare to present this data in figure, can the non-linear zoom (scaling) of usage data.
Each node can be identified in frame 414.For each node in frame 416, Activity On the Node can be summarized in frame 418.This summary can comprise this calculated amount performed by calculating element, be passed to this element or from this element transmit input or output data, performed calculating type and with calculate relevant statistics, the such as rush hour, wait, execution refuse collection, heap size, memory calls or other information.
After dissecting needle is to all message datas of this time period, in frame 420, this message data can be stored as data set.If another time period will be analyzed in frame 422, then can increase progressively this time period in frame 424 and this process can be back to frame 404.When not having more time section to want analyzed in frame 422, this process can terminate in frame 426.
Fig. 5 be illustrate for dispose and renewal figure method embodiment 500 flow process diagram.Embodiment 500 shows the operation of the visualizer of the data of assembling in embodiment 400.The operation of embodiment 500 can reflect the operation of visualizer 226, such as, in embodiment 200.
Other embodiments can use different sequences, more or less step and different names or term to complete identity function.In certain embodiments, each operation or operational set can operate with other and perform concurrently with synchronous or asynchronous system.Step selected is herein in order to illustrate that certain operations principle is selected in simplified form.
Embodiment 500 shows two independently activities that can be performed to show figure.Baseline chart can be created and shows and can add highlighted on an ongoing basis in frame 504 in frame 502.
The baseline chart of frame 502 can show the figure on all nodes and the limit comprised from large database.In many instances, the application of this figure representation long period of operation and can be useful for understanding for this application.
Database can be selected with visual in block 506.All time periods can be analyzed to identify all nodes and identify all message pathways in frame 510 in frame 512 in frame 508.In certain embodiments, summary statistics data can generate respectively in frame 510 and 512 on all nodes and limit.Corresponding figure can be generated in frame 514.
The baseline chart generated in frame 514 can be the static map of the summary statistics data illustrated from many time periods.In many examples, baseline chart can be taken on for other illustrated frameworks.
Such as, the operation of highlighted activity in frame 504 can identify and those changes be covered baseline chart the change of this figure from a special time period.In such example, the expression of message that baseline chart can comprise all calculating elements and can be passed at the life period of application.In order to see nearest operation, the operation in current slot can be identified and show with vision is highlighted, is not wherein that other that implement in this time period calculate elements and message and can not be with and be shown highlightedly.In such an example, all nodes and Bian Ke are shown according to becoming the ash mode of (greyed-out) of fading out, and wherein the current node that performing and the vivid color of message illustrate.
In this display, baseline chart can provide visually hereafter, current change can this visually hereafter on display.
The operation of highlighted activity in frame 504 can be included in the user's input receiving select time section in frame 518.Data set for the selected time period can be retrieved in frame 520.
Node in the selected time period and Bian Ke are identified and be shown as being highlighted in frame 524 in frame 522.Those nodes unaltered in this time period and Bian Ke are identified and be shown as not being highlighted in frame 528 in frame 526.
In many cases, user can select current slot to show.This selection can upgrade figure in real time or closely in real time.When an embodiment comprises various navigational tool (such as the control knob of embodiment 100), user can browse, rolls or use certain other mechanism to identify the data set that will show.
When the time period when applying execution upgrades visual, some embodiments only can be presented at those elements that on seasonal effect in time series, a sampling time Duan Zhongyi changes.In such embodiments, power guiding figure or other visual shapes can change fast, particularly when this time period very in short-term.
Some these type of embodiments can decay along with repeatedly upgrading and remove element.In such an embodiment, each node or limit can be displayed up to the time period of predefine number, are removed subsequently by from this figure.When this node becomes older and used, in some these type of embodiments, this node can be shown according to becoming the grey mode faded out.
Fig. 6 is the flow process diagram of the embodiment 600 of the method for the trace illustrated for generating the object in figure.Embodiment 600 show with can to another version of the change that baseline chart is made like the class of operation of embodiment 500.In some cases, the operation of embodiment 600 can be modified with the renewal figure when not using baseline chart.
Other embodiments can use different sequences, more or less step and different names or term to complete identity function.In certain embodiments, each operation or operational set can operate with other and perform concurrently with synchronous or asynchronous system.Step selected is herein in order to illustrate that certain operations principle is selected in simplified form.
The operation of embodiment 600 can illustrate a kind of method that object and impact thereof can be shown by this in figure (such as power guiding figure).After defining objects, come from one of the message of this object, two, or more generate can be highlighted to create the renewal to baseline chart.This renewal can be used as highlighted node and limit is displayed on baseline chart to illustrate the impact of selected object.
Baseline chart can be created in block 602 and show.The example of the operation of frame 602 can find in the frame 502 of embodiment 500.
Can be received in block 604 the selection of tracing object.Tracing object can be other parameters that any event, memory object, condition, function or user may wish to check.User can define the memory object that will follow the tracks of, such as, when this memory object is changed or is configured to particular value.Once meet this condition, then the impact of this condition can be shown.
After definition tracing object, the example of this tracing object can be searched in messaging data storehouse.In some cases, the Multi-instance of this condition can be identified.When there is Multi-instance, can for the time series of each example generation data set and user can select to check time series data collection between each example.
For each example in frame 608, the starting point of this sequence can be identified.This starting point can be this condition source start time of rising or time period.
Any message quoting this tracing object can be identified and be added to trace list in frame 612.Selected object with calculate element interactions and this calculating element calculate element pass-along message to another time, message can quote tracing object.Such as, tracing object can be the incoming event that can calculate element process by first, and this first calculating element can send message to two other calculating elements.These message can be added to trace list in frame 612.
The operation of frame 612 can identify the origination message collection that can be triggered by tracing object or condition.For each message in the trace list in frame 614, downstream messages can be identified in block 616 and be added to trace list.Downstream messages can be the message that possible triggered by the origination message of mark in frame 612.If expect the additional generation of message in frame 618, then this process can be back to frame 614 to add additional message.
When all expectations that can identify message in frame 618 generate, the time series of all generations of message can be created in frame 620.This time series can comprise the independently data set representing that the individuality that can be delivered to from calculating element the message calculating element in response to this trace condition generates.
One example can be selected in frame 622, and message can be shown as highlighted message in frame 624.In many cases, highlighted message can be displayed on and can to create in block 602 and on the framework of the baseline chart shown.
Fig. 7 is the diagram of the seasonal effect in time series embodiment 700 that the data set being shown as power guiding figure is shown.Embodiment 700 illustrates time A702, time B704, time C706 and time D708.Embodiment 700 is the simplification examples of the power guiding figure that can increase in time and decay.
Embodiment 700 show can be created and can with each follow-up time step increase and decay simple power guiding figure.
Step place when initial, time A702, node 710,712 and 714 are illustrated.Step place second time, time B704, node 716 can be added.
The 3rd time step in, time C706, node 718 are added and node 712 can be removed or by change ash fade out pattern display.The 4th time step in, time D708, node 720 are added and node 710 and 712 can be removed or by change ash fade out pattern display.
Embodiment 700 shows the progress of application trace in time.In each time period, calculating element can be represented by node, and the message transmitted between calculating element can be represented by the limit in figure.Initially, in time A702, have three calculate elements and two message pathways and used.Along with the time advances, additional calculating element is used and additional message pathway is used.
At time C706, one of described node and message pathway may no longer be used.In this case, some embodiments can retain the expression of node 712 as the version becoming ash desalination.Other embodiments can not removed node 712 by during utilization at node 712.
Some embodiments can decay this expression in time.In such an embodiment, each node can be illustrated and reach some time section, even if when this node is used at follow-up time Duan Zhongwei.This node can be illustrated by full color intensity when initially showing, and this node can illustrate by less intensity in each time period subsequently subsequently, until this node can by the moment removed from this figure.This embodiment can retain node and reach several time periods as seen, to make user can this node visual, but can not removed this node by during utilization at this node.
In one example, in the expression through animation, node can with full strength be displayed up to two, three, or more the time period.After initial display, this node can illustrate by the intensity reduced gradually and reach another 15 time periods, and this node can be removed by from this figure afterwards.In certain embodiments, can be adjusted by user for decay and the time period for initial representation.
Fig. 8 A, 8B and 8C are the diagrams of the example embodiment 802,804 and 806 that power guiding figure is shown in the user interface.Embodiment 802,804 and 806 shows mutual sequence, and described mutual available subscribers input performs to select one group of pictorial element, performs an action subsequently to selected element.Each element in element 802,804 and 806 comprises power guiding figure and legend 808.
Embodiment 802,804 and 806 can illustrate the one mechanism for selecting multiple element from power guiding figure.This mechanism can be the regional choice using rectangular window.Other embodiments can select element set by other selection mechanism by grant user, and described other are selected all lasso tools in this way of mechanism, clicked on continuous element or other mechanism.
The node of embodiment 802,804 and 806 is marked jointly.Power guiding figure is made up of node 810,812,814,816,818 and 820.
Embodiment 802 can represent the power guiding figure shown in the user interface.Embodiment 804 can illustrate the power guiding figure of the embodiment 802 with window selection.This window selection is by putting 822 and 824 definition to define choice box 826.
Choice box 826 can be created by defining point 822 and 824 by user.Stylus, cursor or other pointing tool can be clicked and be pulled to for creating a little 822 and 824 a kind of mechanism in region shown by power guiding figure.
Choice box 826 can catch node 812 and node group 814, and it can illustrate a use scenes.Specifically, power guiding figure or other visual can according to do not having may not have in visual situation so significantly mode to illustrate relation and the group of element.Can allow user fast by the selection mechanism of this visual execution and select related object simply, particularly by other this relations of mechanism may and not obvious time.
Such as, node 812 can a function in library representation and node 814 can represent one group of function in the second storehouse.When initially starting, programmer perhaps or perhaps can not determine that these two collections of functions are relevant.At operation tracker in power leads Figure 80 2 after this relation visual, programmer can identify described relation.
After selection node 812 and node group 814, user can perform additional operations, as shown in embodiment 806.
In embodiment 806, selected item 812 and 814 can be shown as and be highlighted, and the remainder of this power guiding figure can be shown as and is not highlighted.Some embodiments can use transparency, such as become ash fades out the Color schemes such as color or other visual cues to show non-highlighted element.Some embodiments can use brighter or vivider color, different palettes, fineness degree or other visual cues to carry out the element of display high-brightness.
Once be selected, then the group selected by described Xiang Kexiang applies certain movable or change.This change can be selected from user interface components 828, and this user interface components can have various option 830 and 832.
In certain embodiments, the mode that selected activity can make tracker change data be collected.In such an embodiment, power guiding figure can be the user interface components for controlling or manage tracker.An example of this change can be the details of the tracking of the element selected by increase.This change can increase the tracking data of subsequent time slice.In another example, selected element can be removed from following data centralization by indicators track device.In this change, tracker can reduce the data volume of collecting in future time sheet.
In certain embodiments, the mode that selected activity can make pretreater change trace data be processed or present on a user interface.Example can be for selected element display cumulative data or visually highlighted can from the object of selected element flowing.But this selection can not make the data collected by tracker change can make the mode that pretreater or visualizer change data are illustrated.
Fig. 9 A, 9B and 9C are the diagrams of the example embodiment 902,904 and 906 that power guiding figure is shown in the user interface.Embodiment 902,904 and 906 shows mutual sequence, and described mutual available subscribers input performs to select one group of pictorial element, performs an action subsequently to selected element.Each element in element 902,904 and 906 comprises power guiding figure and legend 908.
Embodiment 902,904 and 906 can illustrate the one mechanism for selecting multiple element from power guiding figure.This mechanism can use legend label to select the member of the group of element.
The node of embodiment 902,904 and 906 is marked jointly.Power guiding figure is made up of node 910,912,914,916,918 and 920.
Embodiment 902 can represent the power guiding figure shown in the user interface.Embodiment 904 can illustrate the power guiding figure of the embodiment 902 with the selection made from legend 908.Selection 922 in legend 908 can make all objects having a membership qualification in group B be selected and highlighted.
Node 910 and 920 is depicted as the selected members of group B by embodiment 904, and surplus element can be shown as and is not highlighted.The relation of node 910 and 920 is also shown as and is highlighted, and remains relation or limit and can be shown as and be not highlighted.
Once the element be associated with selection 922 is selected, then user interface components 924 can be presented.User can select to apply change to tracker or change that is how pretreated to data and display between option 926 and 928, its mode and user interface components 828 similar.When making a choice, start button 930 can be used to this change is implemented.
Figure 10 illustrates for the process flow diagram by controlling the embodiment 1000 of the method for tracker with the user interactions of figure.Embodiment 1000 shows the short-cut method that can perform together with the example user interface of 906 with 806 and embodiment 902,904 with embodiment 802,804.
Other embodiments can use different sequences, more or less step and different names or term to complete identity function.In certain embodiments, each operation or operational set can operate with other and perform concurrently with synchronous or asynchronous system.Step selected is herein in order to illustrate that certain operations principle is selected in simplified form.
Can initial data set be received in frame 1002, and can figure be shown in frame 1004.If do not have user to select in frame 1006, then new data set can be received and this process can be back to frame 1004 with the figure after renewal is shown at frame 1008.
The circulation of frame 1004 to 1008 can illustrate the normal running that the user interface for time series data shows.This figure can along with the sequence of the data set in time series continuous updating.
At frame 1006, user can select one or more elements of this figure.In certain embodiments, renewal can be suspended in frame 1010.Upgrade wherein this figure may change fast and when scheme change time user perhaps can not select expect element set be suspended.
Once element can be selected, then can select the change that will perform those in frame 1012.Change described in frame 1014 and can be transferred into tracker, and this process can be back to frame 1008, can receive new data set at this place.
Figure 11 is the diagram of the embodiment 1100 that computing environment is shown, this computing environment can be collected and be shown messaging data in the drawings, uses this figure subsequently to control how to collect those data.Embodiment 1100 illustrates the nextport hardware component NextPort can presenting the operation described in embodiment 1000 and other embodiments.
The functional module of the system that illustrates of Figure 11.In some cases, assembly can be the combination of nextport hardware component NextPort, component software or hardware and software.Some assemblies can be application layer software, and other assemblies can be execution environment level assemblies.In some cases, assembly can be compact siro spinning technology to the connection of another assembly, and wherein two or more assemblies operate on single hardware platform.In other cases, the network connection connected by span length's distance is carried out.Each embodiment can use different hardware, software and interconnect architecture to realize described function.
Embodiment 1100 illustrates network environment, and wherein visual being used to of trace data controls tracker operation.Visualization device 1102 can show figure and provide user interface, and controller equiment 1104 can control the data set that will be shown, and the operation of management tracker.Controller equiment 1104 can from data storage bank 1106 retrieve data.Tracker equipment 1108 can collect trace data when running application 1138.All each equipment can be connected with network 1110.
Visualizer equipment 1102 can be included on hardware platform 1112, and browser 1114 can perform on this hardware platform.Visualizer 1116 can be run in browser 1114 can in user interface 1118 code of generation figure.
Controller equiment 1104 can be used as back-end server operation, and this back-end server performs some services of the operation supporting visualizer equipment 1102.
The example of embodiment 1100 shows wherein visualizer 1116 and can reside at other services on client device and can reside at the framework on server apparatus.Visualizer 1116 can be positioned on client device to improve and the Consumer's Experience through the figure of animation.When on the equipment that visualizer 1116 is positioned at user, the fluency of animation and the response of figure can be enhanced with the visual framework that can perform on a remote device relative to wherein playing up.
Its remote device enforcement division is divided or whole visual embodiment can be useful in following situation: wherein client device may not have enough processing poweies to play up figure.Compared with can generating with client-side visualization tool, this type of embodiment can allow more complicated and detailed playing up.
Controller equiment 1104 can provide two different functions, one of them can be data browser 1126, can be retrieved by this data browser and prepare for visual data, and tracker configuration manager 1122, wherein the change of tracker can be created and assign.User interface communication device 1124 by the component accesses in browser 1114 to cause the change in browser 1126 or tracker configuration manager 1122.
In certain embodiments, user interface 1118 can comprise dialog box, selection tool or other user interface components that can be used to the configuration configuring or change tracker.This type of configuration can comprise and operates relevant item with the generality of tracker, such as sample frequency, the resource distributing to tracker, beginning or stop condition and other general option of operation of tracker.In certain embodiments, this type of change can be employed or be applied to the item selected from this figure in general manner.
Data browser 1126 can prepare described data set to be checked by visualizer 1116 from data storage bank 1106 retrieve data collection 1128.Data browser 1126 can in response to Playback controls, the control 128 to 134 in such as embodiment 100.
The data browser 1126 being in normal playback mode can retrieve data collection 1128 this data set can be used visualizer 1116.In many examples, this action can perform on that repeat, periodic basis according to the time series represented by data set 1128.Such as, a time series can be created, and wherein data set 1128 can represent the time per second during a time series.In the example present, data browser 1126 can per secondly make each follow-up data collection available.
User interface communication device 1124 order that can receive from browser 1114 suspends, rewinding, F.F., broadcasting, stopping and other orders.These orders can be passed to data browser 1126, this data browser can start retrieve data collection 1128 and according to asked sequence and according to asked frame per second or speed to present data set.
Tracker configuration manager 1122 can receive the input from user interface communication device 1124, the change that wherein said input definable will make trace data.Described change can reflect the additional data points that can be collected, and the data point that can be removed or other change.In some cases, described change can reflect behavior or operation change, such as when tracker can be performed, and data collection frequencies, or other change.
Tracker equipment 1108 can operate and have instrumentation (instrumented) execution environment 1132 on hardware platform 1130, and this execution environment can comprise tracker 1134 and the configuration 1136 for tracker 1134.The renewable configuration 1136 of tracker configuration manager 1122 changes behavior to make tracker 1134.
Application 1138 can perform in instrumented execution environment 1132, thus allows tracker 1134 to generate trace data.Trace data can be sent to data storage bank 1106 by data sender 1140.Data sender 1140 periodically can communicate any collected data sending autotracking device 1134 with data storage bank 1106.
Figure 12 is the diagram of the embodiment 1200 of the process illustrated for the visual data from tracker.Embodiment 1200 can illustrate process streamline, and wherein conversion can be inserted into this process streamline.In certain embodiments, the executable code that user writes can be inserted in this process streamline to prepare data for visual according to many different modes.
Tracker 1202 can generate the trace data stream that can be processed by storage flow waterline 1204.Storage flow waterline 1204 can use the set of the conversion in frame 1206 to prepare and process trace data to store in frame 1208.In certain embodiments, trace data can be the continuous items stream that can be generated by tracker 1202.This data stream can increase in time and reduce in amount.In other embodiments, trace data can be the snapshot of the data in specific interval report.This data stream can be repeated routinely.
Storage flow waterline 1204 can be the set to the conversion in data stream application frame 1206, makes the set of procedures that data are stored in frame 1208 subsequently.Conversion in frame 1206 can before storing to market demand format, data analysis, gathering or other changes.In many cases, the conversion in frame 1206 can perform other operations that deduplication, compression, differentiation maybe can reduce the trace data side in frame 1208, and formats these data for retrieving after a while.
Conversion in frame 1206 can be employed before the storage of trace data in frame 1208.When this conversion can be accuracy that is that damage or that otherwise reduce data, fidelity or integrality time, this conversion can be lasting in the sense: analysis after a while possibly cannot re-create raw data.
After storage in frame 1208, visualization pipeline 1210 can apply additional conversion set before visualized data in frame 1216 in frame 1214.Visualization pipeline 1210 can prepare these data for visual.Conversion in frame 1214 may not be lasting in the sense: the raw data in frame 1208 still retains, thus allows in analysis after a while, apply different conversion set.
Conversion in frame 1214 can perform for preparing data for visual various operation.In some cases, the conversion executable formatization in frame 1214 and other operations, can accept to make the visualizer in frame 1216 and resolve to import data into.In some cases, the conversion in frame 1214 can perform filtration, gathering, statistical study and can affect which data be shown and data by how to show other operation.
Visualizer in frame 1216 can be user can use check data and control data by the part of user interface 1218 how to show.For the user interface that control data can be able to be in frame 1220 by a kind of mechanism how to show, user can create or editor's conversion in this user interface.User can also store in frame 1224 and retrieval conversion for using after a while.In many examples, some pre-configured conversions storehouse or select can be stored for user select and with editor or not with editor together with use.
User interface in frame 1220 can allow user to add and edit the executable code of the part for defining conversion.This executable code can be can be compiled, explain or otherwise as conversion perform any functional description, expression formula or other definition.
Once conversion is added, then, be inserted into process streamline in frame 1228 before, this conversion can stand Malware inspection in frame 1226.Conversion can be identified as and will be employed after the storage before the storage in frame 1206 or in frame 1214.
Figure 13 is the diagram of the embodiment 1300 that example user interface is shown.Embodiment 1300 can illustrate user interface, and user can be deployed as the executable code of conversion by the input of this user interface.
Embodiment 1300 can illustrate visible user interface 1302, this visible user interface comprise power lead Figure 130 4, legend 1306 and control set 1308.Power leads Figure 130 4 enabled node and limit form to show trace data, and wherein limit can represent the relation between object.Legend 1306 can the group of display element.Controlling set 1308 can be control knob set, and user inputs playback command to the different pieces of information collection in the time series of checking trace data by described control knob.
Window 1310 can be user by it to select different pieces of information with the interface illustrated in the drawings.Two different option ones 312 and 1314 can reflect can by the predefined conversion selected, and the 3rd option one 316, wherein user can input in text editor 1318 and edit can executable expressions.User also can select for realizing that process streamline changed in selection 1320.
Described conversion can make data be shown by different way, and is sometimes stored.Described conversion can with defining by effective language, describedly can be compiled or explain to process data by effective language.In some cases, this language can allow to analyze multiple data element together.Its simple examples can be obtain the difference between two elements.
Described conversion can allow apply filters, such as to show the trace data from specific function or memory object, eliminates other data simultaneously.In some cases, described conversion can comprise expression formula, is such as greater than 10 seconds and the data being less than the process of 15 seconds with display from operating to reach.
Example for the false code of expression formula can be:
on_event(type,data)
olddata=fetch(type)
newdata=olddata+data
put(type,new_data)
Above false code can be applied to shown each variable with for each timeslice in described time series to this variable occur at every turn count.In this conversion, shown data can increase in time.
Because described conversion can comprise the code that user provides, so described conversion can stand Malware inspection before deployment.Conversion that is that this Malware inspection can attempt catching malice or deformity, can not cause undesired mistake or malice impact to make described conversion.
Figure 14 is that display can be collected and show the diagram of the embodiment 1400 of the computing environment of trace data in the drawings.Embodiment 1400 illustrates the nextport hardware component NextPort can presenting the operation described in embodiment 1300 and other embodiments.
The functional module of the system that illustrates of Figure 14.In some cases, assembly can be the combination of nextport hardware component NextPort, component software or hardware and software.Some assemblies can be application layer software, and other assemblies can be execution environment level assemblies.In some cases, assembly can be compact siro spinning technology to the connection of another assembly, and wherein two or more assemblies operate on single hardware platform.In other cases, the network connection connected by span length's distance is carried out.Each embodiment can use different hardware, software and interconnect architecture to realize described function.
Each had hardware platform of various equipment shown in embodiment 1400.Corresponding hardware platform can be similar to hardware platform 204.Equipment can be the hardware platform of any type, such as personal computer, server computer, game console, flat computer, mobile phone or have any miscellaneous equipment of programmable processor.
Embodiment 1400 shows network environment, and wherein conversion can be deployed with Update Table collection, store and visual operation.Described conversion can be stored and dispose in various context and managed by conversion manager.
Environment can comprise visualization system 1402, controller equiment 1406, conversion manager 1408, tracker equipment 1410 and data repository 1412.Visualization system 1402 can be provided for the user interface of whole system, and can send order to provide data for visual to controller equiment 1406.Conversion manager 1408 can receive, store, test and change to various devices dispatch.Tracker equipment 1410 can collect trace data, and this trace data can be stored by data storage bank 1412.
Visualization system 1402 can comprise the hardware platform 1414 that browser 1416 can run thereon.Browser can present user interface 1418 to user.Browser 1416 can perform visualizer 1420, and this visualizer can create and display figure.Visualizer 1420 can be run with retrieve data in browser 1416 and play up the executable code of figure.Visualizer 1420 can comprise animation routines and can allow user and the mutual interactive component of this figure.
Browser 1416 also can comprise editing machine 1422, and user can as the executable code that various conversion uses in larger system by the input of this editing machine.Described conversion can during Data Collection by tracker, data storage device by storage manager and preparation data used by pretreater for time visual.The code that user provides can be allowed for user's control data can by the customizable options of wide region of how to collect, to store and showing.This control can be useful in following scene: wherein user can test the different modes collecting and check data.
Controller equiment 1406 can operate on hardware platform 1424.Data browser 1426 can control from the user interface 1418 visualization system 1402.Data browser 1426 can select the data set that will be shown by visualizer 1420.Before with communication agent 1432 transmit data set, pretreater 1428 can to the various conversion 1430 of market demand.
Tracker equipment 1410 can operate hardware platform 1434 and have the instrumentation execution environment 1436 that can comprise tracker 1438.Tracker 1438 can have configuration 1440, the behavior of this configuration definable tracker 1438, such as will collect what data and can collect data under what conditions.
Tracker equipment 1410 also can have the set of conversion 1444, and described conversion can process collected data.Change 1444 to be employed before storage data and can be used to assemble, tighten, concentrate or otherwise prepare data to be transferred into data storage bank 1412.Conversion 1444 also can perform data analysis, comprises various statistical study, compares or any other operation.
Data storage bank 1412 can have hardware platform 1456, and storage manager 1458 can operate on this hardware platform.Storage manager 1458 can receive the data from various tracker equipment and applied conversion 1460 before storage data 1462.Conversion 1460 can perform many dissimilar operations before storing, comprises and assembles and tighten, and summarizes, relatively or other operations.
Embodiment 1400 illustrates two positions for changing before application memory.Position can be tracker equipment 1410 place in conversion 1444, and another position can be data storage bank 1412 place in conversion 1460.Each position for changing can change to trace data application before storing.Can apply conversion before data is transmitted in the conversion of tracker equipment 1410 place application, so, some in conversion 1444 can tighten these data or otherwise prepare these data to be sent to data storage bank 1412 by network 1464.
Conversion manager 1408 can operate and can comprise conversion manager 1448 on hardware platform 1446.Conversion manager 1448 receives the conversion from user by visualization system 1402, uses allocator 1450 to make this conversion be dispatched to distinct device.Allocator 1450 can with perform change each devices communicating, transmit and change and conversion is performed under specified requirements.
Such as, allocator 1450 can dispose conversion with packed data before transmission to tracker equipment 1410, and disposes the second conversion to create summary statistics data before storage data to data storage bank 1412.Allocator 1450 can make conversion be with good conditionsi for following the tracks of application-specific 1442 during special time period, makes described conversion be closed subsequently.
Allocator 1450 also can make some conversion be deployed on controller equiment 1406 with prepare, filter or otherwise amendment can in the data of visual middle display.In some cases, the conversion 1430 being deployed to pretreater 1428 can closely be disposed under user control in real time, with make to be presented at visual in data can be changed quickly.
Conversion manager 1448 can receive from the new of user or through editor conversion and use subsequently Malware detector 1452 to determine described conversion whether may be incorrect, incomplete or have cause damaging may.Malware detector 1452 can use various instrument to ratify or refuse given conversion.Such instrument can comprise virus checking device, white list, blacklist or other technologies.
Conversion can be stored in storage vault 1454 by conversion manager 1448.The selectable option that the conversion stored in storage vault 1454 can be used as in browser 1416 can be made.
Figure 15 is the process flow diagram of the embodiment 1500 illustrated for controlling the seasonal effect in time series visualization method for data set.Embodiment 1500 leftward hurdle illustrates the operation of visualizer and user interface 1502 and in right-hand column, data browser 1504 is shown.
Other embodiments can use different sequences, more or less step and different names or term to complete identity function.In certain embodiments, each operation or operational set can operate with other and perform concurrently with synchronous or asynchronous system.Step selected is herein in order to illustrate that certain operations principle is selected in simplified form.
Embodiment 1500 can illustrate the mutual simplification example between user interface 1502 and data browser 1504, and wherein data browser can process data set present data set for visual.This visualizer can have data binding or to data browser other connect to make visualizer to retrieve and to show those data sets be just presented.
Data browser 1504 can present by sequence the figure that data set changes in time to make visualizer present.Control in user interface can present different data set sequences for normal playback, reverse playback, F.F. and other sequences by designation data browser 1504.
Embodiment 1500 shows a kind of method, and wherein sequence can be defined for presenting, through this sequence, subsequent data browser can advance that data set is shown.In embodiment 1500, described sequence can normal forward be play, and wherein data set can be shown according to time series; And oppositely, wherein the sequence of data set is reversed or reverses; And F.F., wherein sequence only can upgrade by two speeds of normal playback to make this figure every a data set display.
Once this sequence is defined, then data browser can use this sequence to search next data set, prepares this data set for checking, and this data set can be used visualizer.Usage data binding is connected with other, and visualizer can collect data set and renewal figure.
In some embodiments in each embodiment presented above, visualizer can operate on one device and data browser can operate on the second device.In some cases, both visualizer and user interface 1502 and data browser 1504 can operate on same equipment or distinct device.
From user interface 1502, order can be sent visual to start in frame 1506.At frame 1508, this order can be received by data browser 1504.
The sequence that definable will show in frame 1510.For normal playback, this sequence can be the time series of the data set in normal, forward sequence.The future time point that will show can be selected at frame 1512, and the data set be associated with this time point can be retrieved at frame 1514.In some cases, this data set can be retrieved by from data storage bank, and this data storage bank can be the remote equipment of being accessed by network.
In frame 1514 after retrieve data collection, any conversion can be applied at frame 1516 and can transmit data set at frame 1518.This process can be back to frame 1512 with next data set in Selective sequence.
Visualizer and user interface 1502 can new data set in sink block 1522 play up in frame 1524 or upgrade this figure.When data set can be upgraded by data browser 1504, visualizer circulates by the circulation of frame 1522 and 1524.
Similarly, data browser 1504 circulates by frame 1512 to 1518 to fetch next data set in sequence, prepares this data set, and this data set can be used this visualizer.The sequential of the circulation of frame 1512 to 1518 can be configured to corresponding with the actual time represented by this data set and make this figure and bottom data upgrade in frame at one time thus.
In certain embodiments, the circulation of frame 1512 to 1518 can be adjusted sooner or slower in make this playback to increase in speed or to reduce.In some cases, data collection frequencies comparable playback frequency is faster, and this can make blowback ratio slower for actual time.In other cases, data collection frequencies comparable playback frequency is much slow, and this can make blowback ratio faster for actual time.
At certain point, user interface 1502 can send rewind command at frame 1502, can be transferred into data browser 1504 in this order of frame 1528.Data browser 1504 can define the new sequence with the time point of reversed sequence in frame 1530.Data browser 1504 can be back to frame 1512 with next data set in Selective sequence.Because this sequence is inverted now, so data browser 1504 can present this data set by reversed sequence, and when this data set can be updated, this visualizer this figure renewable.
Can send from user interface 1502 at frame 1532 pause command, and be transferred into data browser 1504, can pause command be received at this data browser of frame 1534.Data browser 1504 can only stop transmit data set stopping being updated to make this figure at frame 1536.
Can send from user interface 1502 in frame 1538 play command, and be transferred into data browser 1504, can play command be received at this data browser of frame 1540.Data browser 1504 has the new sequence of the time point by forward sequencing at frame 1542 definable, and recovers transmit data set at frame 1544, continues subsequently with frame 1512.
Can send from user interface 1502 in frame 1546 command fast forward, and be transferred into data browser 1504, can command fast forward be received at this data browser of frame 1548.Data browser 1504 can create the sequence of the subset only with available data sets at frame 1550.F.F. wherein can twice speed playback according to normal playback speed when, this sequence only can comprise the data set every.This process can be back to frame 1512 with the sequence of searching loop data set.
The object of foregoing description of the present invention for diagram and description is presented.It is not intended to exhaustive theme or this theme is limited to disclosed precise forms, and in view of above-mentioned instruction other amendment and modification be all possible.Select and describe embodiment to explain principle of the present invention and practical application thereof best, enable others skilled in the art utilize the present invention in various embodiment and various being suitable for best in the amendment of conceived special-purpose thus.Appended claims is intended to be interpreted as comprising other alternative embodiments except the scope limit by prior art.

Claims (38)

1. the method performed by computer processor, described method comprises:
Receipt message transmits data, and described messaging data comprises the message being delivered to take over party's process from sender's process, and described sender's process and described take over party's process are all the calculation procedure performed at least one computer processor;
Analyze described messaging data and carry out identification nodes, described node is described computation process;
Analyze described messaging data to identify described message and to identify limit based on described message; And
Show described node and described limit in the drawings, described chart is shown in the described message transmitted between described computation process.
2. the method for claim 1, is characterized in that, comprises further:
Summarize described messaging data to be identified at the multiple message transmitted between first node and Section Point; And
The first limit between described first node and described Section Point represents described multiple message.
3. method as claimed in claim 2, it is characterized in that, described first limit is shown as having the width representing described multiple message.
4. method as claimed in claim 3, it is characterized in that, described first limit is shown as having the color representing described multiple message.
5. method as claimed in claim 2, it is characterized in that, described summary comprises the non-linear expression of applying described multiple message.
6. the method for claim 1, is characterized in that, comprises further:
Summarize described messaging data to identify the group membership of each node in described node; And
Visual indicator is used to show described group membership in the drawings.
7. method as claimed in claim 6, it is characterized in that, described visual indicator is color.
8. method as claimed in claim 6, it is characterized in that, described visual indicator is shape.
9. the method for claim 1, is characterized in that, comprises further:
Receive the renewal to described messaging data; And
More newly arrive described in using and upgrade described figure.
10. method as claimed in claim 9, it is characterized in that, described renewal receives in periodic intervals.
11. methods as claimed in claim 10, is characterized in that, comprise further:
Determine the difference from first time period to current slot; And
Highlighted described difference in the drawings.
12. methods as claimed in claim 11, is characterized in that, described highlighted comprising uses grey to show old item.
13. methods as claimed in claim 12, is characterized in that, described highlighted comprising uses non-grey to show new item.
14. methods as claimed in claim 11, is characterized in that, described first time period is one of described periodic intervals before described current time.
15. methods as claimed in claim 11, is characterized in that, described first time period is at least two periodic intervals in the described periodic intervals before described current time.
16. the method for claim 1, is characterized in that, comprise further:
By monitoring that the computing environment comprising multiple described computation process collects described messaging data, described computing environment is in single equipment.
17. the method for claim 1, is characterized in that, comprise further:
By monitoring that the computing environment comprising multiple described computation process collects described messaging data, described computing environment comprises multiple equipment.
18. the method for claim 1, is characterized in that, comprise further:
The operation that summary is performed by described computation process creates the summary statistics data for each computation process in described computation process; And
Described summary statistics data are represented for each node in described node.
19. methods as claimed in claim 18, it is characterized in that, described summary statistics data are represented by color.
20. methods as claimed in claim 18, it is characterized in that, described summary statistics data are represented by described size of node.
21. methods as claimed in claim 18, is characterized in that, the processing time of computation process described in described summary statistics data representation.
22. methods as claimed in claim 18, is characterized in that, described summary statistics data representation input object.
23. methods as claimed in claim 18, is characterized in that, described summary statistics data representation object output.
24. 1 kinds of systems, comprising:
Analysis module, described analysis module analyzes the message between two entities, and described entity is the calculating element with messaging relationship, and described analysis module comprises:
Extraction module, described extraction module identification message transmit leg and message receiver;
Collector, described collector creates the statistics about the message sent between described entity;
Visualization model, described entity is shown as the node on figure and described statistics is shown as the limit of described figure by described visualization model.
25. systems as claimed in claim 24, it is characterized in that, described statistics comprises the counting of the described message transmitted between first node and Section Point, and described first limit represents described counting.
26. systems as claimed in claim 25, is characterized in that, described counting is shown as the width on described first limit by described visualization model.
27. systems as claimed in claim 26, is characterized in that, described width uses non-linear expression of described counting to calculate.
28. systems as claimed in claim 27, it is characterized in that, described non-linear expression comprises logarithmic function.
29. systems as claimed in claim 24, it is characterized in that, described analysis module creates multiple data set, each data set one the time period place be created.
30. systems as claimed in claim 29, is characterized in that, described visualization model is by upgrading described figure to described figure application new data set.
31. systems as claimed in claim 30, is characterized in that, described new data set is establishment in real time and described visualization model upgrades described figure in real time.
32. systems as claimed in claim 31, is characterized in that, comprise further:
Store the memory module of each data set of described data centralization.
33. systems as claimed in claim 32, is characterized in that, comprise further:
Suspend the playback controls of described renewal.
34. systems as claimed in claim 33, is characterized in that, described playback controls makes legacy data collection be shown.
35. systems as claimed in claim 34, it is characterized in that, described playback controls is by described data set rewinding.
36. systems as claimed in claim 35, it is characterized in that, described playback controls advances described data set quickly than actual time.
37. systems as claimed in claim 36, it is characterized in that, described playback controls more slowly advances described data set than actual time.
38. systems as claimed in claim 37, it is characterized in that, described figure is power guiding figure.
CN201380075253.9A 2013-02-01 2013-05-31 Dynamic visualization of message passing computation Pending CN105103133A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/757,570 2013-02-01
US13/757,570 US20140019879A1 (en) 2013-02-01 2013-02-01 Dynamic Visualization of Message Passing Computation
PCT/US2013/043492 WO2014120262A1 (en) 2013-02-01 2013-05-31 Dynamic visualization of message passing computation

Publications (1)

Publication Number Publication Date
CN105103133A true CN105103133A (en) 2015-11-25

Family

ID=49915107

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380075253.9A Pending CN105103133A (en) 2013-02-01 2013-05-31 Dynamic visualization of message passing computation

Country Status (4)

Country Link
US (1) US20140019879A1 (en)
EP (1) EP2951695A4 (en)
CN (1) CN105103133A (en)
WO (1) WO2014120262A1 (en)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417935B2 (en) 2012-05-01 2016-08-16 Microsoft Technology Licensing, Llc Many-core process scheduling to maximize cache usage
US8495598B2 (en) 2012-05-01 2013-07-23 Concurix Corporation Control flow graph operating system configuration
US9047196B2 (en) 2012-06-19 2015-06-02 Concurix Corporation Usage aware NUMA process scheduling
US9575813B2 (en) 2012-07-17 2017-02-21 Microsoft Technology Licensing, Llc Pattern matching process scheduler with upstream optimization
US8793669B2 (en) 2012-07-17 2014-07-29 Concurix Corporation Pattern extraction from executable code in message passing environments
US9043788B2 (en) 2012-08-10 2015-05-26 Concurix Corporation Experiment manager for manycore systems
US9021262B2 (en) 2013-01-25 2015-04-28 Concurix Corporation Obfuscating trace data
US8954546B2 (en) 2013-01-25 2015-02-10 Concurix Corporation Tracing with a workload distributor
US9207969B2 (en) 2013-01-25 2015-12-08 Microsoft Technology Licensing, Llc Parallel tracing for performance and detail
US9323863B2 (en) 2013-02-01 2016-04-26 Microsoft Technology Licensing, Llc Highlighting of time series data on force directed graph
US9256969B2 (en) 2013-02-01 2016-02-09 Microsoft Technology Licensing, Llc Transformation function insertion for dynamically displayed tracer data
US20130283281A1 (en) 2013-02-12 2013-10-24 Concurix Corporation Deploying Trace Objectives using Cost Analyses
US9021447B2 (en) 2013-02-12 2015-04-28 Concurix Corporation Application tracing by distributed objectives
US8997063B2 (en) 2013-02-12 2015-03-31 Concurix Corporation Periodicity optimization in an automated tracing system
US8924941B2 (en) 2013-02-12 2014-12-30 Concurix Corporation Optimization analysis using similar frequencies
US8843901B2 (en) 2013-02-12 2014-09-23 Concurix Corporation Cost analysis for selecting trace objectives
US9665474B2 (en) 2013-03-15 2017-05-30 Microsoft Technology Licensing, Llc Relationships derived from trace data
US9575874B2 (en) 2013-04-20 2017-02-21 Microsoft Technology Licensing, Llc Error list and bug report analysis for configuring an application tracer
US9734040B2 (en) 2013-05-21 2017-08-15 Microsoft Technology Licensing, Llc Animated highlights in a graph representing an application
US8990777B2 (en) 2013-05-21 2015-03-24 Concurix Corporation Interactive graph for navigating and monitoring execution of application code
US9280841B2 (en) 2013-07-24 2016-03-08 Microsoft Technology Licensing, Llc Event chain visualization of performance data
US9292415B2 (en) 2013-09-04 2016-03-22 Microsoft Technology Licensing, Llc Module specific tracing in a shared module environment
EP3069267A4 (en) 2013-11-13 2017-09-27 Microsoft Technology Licensing, LLC Software component recommendation based on multiple trace runs
WO2015071778A1 (en) 2013-11-13 2015-05-21 Concurix Corporation Application execution path tracing with configurable origin definition
US10386993B2 (en) * 2013-12-03 2019-08-20 Autodesk, Inc. Technique for searching and viewing video material
WO2015140842A1 (en) 2014-03-20 2015-09-24 日本電気株式会社 System-monitoring information processing device and monitoring method
US10649634B2 (en) * 2014-06-06 2020-05-12 International Business Machines Corporation Indexing and annotating a usability test recording
US20170177739A1 (en) * 2015-12-22 2017-06-22 Intel Corporation Prediction using a data structure
US9836183B1 (en) 2016-09-14 2017-12-05 Quid, Inc. Summarized network graph for semantic similarity graphs of large corpora
US10747591B2 (en) * 2018-03-21 2020-08-18 Didi Research America, Llc Endpoint process state collector
US11257263B1 (en) * 2018-10-23 2022-02-22 Palantir Technologies Inc. Systems and methods for generating dynamic pipeline visualizations
US11868402B2 (en) * 2019-10-11 2024-01-09 Kinaxis Inc. Systems and methods of network visualization
US11907670B1 (en) * 2020-07-14 2024-02-20 Cisco Technology, Inc. Modeling communication data streams for multi-party conversations involving a humanoid
US11727016B1 (en) * 2021-04-15 2023-08-15 Splunk Inc. Surfacing and displaying exemplary spans from a real user session in response to a query

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6742003B2 (en) * 2001-04-30 2004-05-25 Microsoft Corporation Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications
CN101627388A (en) * 2007-03-05 2010-01-13 微软公司 Dynamically rendering visualizations of data sets
US20100042944A1 (en) * 2005-01-28 2010-02-18 Robinson Eric M System And Method For Generating Representations Of Message-Related Relationships
US20100083178A1 (en) * 2008-09-30 2010-04-01 Olympus Medical Systems Corp. Image display apparatus, image display method, and computer program product
US20120260135A1 (en) * 2011-04-08 2012-10-11 Computer Associates Think, Inc. Visualizing Relationships Between A Transaction Trace Graph And A Map Of Logical Subsystems
US8681155B2 (en) * 2010-01-08 2014-03-25 International Business Machines Corporation Ranking nodes in a graph

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466239B2 (en) * 1997-01-24 2002-10-15 Sony Corporation Method and apparatus for editing data used in creating a three-dimensional virtual reality environment
US6374271B1 (en) * 1997-09-26 2002-04-16 Fuji Xerox Co., Ltd. Hypermedia document authoring using a goals outline and a presentation outline
US7639256B1 (en) * 1999-10-08 2009-12-29 I2 Technologies Us, Inc. System and method for displaying graphs
US20060265397A1 (en) * 2001-03-06 2006-11-23 Knowledge Vector, Inc. Methods, systems, and computer program products for extensible, profile-and context-based information correlation, routing and distribution
US6820081B1 (en) * 2001-03-19 2004-11-16 Attenex Corporation System and method for evaluating a structured message store for message redundancy
US20040012638A1 (en) * 2002-05-24 2004-01-22 Donnelli Richard K. System and method of electronic commitment tracking
US7219300B2 (en) * 2002-09-30 2007-05-15 Sanavigator, Inc. Method and system for generating a network monitoring display with animated utilization information
US6944722B2 (en) * 2003-04-14 2005-09-13 Sun Microsystems, Inc. Method and system for postmortem identification of falsely shared memory objects
US8127252B2 (en) * 2003-11-07 2012-02-28 Microsoft Corporation Method and system for presenting user interface (UI) information
US7468727B2 (en) * 2005-04-19 2008-12-23 Wong Pak C Methods of visualizing graphs
US20070140131A1 (en) * 2005-12-15 2007-06-21 Malloy Patrick J Interactive network monitoring and analysis
US20070198952A1 (en) * 2006-02-21 2007-08-23 Pittenger Robert A Methods and systems for authoring of a compound document following a hierarchical structure
FR2904499B1 (en) * 2006-07-27 2009-01-09 Commissariat Energie Atomique METHOD FOR DECODING MESSAGES WITH ORDERING ACCORDING TO NEIGHBORHOOD RELIABILITY.
US20080104225A1 (en) * 2006-11-01 2008-05-01 Microsoft Corporation Visualization application for mining of social networks
US8010657B2 (en) * 2006-11-27 2011-08-30 Crackle, Inc. System and method for tracking the network viral spread of a digital media content item
US8140534B2 (en) * 2007-08-03 2012-03-20 International Business Machines Corporation System and method for sorting attachments in an integrated information management application
US9092240B2 (en) * 2008-02-11 2015-07-28 Apple Inc. Image application performance optimization
US20100167256A1 (en) * 2008-02-14 2010-07-01 Douglas Michael Blash System and method for global historical database
US9076125B2 (en) * 2009-02-27 2015-07-07 Microsoft Technology Licensing, Llc Visualization of participant relationships and sentiment for electronic messaging
US20110066973A1 (en) * 2009-09-11 2011-03-17 Apple Inc. Rendering System Log Data
US20110265058A1 (en) * 2010-04-26 2011-10-27 Microsoft Corporation Embeddable project data
WO2011142720A1 (en) * 2010-05-14 2011-11-17 Gabriyel Wong Chee Kien A self-organizing and contextual graphical user interface
US8713064B1 (en) * 2010-06-28 2014-04-29 Open Invention Network, Llc Attribute category enhanced search
US20120094768A1 (en) * 2010-10-14 2012-04-19 FlixMaster Web-based interactive game utilizing video components
EP2678784A4 (en) * 2011-02-23 2014-08-06 Bottlenose Inc Adaptive system architecture for identifying popular topics from messages
US20130117280A1 (en) * 2011-11-04 2013-05-09 BigML, Inc. Method and apparatus for visualizing and interacting with decision trees
US8830254B2 (en) * 2012-01-24 2014-09-09 Ayasdi, Inc. Systems and methods for graph rendering
US8812958B2 (en) * 2012-02-12 2014-08-19 Saba Software, Inc. Methods and apparatus for analyzing a social network
US9075500B2 (en) * 2012-11-27 2015-07-07 Sap Se Method and system for presenting and navigating embedded user interface elements
US8943441B1 (en) * 2014-01-24 2015-01-27 Storagecraft Technology Corporation Graphical user interface relationship graph for displaying relationships between image backup files in a backup job

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6742003B2 (en) * 2001-04-30 2004-05-25 Microsoft Corporation Apparatus and accompanying methods for visualizing clusters of data and hierarchical cluster classifications
US20100042944A1 (en) * 2005-01-28 2010-02-18 Robinson Eric M System And Method For Generating Representations Of Message-Related Relationships
US20120290672A1 (en) * 2005-01-28 2012-11-15 Robinson Eric M System And Method For Displaying Message-Related Relationships
CN101627388A (en) * 2007-03-05 2010-01-13 微软公司 Dynamically rendering visualizations of data sets
US20100083178A1 (en) * 2008-09-30 2010-04-01 Olympus Medical Systems Corp. Image display apparatus, image display method, and computer program product
US8681155B2 (en) * 2010-01-08 2014-03-25 International Business Machines Corporation Ranking nodes in a graph
US20120260135A1 (en) * 2011-04-08 2012-10-11 Computer Associates Think, Inc. Visualizing Relationships Between A Transaction Trace Graph And A Map Of Logical Subsystems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JEFFREY JOYCE 等: ""Monitoring Distributed Systems"", 《ACM TRANSACTIONS ON COMPUTER SYSTEMS》 *

Also Published As

Publication number Publication date
US20140019879A1 (en) 2014-01-16
EP2951695A4 (en) 2016-08-31
EP2951695A1 (en) 2015-12-09
WO2014120262A1 (en) 2014-08-07

Similar Documents

Publication Publication Date Title
CN105103133A (en) Dynamic visualization of message passing computation
CN105122236A (en) Controlling application tracing using dynamic visualization
CN105122216A (en) Force directed graph with time series data
CN105122257A (en) Transformation function insertion for dynamically displayed tracer data
US9323863B2 (en) Highlighting of time series data on force directed graph
CN100472434C (en) Smart gui activity recording and playback framework
US20080066009A1 (en) Visual test automation tool for message-based applications, web applications and SOA systems
US8990777B2 (en) Interactive graph for navigating and monitoring execution of application code
EP2831739A1 (en) Profile data visualization
CN102541998A (en) Business intelligence and report storyboarding
CN110716853A (en) Test script recording method, application program testing method and related device
US11647250B2 (en) Methods and systems for remote streaming of a user-customized user interface
CN110196790A (en) The method and apparatus of abnormal monitoring
US9164746B2 (en) Automatic topology extraction and plotting with correlation to real time analytic data
US8000952B2 (en) Method and system for generating multiple path application simulations
CN113485909A (en) Test method, test device, computing device, and medium
CN114385955A (en) Data point burying method and device, electronic equipment and storage medium
Fouad et al. An Instrumented Software Framework for the Rapid Development of Experimental User Interfaces
Garg A Realistic and Reliable Approach for Real Time Monitoring of Infrastructure
Dal Sasso Reification as the key to augmenting software development
Chang et al. A survey and implementation on neural network visualization
Harmon et al. Automatic performance visualization of distributed real-time systems
CN117742834A (en) Method and device for configuring page component of low-code platform
CN111209204A (en) JSON-based web automatic testing method, system and device
Ismail et al. A framework for consistent experimentation in ami

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20170516

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: CONCURIX CORP.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20151125

RJ01 Rejection of invention patent application after publication