A computer-implemented method for reconstructing user interactions with an application executing on a computing device in a distributed computing environment, comprising: - capturing, by a browser agent, session data for user interactions with the application, where the session data includes an identifier for a user interface element interacted with during a given user interaction, and the browser agent is instrumented in content provided by the application; - receiving, by the browser agent, a list of demanded resource files sent over a computer network by a monitoring server; - storing the list of demanded resource files on the computing device; - identifying, by the browser agent, content changes caused by the given user interaction; - identifying, by the browser agent, one or more resource files used to implement the identified content changes; - for each of the one or more resource files, determining, by the browser agent, an identifier for content of a given resource file, said identifier for content of a given resource file being a hash value from a hash function applied to the content of the given resource file; - sending, by the browser agent, the session data over a computer network to the monitoring server, wherein the session data includes the identifier for content of a given resource file for each of the resource files; and - for each of the one or more resource files, determining, by the browser agent, whether a particular resource file is on the list of demanded resource files using an identifier for the particular resource file, and sending the particular resource file to the monitoring server in response to a determination that the particular resource file is on the list of demanded resource files. - capturing, by a browser agent, session data for user interactions with the application, where the session data includes an identifier for a user interface element interacted with during a given user interaction, and the browser agent is instrumented in content provided by the application; - receiving, by the browser agent, a list of demanded resource files sent over a computer network by a monitoring server; - storing the list of demanded resource files on the computing device; - identifying, by the browser agent, content changes caused by the given user interaction; - identifying, by the browser agent, one or more resource files used to implement the identified content changes; - for each of the one or more resource files, determining, by the browser agent, an identifier for content of a given resource file, said identifier for content of a given resource file being a hash value from a hash function applied to the content of the given resource file; - sending, by the browser agent, the session data over a computer network to the monitoring server, wherein the session data includes the identifier for content of a given resource file for each of the resource files; and - for each of the one or more resource files, determining, by the browser agent, whether a particular resource file is on the list of demanded resource files using an identifier for the particular resource file, and sending the particular resource file to the monitoring server in response to a determination that the particular resource file is on the list of demanded resource files.