Browse Prior Art Database

Real-time Profiling using the Cloud

IP.com Disclosure Number: IPCOM000243502D
Publication Date: 2015-Sep-25
Document File: 5 page(s) / 163K

Publishing Venue

The IP.com Prior Art Database

Abstract

Disclosed is a method to synergize development and performance analysis by enabling background performance runs for execution on a cloud system and providing the developer with source level feedback of performance degradations/increases.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 52% of the total text.

Page 01 of 5

Real-time Profiling using the Cloud

Current development environments perform serial builds and runs. In order to execute an accurate performance measurement, the developer must perform a build followed by an execution on an isolated machine .

The problem with this approach is that while the developer is executing the code, the machine's resources are being used. Therefore, the developer cannot perform additional builds and performance executions until the initial performance run is completed. In a typical performance environment, developers have a fixed pool of performance machines. Performance executions are usually queued because other performance runs are being executed. This causes a delay in getting feedback from the performance runs.

Additionally, if machine resource is not an issue, the user must still wait for feedback from the performance execution in order to gauge whether or not the relevant change has increased or decreased performance, as the performance run is not done asynchronously. Additionally, it is not clear to the developer which source code modifications affected performance , unless each modification's performance is manually compared.

The novel contribution is a method to synergize development and performance analysis by enabling background performance runs for execution on a cloud system and providing the developer with source level feedback of performance degradations /increases. The novel system performs both build and profiling to enable the real-time profiling functionality. This enables developers to review the profiling results as soon as possible, whereas the existing system only executes a program in the cloud after the program is built locally.

In addition, the novel system retains the historical profiling data and compares it with newly retrieved data to give developers visualized feedback of whether the last modification would lead to performance degradation or increase .

The method and system resolves the delay in receiving performance results by making use of a Cloud provisioning system

whereby:

1. For each statement that is modified, added, or deleted, or optionally, each changeset delivered, a build is performed in the background on a provisioned node on the cloud


2. The delta code for each successful build is stored in a database . The delta contains the lines modified and tokens modified .


3. If the build is successful, then a performance run is initiated and executed in the background on a cloud node that is

dynamically provisioned, giving 100% of resources to the performance run

1


Page 02 of 5

4. If other performance runs are active, then these are checked to determine completion, and the freed-up nodes are used for the performance run

5. Once the performance run is completed, the baseline performance is compared to the performance of the last modification , and/or baseline. The user is informed visually through an indicator on the in...