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, the user input being received during the profiling session; in response to the user input, generating, by the server, a first snapshot marker within the profiling data based on the user input, generating a second snapshot marker within the profiling data, wherein a second time interval is defined between the first and second snapshot markers, and generating a snapshot corresponding to a subset of the profiling data, the snapshot being generated during the profiling session and being identified based on the second time interval that is within the first time interval; transmitting, from the server and to the client device, only the subset of the profiling data to generate a snapshot view for display on the client device, the snapshot view corresponding to the subset of the profiling data; and receiving, by the server, a user selection of a called methods entry point, and in response, providing a list of methods called during the snapshot.