Abstract:
Embodiments profile usage of memory and other resource. Stack traces have lifespans, resource impacts, and constituent call chains. Aggregation unifies shared call chains and sums resource impacts after assigning traces to snapshot sets based on trace lifespans and user-defined snapshot request timestamps.Traces are assigned using either active aggregation or precursor aggregation. Traces spanning a snapshot request may be split. A sampled resource trace lifespan begins when the resource is sampled and ends at the next snapshot request. An allocated resource trace lifespan begins when a portion of the resource is allocated and ends when the allocated portion is freed. Resource portions not yet freed are implicitly freed when program execution ends. Call chain interval resource impact aggregation performed with multiple snapshot requests and stack trace sets creates snapshot aggregations. Two aggregations are differenced by subtracting the summed call chain resource impacts of one aggregation from those of another aggregation.
Abstract:
An automatic profiling system and method determines an algorithm profile including performance predictability and pricing of a parallel processing algorithm.
Abstract:
Techniques for monitoring web application performance are provided. A request for a web application is received at an application server. A response pipeline at the application server generates client application code corresponding to the requested web application. The client application code is intercepted in the response pipeline. Instrumentation code is inserted into the intercepted client application code to generate an instrumented client application code. The instrumentation code is configured to be executed when the instrumented client application code is rendered at the client to capture performance information at the client, and is configured to transmit the captured performance information from the client.
Abstract:
Periodicity similarity between two different tracer objectives may be used to identify additional input parameters to sample. The tracer objectives may be individual portions of a large tracer operation, and each of the tracer objectives may have separate set of input objects for which data may be collected. After collecting data for a tracer objective, other tracer objectives with similar periodicities may be identified. The input objects from the other tracer objectives may be added to a tracer objective and the tracer objective may be executed to determine a statistical significance of the newly added objective. An iterative process may traverse multiple input objects until exhausting possible input objects and a statistically significant set of input objects are identified.
Abstract:
Novel tools and techniques for tracing application execution and performance. Some of the tools provide a framework for monitoring the execution and/or performance of applications in an execution chain. In some cases, the framework can accomplish this monitoring with a few simple calls to an application programming interface on an application server. In other cases, the framework can provide for the passing of traceability data in protocol-specific headers of existing inter-application (and/or intra-application) communication protocols.
Abstract:
A method measures performance for computing entities being run concurrently. A tool manager samples usage of a computing resource associated with a computing entity. A first state is determined based on the usage. Then, the tool manager determines that an application running in the computing entity started execution of a test that is being run in the plurality of computing entities when the usage changes from the first state. Upon determining the change, the tool manager sends a start command to a performance measurement tool that is configured to measure the performance of the computing entity. The tool manager determines the computing entity is in a second state based on the usage and determines the application ended execution of the test when the usage changes from the second state. Upon determining the change, the tool manager sends a stop command to the performance measurement tool.
Abstract:
Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device are provided. Various combinations of installation, functional, host integrity, coexistence, interoperability, power management, and environment checks are performed at various times to determine if the safety critical application operates properly on the device. The operation of the SCA on the UDPD may be controlled accordingly.
Abstract:
Methods and articles of manufacture for hosting a safety critical application on an uncontrolled data processing device are provided. Various combinations of installation, functional, host integrity, coexistence, interoperability, power management, and environment checks are performed at various times to determine if the safety critical application operates properly on the device. The operation of the SCA on the UDPD may be controlled accordingly.
Abstract:
The present invention provides a method and apparatus for designing vision based software applications. In one embodiment, a media file generation module (108) automatically generates a plurality of media objects from input media content by applying different values of a set of parameters to the input media content. The plurality of media content contains information representing distinct real life scenarios and distinct environmental conditions. A performance evaluation module (110) processes each of the plurality of media objects using a vision based software application and evaluates performance of the vision based software application for each of the plurality of media objects based on the processing of the plurality of media objects. An application re-designing module (126) re-designs at least one module of the vision based software application based on the evaluated perform optimally in distinct real life scenarios and environmental conditions.
Abstract:
A system creates and monitors virtual threads within a node.js application. Callbacks executing within an event loop for a node.js system are identified and may be traced. The callbacks are associated with a context, and resources associated with execution flow during each context may be identified. Callback registrations, callback calls, and callback completion messages may each be detected and recorded. Each registration, call, and completion message is associated with a virtual thread or other transaction identifier. The timing information for each virtual thread and other resource usage for each context may then be identified, stitched together for distributed transactions and reported to a user to provide more detail for node.js application processing.