Today, the team released Microsoft Visual Studio 2008 AJAX Profiling Extensions - a new power tool to measure the performance of the portions of web applications that execute JavaScript inside the web browser.

The AJAX Profiling Extensions provide much-needed visibility into often complex, web client-side interactions for the first time.  You do not need to download and install any additional software, plug-ins, or ActiveX controls on the machine where the AJAX web client code is running to use the AJAX Profiling Extensions to gather JavaScript execution-time data.  Also, this works with any web browser, including, of course, the latest version of Internet Explorer.

AJAX Profiling Extensions is an add-on to the performance tools that are available in Visual Studio Team System 2008 Development Edition and Visual Studio Team Suite, extending them to allow you to profile the client-side JavaScript code in your AJAX application.

Developed in collaboration with Microsoft Research, AJAX Profiling Extensions automatically rewrites JavaScript functions to enable instrumentation that measures and logs each function’s performance data. This performance data is then periodically uploaded from the client browser to the IIS web server, where it is collected and available for analysis.

How it Works

AJAX Profiling Extensions consist of two major pieces:

1.     a server-side component that handles JavaScript instrumentation and data collection

2.     a Visual Studio Team System add-in that reads and analyzes the performance data gathered into the Visual Studio Performance Explorer.

The server-side component installs into the IIS 7.0 integrated pipeline and adds instrumentation to your JavaScript code on the fly before it is sent to the web browser. The AJAX Profiling Extensions are designed to work with any web browser, but they require IIS 7.0 running in Integrated Pipeline mode. A Profiling Extensions Administration panel on the web server allows you to define and manage profiling sessions.

Administration Panel

Once you have gathered AJAX client performance data, you can install AJAX Profiling Extensions onto your copy of Visual Studio 2008 Team Development Edition or Visual Studio Team Suite. You can then use the Visual Studio Profiler to analyze the performance data gathered from your client-side JavaScript applications. The Visual Studio Profiler will provide data such as which JavaScript functions your application is calling most frequently and which ones take the longest amount time to process.  As you are analyzing the data, you can navigate directly to JavaScript source.

Report Summary 

To get started monitoring the performance of your client-side AJAX code, download Visual Studio 2008 AJAX Profiling Extensions from Code Gallery, then join the discussion.

Namaste!