1. A computer-implemented method, comprising: executing a profiling session to profile one or more applications running on a virtual machine executed on a server; collecting profiling data over a first time interval during the profiling session; receiving user input generated at a client device, the client device being in communication with the server; in response to the user input, generating a snapshot corresponding to a subset of the profiling data, the snapshot being identified based on a second time interval that is within the first time interval; and transmitting the profiling data to generate a snapshot view for display on a client device, the snapshot view corresponding to the subset of the profiling data.