Troubleshooting Controllers, Agents, and Rigs

This topic lists common issues that occur when you work with controllers and agents in Visual Studio 2005 Team Test Load Agent.

Unable to Collect Performance Counters on Agent Computer

Setting the Logging Level on a Controller Computer

Binding a Controller to a Network Adapter

Unable to Collect Performance Counters on Agent Computer

When you run a load test, you might receive errors when you try to connect to an agent computer and collect performance counters. The Remote Registry service is the service responsible for providing performance counter data to a remote computer. By default, on computers that run Windows Vista, the Remote Registry service does not start automatically. To fix this problem, manually start the Remote Registry service.

Note

You can access the Remote Registry service from the Services application in Administrative Tools in the Control Panel.

Another cause of this problem is not having sufficient permissions to read performance counters. For local test runs, the account of the user who is running the test must be a member of the Power Users group (or higher) or the Performance Monitor Users group. For remote test runs, the account that the controller is configured to run as must be a member of the Power Users group (or higher) or the Performance Monitor Users group.

Setting the Logging Level on a Controller Computer

You can control the level of logging on a controller computer. This is useful when you are trying to diagnose a problem running a load test on a rig.

To set the logging level on a controller computer

  1. Stop the controller service. At a command prompt, type net stop vsttcontroller.

  2. Open the file QTController.exe.config. This file is located in the controller installation directory.

  3. Edit the entry for the EqtTraceLevel switch in the system diagnostics section of the file. Your code should look like this:

    <system.diagnostics>
        <trace autoflush="true" indentsize="4">
            <listeners>
                <add name="myListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="d:\VSTestHost.log" />
            </listeners>
        </trace>
        <switches>
            <!-- You must use integral values for "value":
                    0 = off, 
                    1 = error,
                    2 = warn,
                    3 = info, 
                    4 = verbose. -->
            <add name="EqtTraceLevel" value="4" />
        </switches>
    </system.diagnostics>
    
  4. Save the file.

  5. Start the controller service. At a command prompt, type net start vsttcontroller.

This applies to the controller, the agent service, and the agent process. When diagnosing problems, it is helpful to enable logging on all three processes. The procedure to set the logging level is the same for all three processes, as specified above for the controller. To set the logging levels for the agent service and the agent process, use the configuration files QTAgentService.exe.config and QTAgent.exe.config.

Binding a Controller to a Network Adapter

When you try to set up an agent, you might receive the following error:

Error 8110. Can not connect to the specified controller computer or access the controller object.

This error can be caused by installing the controller on a computer that has more than one network adapter.

Note

It is also possible to install agents successfully, and not see this problem until you try to run a test.

To fix this error, you must bind the controller to one of the network adapters. You have to set the BindTo property on the controller, and then change the agent to refer to the controller by IP address instead of by name. The steps are provided in the following procedures.

To obtain the IP address of the network adapter

  1. Click Start and then click Run.

    The Run dialog box is displayed.

  2. Type cmd and then click OK.

    A command prompt is displayed.

  3. Type ipconfig /all.

    The IP addresses for your network adapters are displayed. Record the IP address of the network adapter you want to bind your controller to.

To bind a controller to a network adapter

  1. Stop the controller service. At a command prompt, type net stop vsttcontroller.

  2. Open the file QTController.exe.config. This file is located in the controller installation directory.

  3. Add an entry for the BindTo property to the application settings. Specify the IP address of the network adapter that you want to bind the controller to. Your code should look like this:

    <appSettings>
        <add key="LogSizeLimitInMegs" value="20" />
        <add key="AgentSyncTimeoutInSeconds" value="120" />
        <add key="ControllerServicePort" value="6901" />
        <add key="ControllerUsersGroup" value="TeamTestControllerUsers" />
        <add key="ControllerAdminsGroup" value="TeamTestControllerAdmins" />
        <add key="CreateTraceListener" value="no" />
        <add key="BindTo" value="<YOUR IP ADDRESS>" />
    </appSettings>
    
  4. Save the file.

  5. Start the controller service. At a command prompt, type net start vsttcontroller.

To connect an agent to a bound controller

  • Run the agent installation again. This time, specify the IP address for the controller instead of the controller name.

This applies to the controller, the agent service, and the agent process. The BindTo property must be set for each process that is running on a computer that has more than one network adapter. The procedure to set the BindTo property is the same for all three processes, as specified above for the controller. To set the logging levels for the agent service and the agent process, use the configuration files QTAgentService.exe.config and QTAgent.exe.config.

See Also

Tasks

Troubleshooting in Team Edition for Testers
Troubleshooting Web Tests
Troubleshooting Load Tests
Troubleshooting Controllers, Agents, and Rigs

Concepts

About Controllers, Agents, and Rigs
Setting Up the Controller and Agent Functionality