IBM Support

ITCAM for Transactions - Running RPT Citrix tests on RRT/T6 agents

Technical Blog Post


Abstract

ITCAM for Transactions - Running RPT Citrix tests on RRT/T6 agents

Body

IBM Tivoli Composite Application Manager for Transactions
~ How to do stuff
~
By Kevin Baldwin -


How to.....How to.....

Avoid "unsupported function" errors when running RPT Citrix tests on RRT/T6 agents


You're most likely to see "unsupported function" errors reported in the TEP as Verification Point Failures. This article explains why these errors happen and the steps you need to take to avoid them.

Your initial view of these errors may look something like this:
image
Moving the cursor over the "Violated Value" shows the the full message:image
These errors are seen for 2 reasons. Each has it's own fix.

You may need to adopt one or both fixes to overcome the problem.

1. Run the agent as a process

By default the T6 agent is run as a service. For most types of RPT playback this isn't a problem, however, when running Citrix tests you should run the T6 agent as a process.

This recommendation is made on the basis of a combination of the following test results and information found in Rational documentation.
 

The "ITCAM for Transactions - Robotic Response Time 7.4.0.0/7.4.0.1 and Citrix compatibility" table shows test results for various Citrix Client versions against different operating systems.

You'll see that the successful "Citrix Receiver" tests marked "Yes*" all point at this note:
* Requires running as a local user on the desktop instead of a service. Run "C:\IBM\ITM\TMAITM6\kt6agent.exe test" manually via command prompt or Start -> Run.

For more information relating to running the T6 agent as a process, take a look at the ITCAM for Transactions - Running the RRT / T6 agent as a process blog.
 

  • Rational Performance Tester has it's own agent which can be run on a separate machine where RPT isn't installed. This is similar to the way the playbacks are run on the ITCAMfT T6 agent.

    In RPT Knowledge Center documentation you will find the Citrix performance testing guidelines which contain this information:
     

Rational Performance Tester Agent requirements
When you install Load Generation Agent, by default, the agent starts as a service. To use the Load Generation Agent for Citrix recording, the agent must run as a process. For Windows, open Windows Services. If the MajordomoService is set to Automatic start up, set it to Manual and then stop the MajordomoService. You can now open the Majordomo folder from the Rational Performance Tester Agent installation path and double-click Majordomo.bat.


Changing the T6 agent to run as a process is the ITCAMfT equivalent of this requirement.
 

This is a slight diversion from the "unsupported function" subject, but it is something that's certainly worth mentioning at this point. In addition to Citrix performance testing guidelines and the links found at the bottom of that page that contain a lot of very useful and valuable information to help record successful Citrix tests, Rational Performance Tester and Citrix troubleshooting and best practices should also be read.
 

2. Killing the wfcrun32 processes

The Citrix Receiver uses a number of processes. One of these processes can cause the "unsupported function" problem if it is running before the playback starts.

By default, the wfcrun32.exe process is killed every 24 hours.

With effect from 7.4.0.1-TIV-CAMRT-IF0001 this can be changed to kill the process as often as possible after a Citrix playback when the process isn't being used by another playback.

To do this, edit the following file on the T6 agent:
[itm_home]\TMAITM6\app\RPT\config\itcam-rpt.properties

You should find this section at the end of the file::

# if set itcam.rpt.citrix.wfcrun32.restartTimeout=0
# means wfcrun32.exe will be restarted once there is no script running
itcam.rpt.citrix.wfcrun32.restartTimeout=86400


Modify the last line to read:

itcam.rpt.citrix.wfcrun32.restartTimeout=0


If the line doesn't exist and you're running at least 7.4.0.1-TIV-CAMRT-IF0001, you can add it yourself.

The t6 agent needs to be restarted for this change to take effect.

The wfcrun32 process is then killed as soon as possible after a Citrix playback has completed and no other Citrix playbacks are running.

To confirm that the change is working, look at the pid of a wfcrun32.exe process in Task Manager. It should be different every time a Citrix playback runs.


The "unsupported function" problem can still happen after the T6 agent is started if the wfcrun32 process already exists before the first playback runs. However, subsequent playbacks are ok because the process is being killed after each playback.

To overcome this problem you can kill the wfcrun32 process when the t6 agent is started.

If you're using a batch file to start the t6 agent as described in the ITCAM for Transactions - Running the RRT / T6 agent as a process blog, you could insert the following command into the batch file before the agent starts:

taskkill /F /IM wfcrun32.exe /T

___________________________________________________________________________

 

Example log extracts showing the "unsupported function" error:

trace-robotic.log:

[2017-06-27T10:40:53.048+00:00] -  MIN  - XYZ1234 - PlaybackThreadPoolWorker-0 - com.ibm.tivoli.transperf.playback.rpt.RPTPlaybackService.processStatusEvent() - Sending RT VP event: i=|0|, statusEvent=|SimTestStatusEvent Values: monitorName=|RRT-Profile/citrixtest/|,URL=|null|,eventType=|com.ibm.rational.test.lt.citrix.event.Session.failed|,eventId=|1.b44|,parentEventId=|1.a2|,ownerId=|A1E6E303112803DDE45FB83861653965|,text=|Connection failed. 10 unsuccessful attempts were made before abandoning.
The last error message was: Unsupported function.

Session options:
Connection mode: Through Web Interface

Horizontal resolution: 1024
Vertical resolution: 768|,name=|Session connection|,actualValue=||,expectedValue=||,eventVerdict=|2|,eventReason=|2|,eventDesc=||, eventProperties = [ [name=|Substitution|,type=|String|,value=|pwd:::customCode:::Password:::0:::8:::hseZ3oP7::::::dcVar_1|]  [name=|Substitution|,type=|String|,value=|user:::customCode:::Username:::0:::8:::TECF1096::::::dcVar_0|]  [name=|Substitution Failed|,type=|String|,value=|LaunchReference:::harvester:::icaContents:::672:::30:::|]  [name=|Substitution Failed|,type=|String|,value=|Domain:::harvester:::icaContents:::527:::17:::|]  [name=|Substitution Failed|,type=|String|,value=|ClearPassword:::harvester:::icaContents:::447:::14:::|]  [name=|Substitution Failed|,type=|String|,value=|LogonTicket:::harvester:::icaContents:::739:::30:::|]  [name=|Substitution Failed|,type=|String|,value=|Address:::harvester:::icaContents:::318:::47:::|]  [name=|Substitution Failed|,type=|String|,value=|SessionsharingKey:::harvester:::icaContents:::907:::32:::|] ]|


msg-rptHistory.log:

<Message Id="None" Severity="ERROR">
 <Time Millis="1498560052409"> 2017-06-27 10:40:52.409+00:00</Time>
 <Server Format="IP">XYZ1234.something.com</Server>
 <ProductId>BWM</ProductId>
 <Component>BWM.msg.rptHistory.action.RRT-Profile/citrixtest/</Component>
 <ProductInstance>6.1</ProductInstance>
 <LogText><![CDATA[Action history event: Type="Verdict Event", Name="Session connection", Text="Connection failed. 10 unsuccessful attempts were made before abandoning.
The last error message was: Unsupported function.

Session options:
Connection mode: Through Web Interface

Horizontal resolution: 1024
Vertical resolution: 768", Verdict="Fail", Reason="See description", Description=""
Event properties:
    Name="Substitution Failed",Value="SessionsharingKey:::harvester:::icaContents:::907:::32:::"
    Name="Substitution Failed",Value="LogonTicket:::harvester:::icaContents:::739:::30:::"
    Name="Substitution Failed",Value="LaunchReference:::harvester:::icaContents:::672:::30:::"
    Name="Substitution Failed",Value="Domain:::harvester:::icaContents:::527:::17:::"
    Name="Substitution Failed",Value="ClearPassword:::harvester:::icaContents:::447:::14:::"
    Name="Substitution Failed",Value="Address:::harvester:::icaContents:::318:::47:::"
    Name="Substitution",Value="user:::customCode:::Username:::0:::8:::TECF1096::::::dcVar_0"
    Name="Substitution",Value="pwd:::customCode:::Password:::0:::8:::hseZ3oP7::::::dcVar_1"
]]></LogText>
 <Source FileName="com.ibm.tivoli.transperf.playback.rpt.event.EventEngine" Method="logHistoryAction(monitorName,actionLogString,LogLevel)"/>
 <TranslationInfo Type="JAVA" Catalog="null" MsgKey="null"></TranslationInfo>
 <Principal>XYZ1234/11.222.333.45</Principal>
</Message>


CommonBaseEvents00.log:
<CommonBaseEvent creationTime="2015-10-08T13:35:41.750Z" globalInstanceId="A1E56DC17834A560EA19E16439323036" msg="RPXE5103I History.writeEvent()  level: 21  event [&lt;verdictEvent id=&quot;1.a3&quot; ownerId=&quot;A1E55AF290D28790F18FE33737323637&quot; ownerType=&quot;BVRCombinedFragment&quot; text=&quot;Connection failed. 10 unsuccessful attempts were made before abandoning.&amp;#xA;The last error message was: Unsupported function.&amp;#xA;&amp;#xA;Session options:&amp;#xA;Connection mode: On Server&amp;#xA;Server address: server.something.local&amp;#xA;Initial program: #Notepad_RPT&amp;#xA;Farm Settings: &amp;#xA;&amp;#x9;Browser protocol: Auto&amp;#xA;&amp;#x9;Browser address: Auto&amp;#xA;User name: server&amp;#xA;Domain: XXXXXADR&amp;#xA;Color depth: 4&amp;#xA;Horizontal resolution: 1024&amp;#xA;Vertical resolution: 768&quot; parentId=&quot;1.a2&quot; timestamp=&quot;1444311341750&quot; name=&quot;Session connection&quot; eventType=&quot;com.ibm.rational.test.lt.citrix.event.Session.failed&quot; sortBy=&quot;id&quot; verdict=&quot;2&quot; reason=&quot;2&quot; causedBy=&quot;&quot;&gt;&lt;/verdictEvent&gt;]" severity="50" version="1.0.1">

 


 


Visit the ITCAM for Transactions ~ How to do stuff ~ Homepage for more blogs in this series
 


 

image

 

Subscribe and follow us for all the latest information directly on your social feeds:

 

 

image

 

image

 

image

 

 

  



 

Check out all our other posts and updates:

Academy Blogs:https://goo.gl/U7cYYY
Academy Videos:https://goo.gl/TLfMoF
Academy Google+:https://goo.gl/HnTs0w
Academy Twitter :https://goo.gl/AhR8CL








 

 

 

 

[{"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSVJUL","label":"IBM Application Performance Management"},"Component":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

UID

ibm11278868