TruClient - Breaking down client times

Transaction Breakdown and Web Page Breakdown are very common concepts in LoadRunner and load testing in general when working with transport protocols. These metrics provide important information on network timing in order to analyze network layer bottlenecks on the server side when under load.

 

The following metrics can be obtained:

  1. DNS Resolution
  2. Connection
  3. First Buffer
  4. SSL Handshaking
  5. Receive
  6. FTP Authentication
  7. Client Time
  8. Error Time

Analysis of these metrics provides hints mainly about slow server or network issues, but client-side issues can be found by looking at the mysterious ‘Client Time’ metric. This metric is sometimes referred to as “browser think time”, “client processing” or some other term indicating client-related delays.

 

When using TruClient, the Client Time metric can be even more interesting because of its “Client-ish” nature, even though we are actually testing the server.

 

Client Side Breakdown

The Client Side Breakdown feature was introduced into TruClient’s Firefox protocol from LoadRunner 11.51.  It allows the user to obtain client execution metrics and graphs (in the scope of a transaction) both in the development mode (‘interactive mode’) and as LoadRunner Analysis graphs.

 

Usage

To enable Client Side Breakdown, open the Run Time Settings dialog in VuGen, and check the Enable Profiling checkbox:

 

 1.png

 

Interactive mode

Because the Client Side Breakdown is transaction-based, you will need to surround the steps with transactions while you develop the script.  The metrics provided by the Client Side Breakdown are gathered within the scope and timeframes of the transactions you define.

 

A pane showing the client side breakdown tables will be opened automatically in the browser (if profiling is enabled) after the script is replayed.

 

2.png

 

The table shows the following information for each transaction:

  • JavaScript Time
  • Network Time
  • Wait Time
  • Total Time

You can click on each of the values to show the breakdown in more detail.

3.png

 

JavaScript Time – The breakdown shows a list of all of the JavaScript function calls that occurred in this transaction when the Application under Test (AUT) is replayed. For each function it shows the execution time of that function and the total execution time (including called functions) with statistics.

 

  1. Calls – The JS section refers to the JS profiler where we can track the JS execution stack and drill down into the functions calls. Those are the calls to the JS functions executed in the AUT during the transaction.
  2. Total Execution Time – The time each function call took including its inner function calls. 
  3. Total Own Execution Time - The time each function call without its inner function calls.

4.png

 

Network Time – The breakdown shows all the URL requests that occurred in this transaction during replay. The start and end times for each request are shown.

 

5.png

 

Wait Time – the breakdown lists all of the ‘waits’ that occurred during this transaction in replay. The start and end times for each wait are shown..

 

A wait can be any of the following:

  • Pacing between steps
  • Minimum time wait
  • Wait step

Total Time – the total transaction time. It can be the sum of JS+NETWORK+WAIT, but since NETWORK+JS or NETWORK+WAIT can overlap, it might not be the exact sum.

 

In LoadRunner Analysis

You can open up two Client Side Breakdown graphs from Analysis – ‘Client Side Breakdown (Over Time)’ and ‘Client Side JavaScript Breakdown (Over Time)’:

 

6.png

 

The first client side breakdown graph shows all transactions with JavaScript, network and wait times, over the entire load run:

teaser.png

 

The second client side breakdown graph shows all transactions with JavaScript breakdown, over the entire load run:

 

7.png

 

 

I hope you enjoyed this description of the Client Side Breakdown feature in TruClient.  Feel free to leave a comment in the box below.

 

You can download LoadRunner here

 

Learn more about HP Loadrunner

 

Join TruClient LinkedIn group

 

TC icon_blue-05.png

Comments
| ‎03-05-2014 09:48 AM

This is great; Loadrunner/PC is still, undeniably, heads and above the leader in analysis.  

 

Question: Is there a good, integrated way to incorporate a "waterfall chart" that visually illustrates the concurrency and timelines of the various elements?  In other words, can you incorporate a Chrome > Developer Tools > Network looking chart into analysis for inclusion into reports?  

 

(I think the answer is no, but I'd like to confirm and not so subtely fish around to see if this is a priority for future development)

HP Expert | ‎03-12-2014 08:34 AM

Thanks Dan!

You guess correctly, it is impossible to obtain it currently but it is surely on our road map.

Saurabh_Kaushik | ‎03-13-2014 02:05 AM

This looks amazing.

 

But would be interesting to know if this feature has an overhead during the performance test and can the percentage of sampling increased beyong 10% which is for web page diagnostics 

 

Saurabh

HP Expert | ‎03-13-2014 11:54 AM

Thanks Saurabh!

There is a performance penalty. The current option now is to divide it to separate groups in the scenario.

We have in our backlog the requirement to run only certain amount of vusers (%) with this profiling capabilities.

 

Thanks,

Guy

John STewart | ‎04-04-2014 12:20 PM

I see no client side breakdown's available in TruClient IE -was this left out and if so, for what reason?

HP Expert | ‎04-07-2014 03:26 AM

Hi John,

Indeed this feature is absent from TruClient IE. The reason is that we need some built-in debugger/profiler capabilities that are not available for TruClient in that context.

Girish179 | ‎04-11-2014 02:26 AM

Hi guys,

 

     if i executed 3 iterations of a script and i want page breakdown of particular 3rd iteration , which ,of course, show less response time for each page component. So, can u plz suggest, how can i get that ?

HP Expert | ‎04-23-2014 03:38 AM

Hi Girish179,

Use the Simualte New User option on each iteration. This should produce a similar outcome for each iteration.

 

All the best,

Leave a Comment

We encourage you to share your comments on this post. Comments are moderated and will be reviewed
and posted as promptly as possible during regular business hours

To ensure your comment is published, be sure to follow the Community Guidelines.

Be sure to enter a unique name. You can't reuse a name that's already in use.
Be sure to enter a unique email address. You can't reuse an email address that's already in use.
Type the characters you see in the picture above.Type the words you hear.
Search
Showing results for 
Search instead for 
Do you mean 
About the Author
Featured


Follow Us
The opinions expressed above are the personal opinions of the authors, not of HP. By using this site, you accept the Terms of Use and Rules of Participation.