Change LoadRunner Analysis global filter without resetting graphs to default

I regularly use global filters in LoadRunner Analysis, for example, to filter out the ramp-up and ramp-down portion of a performance test. Then I create filters for individual graphs to show or hide relevant transaction response times or performance statistics. I have noticed that if I run a test at a different volume and therefore a different ramp-up when I change the global filter, this resets all the graphs to their default views which is very annoying.

e.g. The problem
Analysis Screenshot


If you change Global filter, for example by adding one second to the filter.
Analysis Screenshot

After clicking “OK”, LoadRunner “helpfully” re-applies the global filter settings….
Analysis Screenshot

…and overwrites all the other filters, in this case we can now see all the UNIX counters, not just the ones for CPU utilisation that we wanted.
Analysis Screenshot

To get round this problem you need to manually edit a number of text files in the template folder. This allows the change to be made without all other settings being overwritten. 

  1. Navigate to the folder containing the Analysis Templates. The default location is C:Program FilesMercury InteractiveMercury LoadRunnerAnalysisTemplates
  2. Open the folder that contains your existing template.
  3. Open all the files with a DEF suffix and the TEM and ASC files in a text editor that allows search and replace through multiple files. I would recommend using Textpad for this.

Search for the “Values” section under the [Result0_GLOBALFILTER0] section in the .TEM file. In the example below the values show a global filter from 6 minutes to 66 minutes (360 to 3960 seconds).
TextPad screenshot

Using the search and replace option modify the start and end times, ensure that you select the  “All documents” scope, to ensure that the change is made in all the open documents, this will modify the same text in the .DEF, .TEM and .ASC files.
TextPad screenshot

After changing the values, save all files.
The template can now be re-applied without losing the non-global filters.

N.B. If you rename the .TEM and .ASC files you also need to rename the template folder accordingly.



LoadRunner extract a string from within a string

When testing it is sometimes difficult to define suitable delimiters which allow you to correlate information for use later in a script. For example I once tested an application where code similar to this was returned. In the attached example I captured a large amount of returned data.

Sample HTML

In this example a large hexadecimal number identified the account. Due to the large number of quotation marks prior to the string that I was interested in and the fact that multiple strings were returned by the web page, it was difficult to capture the string directly. Instead I decided to capture the whole of the above text and then extract the HEX6A31013657A217B4A2254993C29633893A920BAE3C9400DB string from the captured text.

Using the C function strtok it is possible to extract data from a string based on delimiters. In this case I needed the fifth value in the string that is separated from the rest of the returned data by the [“] delimiter. I used a loop function to repeatedly search through the returned data until it reaches the fifth quotation mark.


Sample Loop

Then the captured “token” can be written to a string.


Save String

LoadRunner Error “Failed to connect to server” when opening vugen

After upgrading to LoadRunner 9.x I started getting a window popup which said “Failed to connect to server” every time I opened virtual user generator (vugen.exe).

The solution to this was to close virtual user generator and delete the [vugen.ini] file.
vugen.ini is found in the %systemroot% folder on your Windows PC (usually C:WINDOWS or C:WINNT).

Once you’ve deleted the file, virtual user generator will open without any issues and create a new vugen.ini file automatically.