Reverse a text string in LoadRunner

Another Mark Sibley C/LoadRunner function.

This function takes a string of text and reverses it, turning [Peter Piper] into [repiP reteP]. I know it will have limited use but should you need it then here it is.

Copy and paste the following into a LoadRunner script to see it work:

//*******************************************************
int Reverse (char* Param, char* PName)
{
char n, Character[2000], Varname[2000];
char FullString[2000];
int i = strlen(Param);

strcpy(FullString,””);
strcpy(&n,””);

while (i >= 0)
{
sscanf(Param+i, “%c”, &n);
sprintf (Character,”%c”,n);

strcat(FullString, Character);

i–;
}

lr_save_string(FullString,PName);
}
//*******************************************************

Action()
{
lr_save_string(“ABC123456″,”Param”);
Reverse(lr_eval_string(“{Param}”),”NewParam”);
lr_output_message(lr_eval_string(“Changed [{Param}] to [{NewParam}]”));

lr_save_string(“Peter Piper”,”Param”);
Reverse(lr_eval_string(“{Param}”),”NewParam”);
lr_output_message(lr_eval_string(“Changed [{Param}] to [{NewParam}]”));

lr_save_string(“Fiddlesticks”,”Param”);
Reverse(lr_eval_string(“{Param}”),”NewParam”);
lr_output_message(lr_eval_string(“Changed [{Param}] to [{NewParam}]”));

return 0;
}

Performance Monitoring Best Practices (LoadRunner)

Leo Borisov (Functional Architect at HP) posted this to a LinkedIn discussion group on LoadRunner.
I just downloaded this document and it looks pretty good, it contains details of the best performace counters to monitor for Windows and UNIX systems and has details of different web servers such as WebLogic, WebSphere, IIS etc.

Leo’s LinkedIn posting which explains how to download the document is reproduced below.


I wanted to draw your attention to the fact that the recently released Service Pack 1 for HP LoadRunner and HP Performance Center includes a “Performance Monitoring Best Practices” book. This is the first installment in the “HP Performance Engineering Best Practices” series that HP Software and Solutions intends to release on the regular basis. We have always recognized the fact that having best practices and methodology would greatly simplify the life of performance engineers and managers, and now we are beginning to fill this need.

The book is available with the SP1 installation. Access it from the product documentation library, or from the Help menu.

Updated link:
http://lrhelp.saas.hpe.com/en/latest/help/PDFs/Monitoring_BP.pdf

 

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.