Abstract:
A method may include receiving, by a device, information associated with a model. The method may include determining, by the device, performance criteria for program code generated based on the model. The method may include determining, by the device, profiling information associated with the program code. The method may include determining, by the device and based on the profiling information, that the performance criteria is not satisfied. The method may include applying, by the device and based on determining that the performance criteria is not satisfied, a modification technique to a portion of the model to create a modified model. The modification technique may be applied to the portion of the model to cause program code, generated based on the modified model, to satisfy the performance criteria.
Abstract:
A monitoring system is arranged for automatically and dynamically discovering local applications running on servers in an enterprise-scale service environment as well as discovering external resources (both partitioned and non-partitioned resources) that the local applications use. The discovered objects and their dependencies are instantiated into a health map and the map is dynamically updated as applications and resources are added to and deleted from the enterprise-scale service environment. Health indicators such as events, performance counters, synthetic transactions, and SysLog and SNMP (Simple Network Management Protocol) service events for the mapped objects are monitored. The monitored health indicators are attributed to either the health of a local application or that of an external resource. Upon detection of a fault, the health map enables performance of root cause analyses and determination of the impact of the fault on the objects in the environment so that appropriate alerts can be raised.
Abstract:
Systems and methods are disclosed for logging encoded diagnostic information from a sequence of processing operations, the processing operations generated by an activity in a computing environment. Diagnostic information is tracked by activity, across process boundaries where the processes can be in computationally isolated, or “sandboxed”. Within each process, diagnostic information for an activity is stored in an activity-specific buffer registered with a kernel in the computing environment. For each activity in the computing system, the kernel keeps a list of all processes that have performed, or are performing, a processing task of the activity. The kernel also keeps a reference to the activity-specific log buffers for the activity for each process associated with the activity. If a processing operation for an activity fails, all activity-specific logs from all processes that are associated with the activity can be collected. A report can be generated from the collected logs for the activity.
Abstract:
A method and device for performing failsafe computation, and a method of compiling code to perform a failsafe computation are provided. The method includes performing a first calculation (212) to generate a first result (214). A second calculation (218) is performed using a scalar (216) and the first calculation (212) to generate a second result (220). The second calculation (218) includes multiplying the first calculation (212) by the scalar (216) to generate a scaled result, and dividing the scaled result by the scalar (216) to generate the second result (220). The first result (214) and the second result (220) are compared to determine if they are equivalent.
Abstract:
Systems and methods for monitoring performance of virtualized instructions are provided. One method includes, during emulated execution of non-native program code including non-native instructions, maintaining a program flow history in a computing system representing a flow of program execution of the non-native program code. The program flow history includes a listing of non-native jump instructions for which execution is emulated in the computing system. The method also includes capturing one or more statistics regarding performance in native execution of the non-native program code on the computing system. The method further includes correlating the one or more statistics to the program flow history to determine performance of the computing system in executing one or more non-native instructions between each of the non-native jump instructions.
Abstract:
Embodiments of present disclosure disclose a method for monitoring performance of applications for an entity. The method comprises retrieving performance information associated with an application from one or more sources. Then, performance of the application is analyzed using the retrieved performance information. Then, the method comprises identifying one or more entity variables affecting the performance of the application from the analyzed performance of the application. Then, at least one of trends of the performance of the application, deviations in the performance of the application, performance data related to the performance of the application and prediction data related to predicted performance of the application is determined based on the identification for monitoring the performance of the application for the entity.
Abstract:
The present invention discloses a method and apparatus for intercepting or cleaning-up plugins. The methods may include: obtaining performance attributes of a plugin; determining if the plugin meets a performance criterion based on the obtained performance attributes and empirical data; and intercepting or cleaning-up the plugin if the plugin does not meet the performance criterion. In accordance with embodiments of the present invention, the performance attributes of a plugin can be evaluated to determine whether the plugin meets a preset performance criterion, and the plugin can then be processed according to the result of the determination.
Abstract:
Techniques for adaptive trace logging include, in one embodiment, obtaining input data on trace logging behavior and computing resources used by trace logging. Based on the obtained input data, an adaptive trace logging module automatically takes action at runtime to reduce the amount of computing resources consumed by tracing logging. For example, the action taken may include decreasing a trace logging level of an executing software program to reduce the number of trace logging messages added to a trace log. In another embodiment, the techniques include detecting a condition of an executing software program that warrants a change to a trace logging level of the executing program. The adaptive trace logging module automatically changes the trace logging level of the executing program as-needed for the detected condition. For example, the adaptive trace logging module may increase the trace logging level of an executing program upon detecting a deadlock or other abnormal condition of the executing program. By automatically increasing the trace logging level upon detecting an abnormal condition, additional trace logging messages may be written to a trace log aiding diagnosis and troubleshooting of the condition.
Abstract:
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for dynamic graph performance monitoring. One of the methods includes receiving multiple units of work that each include one or more work elements. The method includes determining a characteristic of the first unit of work. The method includes identifying, by a component of the first dataflow graph, a second dataflow graph from multiple available dataflow graphs based on the determined characteristic, the multiple available dataflow graphs being stored in a data storage system. The method includes processing the first unit of work using the second dataflow graph. The method includes determining one or more performance metrics associated with the processing.
Abstract:
An application monitoring infrastructure that enables application configuration changes on multiple machines across multiple OS types to be tracked by identifying data containers that are to be monitored for changes, detecting a change to a monitored data container, and storing data representative of a changed version of the monitored data container responsive to detecting that the monitored container was changed. The data containers that are to be monitored for changes are identified from templates, and a unique template is provisioned for each of the applications.