Using Fiddler to identify the cause of performance issues

Dashboards can become quite complex as it is very common to have multiple queries executing at once, especially during the initial load. When we encounter performance issues, it is very difficult to pinpoint exactly where the issue is coming from. Fortunately, we can use the Fiddler tool to help us identify the root cause of a performance-related issue.

Getting ready

Download Fiddler from http://www.telerik.com/download/fiddler. Create a simple dashboard that contains one query and one chart. In our example, we created a query that contains the Calendar Year dimension and Sales Amount measure. The data is then plotted on a Column Chart.

Getting ready

How to do it…

  1. Make sure Fiddler is running and then Preview your dashboard.
    How to do it…
  2. In Fiddler you will notice that there are three lines on the left-hand side window. The first line and last line are session initialization and session ending items. The second line is our query process. The way we can tell this is that query requests have the URL /dswsbobje/services/XcelsiusWebServices.
    How to do it…
  3. Now let's analyze the query. Click on the Statistics tab on the right-hand side window. Here you can see the performance of the query being executed. In our example, the query executes in 0.389 seconds. In a real-life scenario, you would have to go through each of your queries and figure out which query is performing poorly.
    How to do it…
  4. Now let's learn how to retrieve some more useful information about this query request. Click on the Inspectors tab and you will notice a top window and bottom window. The top window is the request and the bottom window is the response. We are interested in the response. Generally, it is preferable to look at the XML result in WebView. Click on WebView and then click on the bar above, which says Response is encoded … Click here to transform.
    How to do it…
  5. We can see some interesting information about the query now. First, if you look at the highlighted area at the bottom, you will see that it is the query that returns the result containing the Calendar Year dimension and Amount measure. The highlighted area on the top contains the SQL statement from the query being executed. Using this information, we can figure out if a bad query has been caused by inefficient SQL query generation.
    How to do it…

How it works…

Fiddler helps capture all the HTTP(S) traffic between the user running the dashboard and the SAP BusinessObjects server that we are communicating with. In our example, we perform some analysis on the communication between the server and client when a query is executed. We track performance by looking at the Statistics and when we want to dive deeper, we can look at the Request and Response in detail.

There's more…

Not only can we monitor performance of our dashboards with Fiddler, we can see in detail if there are any web server errors such as the common 404 not found error.

We can even modify and manipulate requests and responses by setting break points during runtime. For example, we can compose our own HTTP request, run it through Fiddler, and then receive a response from the server.

Finally, Fiddler has a rich extensibility model that ranges from a simple FiddlerScript to powerful extensions, which can be developed using any .NET language.

See also

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset