Monitoring AJAX Requests with Foglight

This post is meant to provide customers and evaluators of Foglight Experience Viewer(FxV), a means to identify and track AJAX transactions. It is an advanced topic and feature set. Assumptions are that users are somewhat familiar with the FxV product and with the challenges that AJAX brings to these types of products. If they aren’t familiar with the product and the AJAX challenge, these concepts will be difficult to understand. With that warning we move forward.


In the 5.6.5 version of FxV there was a new feature released to allow the capture of request content. In prior versions it was only possible to capture and parse response content. This new feature can be very useful in the identification and tracking of AJAX requests because most of the data needed to identify the origin of AJAX requests comes in the request content, mostly in the form of a JavaScript Object Notation (JSON) . This new capability for AJAX is what we’re going to explore further. More specifically, we are going to show you how to find, identify, and parse JSON requests.


Step 1 in using this feature is to identify the AJAX request(s) of interest. Typically you are looking for a POST request that happens after you clicked some button or checked some checkbox. Today I’m going to demonstrate a specific use case that we found at TESCO, a UK ecommerce company. In this short video you can see how I used a tool called Tamper Data to identify the AJAX actions of interest:


Step 2 is to use FxV to parse out interesting request content so that it can be converted into a usable form. By usable we mean you can add relevant data to a hit filter custom field as meta-data, a transaction filter custom field as meta-data, a step of an FxV Transaction, and/or a session custom field as meta-data.


This is a large step forward in helping to identify and distinctly monitor AJAX requests for both errors and performance. As we move into 2013 we will focus on browser instrumentation to reveal more about these types of requests.