1. A computerized method for profiling an application on a virtual machine, the method comprising: creating, at a front-end profiler, a series of analysis steps to be performed on profiled data stored in memory; saving the series of analysis steps in memory as a report specification; causing a back-end profiler to perform profiling on the application, causing output of profiled data; receiving, at the front-end profiler, the profiled data from the back-end profiler; storing the profiled data as a model; adapting, at the front-end profiler, the model based on the series of analysis steps from the report specification; generating output data based on the adapted model; and displaying the output data to a user.