1. A computer implemented method for extracting a data model of a target application's performance and execution flow so as to guide optimization of the target application, the method comprising: attaching a profiler, using a computer, to the target application; inserting, using a computer, at least one instrumentation command into a portion of binary code of the target application preceding a call of a subroutine; incrementing, in a computer, a counter corresponding to a number of calls of the subroutine; starting, in a computer, a timer corresponding to a time of execution for the call; appending, in a computer, the call to a data structure, wherein the data structure tracks a call flow of the target application; stopping, in a computer, the timer upon completion of the subroutine; and building, in a computer, the data model using the data structure.