1. A method comprising: establishing communication between a first virtual machine at a server and a second virtual machine at a client, wherein the communication is established via a profiling infrastructure; profiling an application at the first virtual machine via the profiling infrastructure; and communicating results of the profiling from the first virtual machine to the second virtual machine, wherein the results are communicated via the profiling infrastructure.