Abstract:
A bottleneck detector may analyze individual workloads processed by an application by logging times when the workload may be processed at different checkpoints in the application. For each checkpoint, a curve fitting algorithm may be applied, and the fitted curves may be compared between different checkpoints to identify bottlenecks or other poorly performing sections of the application. A real time implementation of a detection system may compare newly captured data points against historical curves to detect a shift in the curve, which may indicate a bottleneck. In some cases, the fitted curves from neighboring checkpoints may be compared to identify sections of the application that may be a bottleneck. An automated system may apply one set of checkpoints in an application, identify an area for further investigation, and apply a second set of checkpoints in the identified area. Such a system may recursively search for bottlenecks in an executing application.
Abstract:
A data analysis system processes data generated by instrumented software. The data analysis system receives data streams generated by instances of instrumented software executing on systems. The data analysis system also receives metadata describing data streams. The data analysis system receives an expression based on the metadata. The data analysis system receives data of data streams for each time interval and computes the result of the expression based on the received data values. The data analysis system repeats these steps for each time interval. The data analysis system may quantize data values of data streams for each time interval by generating an aggregate value for the time interval based on data received for each data stream for that time interval. The data analysis system evaluates the expression using the quantized data for the time interval.
Abstract:
According to aspects of the invention there are provided methods and apparatus for monitoring, analysing and/or optimising the performance of a mobile device. The mobile device includes a memory with computer readable instructions stored thereon associated with a diagnostic application, which when executed on a processor, has a first level of permissions for accessing the mobile device, and associated with a performance monitoring component, which when executed on the processor, has a second level of permissions for accessing the mobile device. The diagnostic application and performance monitoring component communicate to retrieve performance-related data associated with execution of an application on the mobile device, where the performance-related data is accessible using the second level of permissions. The diagnostic application receives and stores performance related data from the performance monitoring component for analysing and/or optimising the performance of the mobile device executing the application.
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 detecting system includes a sense terminal and detecting circuitry coupled to the sense terminal. The sense terminal receives an indicative signal indicative of a supply current of a power source. The detecting circuitry calculates variation in the supply current based on the indicative signal, estimates power consumption of an application program residing on a computer-readable medium according to the variation, and detects whether an abnormal condition occurs by comparing the estimated power consumption with a reference.
Abstract:
A method for automated parallel testing of a software application using value replication is disclosed. An example embodiment may include marking at least one event in the software application with a primary marker that includes a primary marker label and a primary marker configuration value. The primary marker may be replicated to create a replicate marker that has a replicate marker label and a replicate configuration value. The replicate marker label and configuration value may be different from the primary marker label and configuration value. Parallel executions of the software application may be performed using the primary and replicate markers so that the software application is executed with both the primary and replicate marker configuration values. The disclosed middleware-level method transparently implements such replication of the output marker values. That is to make any MapReduce-style applications easily take advantage of output value replication.
Abstract:
A tracing system may be updated to include, exclude, or modify tracing configurations for functions based on how a user consumes tracing results. The user's interactions with graphical representations, inspections of data, and other interactions may indicate which functions may be interesting and which functions may not be. The user's interactions may be classified by use, such as during debugging, performance testing, and ongoing monitoring, and multiple user's interactions with the same function, library, module, source code file, or other groups of functions may be combined to predict a user's interest in a function.
Abstract:
A method executes a simulation to determine backup times to backup objects to storage devices using a number of concurrent disk agents that are assigned to each of the storage devices. The number of concurrent disk agents is changed during the backup of the objects to the storage devices.
Abstract:
The virtual machine placement determination device includes a virtual machine placement proposal search unit 1 configured to search for a virtual machine placement proposal satisfying resource limitation to enumerate; an availability model synthesizing unit 2 configured to reflect a configuration of an application on each virtual machine placement proposal to generate an availability model for obtaining availability indicating a probability that the application is in an activation state; an application availability evaluation unit 3 configured to analyze the availability model to calculate an availability evaluation value indicating the availability of an application system constructed by the virtual machine placement proposal; and a virtual machine placement ranking unit 4 configured to rank each virtual machine placement proposal based on the availability evaluation value to determine the virtual machine placement proposal applied to the application.
Abstract:
Methods, systems, and computer-readable media for detecting errors within a system by using behavior profiles are presented. At a first time, user requests may be received and serviced. The serviced user requests may be logged. Based on the logged user requests, profiles may be determined. At a second time, user requests may be received and serviced. The serviced user requests may be logged. The logged serviced user requests may be compared to the profiles determined at a first time. For example, the determined profiles may include an error rate for serviced user requests. At the second time, an error rate for the logged serviced user requests may be compared to an error rate included the determined profiles. Serviced users requests may be flagged based on the comparison.