Posted by: dotnetninja | February 11, 2008

Remotely Monitoring Client Side Web App Performance

As everyone are talking now about Web 2.0 and Web 3.0 I have not heard much about challenges developers are facing. Software developers writing rich web application have to analyze and understand how their Web applications perform when it is used by the end user.

With use of the capabilities of Ajax we can create richer client UI behaviors, smoother page updates, asynchronous network callbacks to the server, and more. But with great power comes great responsibility.

For example, many developers entertain the idea of placing the contents of an entire page, or large portions of it in single UpdatePanel, which is highly discouraged, but more about that on the next blog entries.

The question is how does Web application behaves when finally deployed with combination of software, hardware, network and individual user’s computing environment? Do you know what your users are experiencing when they visit your AJAX application? Is your JavaScript code running fast, slow, or generating errors in your users’ browsers? How can a developer plan for all contingencies amid such user diversity?

Well people at Microsoft Research have an idea. Ajax View is project based on model of Web 2.0, dynamic HTML and JavaScript.

“The goal of the Ajax View project is to improve the visibility that Web-application developers have into how their applications are running inside end user’s browsers out in the real world. Having detailed, code-level monitoring can help developers discover, understand, and fix the bugs that are affecting real users.”

To learn more about underlying concept behind Ajax View check out this paper. It involves inserting a proxy between a Web application and a user’s browser. Ajax View uses a server-side proxy to rewrite JavaScript “on-the-fly” and automatically inject instrumentation code into a web application. This instrumentation provides end-to-end visibility into app performance, behavior and critical state. “On-the-fly” rewriting allows Ajax View to serve different instrumentation across users and over time, capturing more detail about app behavior while minimizing per-user performance overhead.

To see an example of how to test one page performance visit http://research.microsoft.com/projects/ajaxview/AjaxViewUsage-1.htm


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: