CDFControl now has the ability to start and stop CDF traces
on remote machines. These remote machines do not have to be running
XenApp, but can be running other Citrix products such as the
Application Streaming Client, or XenDesktop etc. CDF
tracing is only available on Microsoft Windows machines, and
therefore the remote tracing feature will not work if targeted
against a non-Windows machine, such as Linux.
Check the desired tracing modules in the main application
window
Click on Remote Tracing from the Tools menu to
launch the Remote Tracing dialog
Enter remote machine's hostname or IP address, and click on
Add to add that machine to the Selected Target(s)
list
(You can also click the Enumerate button, which will
enumerate machines on the network and display them on the listbox
to the left. You can then use the >> button, to move
enumerated machines to the Selected Target(s) list)
Once all the desired machines are added to the Selected
Target(s) list, clicking on either Start or Stop,
will perform that operation against all selected targets (i.e.
Start tracing on all selected machines, or stop tracing on all
selected machines).
Trace status will be displayed in the Status view
window
If Collect trace file after trace is stopped is checked,
then the resulting trace file from each selected target is copied
to the local machine when stopping the trace. There will be a
directory created where CDFControl is being run from, called
CDFControl_Remote_Traces, which will store the trace files.
Each file will be uniquely named so that they will not overwrite
each other. Keep in mind that large trace files will take time to
copy over the network
NOTE
Once Start or Stop has been pressed, it cannot be
cancelled until the start/stop operation either completes or
encounters a failure. This is to avoid corrupting any data that is
in progress. You can check the Event Viewer's Application Log on
the remote machine as well, for notification of the trace status,
such as to see if the trace has been started or stopped
successfully. A CDFRemoteSvcMsg.dll will be copied to the
remote system's temp directory, so that the Event Viewer will be
able to display CDFControl events normally. This file
(CDFRemoteSvcMsg.dll) only contains messages for the Event
Log, and may be deleted at any time.
This feature communicates with the Windows Service Control
Manager (SCM) on the target machine(s). The SCM may utilize the
ports used by Remote Procedure Call (RPC), although when
viewing under a network sniffer it only utilized the NetBIOS
Session Service (TCP 139). See this article for more
information.
It utilizes 2 temp files which are automatically deleted upon
each use of this feature. One of the temp files is used for
communication with the service control manager of the remote
machine, and the other is used to store the trace configuration
settings.
It utilizes a resource DLL CDFRemoteSvcMsg.dll (see
note above)
Administrative privileges on the remote machine(s) are
required.
The resulting trace file (*.etl file) is stored on the remote
machine in the system directory (%SystemRoot%), unless the
option to collect trace file after trace is stopped is
selected - in which case the trace file is deleted from the remote
machine.
You can use the -clean command line argument to remove
any CDFControl associated files and registry entries.
IMPORTING/EXPORTING REMOTE SERVER LIST
After configuring all the desired remote targets, you can export
that list so that it can be imported for future use. This way you
don't have to manually enter server names each time when doing
remote tracing.
To import a server list, do the following:
Click on the File menu in the Remote Tracing
dialog
Click on Import Server List to browse to a previously
saved Server List (*.sl) file, which will import the server
list into the Selected Target(s) list
To export a server list, do the following:
Click on the File menu in the Remote Tracing
dialog
Click on Export Server List to save the servers from the
Selected Target(s) list to a Server List (*.sl)
file
CAPTURING REMOTE TRACES, FROM A MACHINE WITH NO CITRIX
PROVIDERS INSTALLED
Sometimes you might run CDFControl on a workstation without
any Citrix products installed, and therefore there will be no
available trace providers to select from. In this case, you won't
be able to trace any local Citrix providers (since there aren't
any) - however, you can still trace remote machines (with Citrix
providers installed)
Simply right-click on the main provider/module selection
window, or go to View, and then click Remote
Providers
This will launch the following dialog:
Enter the hostname or IP of the remote machine from which you
want to extract its available Citrix providers, and click
OK
If prompted to authenticate to remote machine, enter
appropriate credentials to connect
This will connect to the remote machine, and then display its
providers in the main provider/module window
You can then use the custom trace categories, or manually
select the desired Citrix trace providers, and attempt to start or
stop a remote trace. The selected providers/modules will attempt to
get traced on the target machine; however if a specific
provider/module does not exist on the target machine, then it
simply won't get traced - but the ones that do exist, will get
traced
This is because not all target machines might have the same
Citrix products installed