Tracing in TFS Msscci provider

Tracing can be enabled in Msscci the same way as in tf.exe or devenv. In the setup directory (the one containing TfsMsscciSvr.exe) you need to create file named TfsMsscciSvr.exe.config. Here is what it should contain:

<?xml version="1.0"?>

<configuration>

  <runtime>

    <gcConcurrent enabled="true" />

    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

      <publisherPolicy apply="yes" />

      <probing privatePath="PrivateAssemblies" />

    </assemblyBinding>

  </runtime>

   <appSettings>

      <add key="VersionControl.EnableSoapTracing" value="true" />

      <add key="VersionControl.TraceDownloadContent" value="false" />

   </appSettings>

    <system.diagnostics>

        <switches>

            <add name="TeamFoundationSoapProxy" value="4" />

            <add name="VersionControl" value="4" />

        </switches>

        <trace autoflush="true" indentsize="3">

            <listeners>

              <!--<add name="myListener"

           type="Microsoft.TeamFoundation.TeamFoundationTextWriterTraceListener,Microsoft.TeamFoundation.Common, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

               initializeData="c:\hatteras-dev.log" />-->

              <!--<add name="perfListener" type="Microsoft.TeamFoundation.Client.PerfTraceListener,Microsoft.TeamFoundation.Client, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

               />-->

            </listeners>

        </trace>

    </system.diagnostics>

</configuration>

Two listeners defined there are:

  • myListener is recording all web method calls, value of the parameters, time it took to execute etc. into file specified in attribute initializeData
  • perfListener will popup perf dialog during the application start that will list each web method name and time it took to execute

Two enable the listener just remove the comments around it.