14
RES PowerFuse tracing
In this blog I will explain how to enable RES PowerFuse Tracing and in which situations it could help you (and us) troubleshooting an RES PowerFuse issue.
So, what is traced and what isn’t traced?
First of all, only activity from and between RES PowerFuse processes is traced. All RES PowerFuse executables automatically log their actions in the trace. But also, when troubleshooting unknownRES PowerFuse errors, our Software Engineers often re-create a RES PowerFuse executable with extra tracing in order to pinpoint the exact cause of the error. This executable will log extra information in the problem area of that code. Another example for using tracing is a problem in the logon proces of a user, which is occuring during the execution of RES PowerFuse. Especially if no information about the problem can be found in the Event Log of the user’s Workspace Analysis or the RES PowerFuse Error Log.
However, RES PowerFuse tracing is no help if you have a problem with a specific application, for example when this application hangs unexpectedly. Or when having non-RES PowerFuse Errors. This will not show up in the RES PowerFuse log. For tracing processes, file system and registry activity, you can use Procmon.
When you’re not sure which tool to use but you still want to start troubleshooting your issue, you can just run both at the same time. This is really helpful because you can compare the timestamps between Procmon and the RES PowerFuse trace.
For example when tracing why calculator starts so slow (bad but very easy example ;) :

How to get started?
RES PowerFuse trace mode can be used since RES PowerFuse 2008 and later.
On the machine you want to start tracing, take the following actions:
1) Stop the “RES Service”.
2) Add the following registry values to the machine running RES PowerFuse in the key
32-bits OS: HKLM\Software\RES\PowerFuse
64-bits OS: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\RES\PowerFuse
Value: Trace
Type: REG_SZ
Data: Yes
Value: TraceDetailed
Type: REG_SZ
Data: Yes
Value: TraceFile
Type: REG_SZ
Data: c:\temp\trace.txt
3) Start the “RES Service”.
4) Check if the trace file is created correctly at the configured location.
For example:
Please note that during the (short) time that you have stopped the RES Service, it’s not possible for users to logon. The users who already have a session will not have any problem.
The location of the file (c:\temp\trace.txt in the example) is not mandatory and may be changed to the location you prefer. Unfortunately, it’s not possible to use a variable like %systemroot% or %windir% in the path. Also, don’t be afraid of a trace file filling your disk: it has a maximum of 2MB.
An important remark:
The pfwsmgr.exe takes care of the user desktop and is launched by the user. In order to trace this executable, a user should have modify access to the trace file. If your RES Service is also started by an alternative account (other than System), please check if this account also has the permission to modify the trace file.
RES Software also has a “RES PowerFuse Traceviewer” available but it does the same job . However, the traceviewer shows directly what’s traced, like Procmon.
Using a tracefile is also very useful if a RES PowerFuse problem occurs randomly. As you can’t sit and wait with a tracing tool for a problem to occur. However, as soon as you have noticed the problem, you need to copy the tracefile as soon as possible. Remember that it will only reach the maximum size of 2MB and RES PowerFuse will start overwritting the oldest lines in the file when the end is reached.
A few tips on how to ‘read’ a RES PowerFuse trace file
It’s impossible to declare al lines an languages being used, however I can give you some information about the most common executables you might find in the trace and what they are designed to do.
The RES PowerFuse session:
I’ll start with the pfwsmgr.exe, which I already explained a bit. This is the PowerFuse Workspace Manager, responsible for the user session and the logon/logoff proces. You might see pwrgate.exe also, responsible for starting applications and the execution of actions configured on application level when the start is initiated from a RES PowerFuse desktop. You may see pwrgrids.exe which is mostly responsible for executing actions configured on application level of i.e. APP-V applications. Setprint.exe is the special Printer interface RES PowerFuse offers for users.
On the machine:
The RES PowerFuse Service (RES Service), res.exe, is essential for running RES PowerFuse correctly. A few (of it’s many tasks): pushing policies in the current user when a user logs on, starting the resop.exe and the pwrcache.exe’s.
The resop.exe is also a background process and responsible for things like checking for running sessions, checking if a RES PowerFuse agent is a Citrix server etc. etc.
And the pwrcache.exe processes. One is there for upload, the other for downloading RES PowerFuse data. Unless you are having trouble synchronizing with your datastore or pwrcache errors, tracing these executables doesn’t help you much.
When you’re troubleshooting an unknown error, you should look for the exectuable presenting you the error in the trace file. And of course search our knowledge base to make sure that you have an unknown error :)
Happy tracing!
