AjaxScope: a Platform for Remotely Monitoring the Client-Side Behavior of Web 2.0 Applications

While Web applications become larger and more complex, Web application developers today have little visibility into the end-to-end behavior of their systems. In this paper, we present AjaxScope, a dynamic instrumentation platform that enables cross-user monitoring and just-in-time control of Web application behavior on end-user desktops. AjaxScope is a proxy that performs on-the-fly parsing and instrumentation of Java- Script code before it is sent to the usersís browser. AjaxScope provides facilities for distributed and adaptative instrumentation in order to reduce the client-side overhead while providing fine-grained visibility into the code-level behavior of Web applications. We present a variety of policies demonstrating the power of AjaxScope, ranging from simple error reporting and performance profiling to more complex memory leak detection and optimization analyses, and apply our prototype to analyze the behavior of numerous third-party Web 2.0 applications.