Buck Hodges

Visual Studio Online, Team Foundation Server, MSDN

April, 2010

Posts
  • Buck Hodges

    TFS 2010 Power Tools are now available!

    • 8 Comments

    Here is the first full release of Power Tools for TFS 2010!  Previously we had released versions for beta 2 and RC.  With this release the focus was to have parity with the 2008 power tools and fix bugs.  We’ll be adding new power tools in the next release (no date yet).

    TFS Build Extension Power Tool  is an exciting new addition to our power tools line up.  The Build Extensions provide the ability to execute Ant or Maven 2 builds from Team Foundation Server and publish the results of the build along with any associated JUnit test results back to Team Foundation Server.  This release is compatible with Team Foundation Server 2005, Team Foundation Server 2008 and Team Foundation Server 2010.

  • Buck Hodges

    How to see the TFS server calls made by the client

    • 1 Comments

    Back in 2006 I wrote a post about a performance dialog that lets you see all of the calls made by the client.  It works with Visual Studio (devenv.exe), TFS command line (tf.exe), TCM command line (tcm.exe), Test Manager (mtm.exe), etc.

    It’s still in the product in 2010, and it’s as useful as ever if you are writing code that talks to TFS, and you want to optimize for performance.  It’s easy for extra calls to creep in, and this is a really easy way to keep track of it.  Also, if you find that something seems slow in VS when working with TFS, it provides a way for you to see whether it is calling the server and long it took. 

    Turning it on is easy.  All you need to do is to add the following lines to the bottom of your application’s .exe.config file, just inside the closing </configuration> element.  Note that the version number below is for an app using the 2010 TFS client object model.  2008 requires 9.0.0.0, and 2005 requires 8.0.0.0.

    <system.diagnostics>
      <switches>
        <add name="TeamFoundationSoapProxy" value="4" />
      </switches>
      <trace autoflush="true" indentsize="3">
        <listeners>
          <add name="perfListener" type="Microsoft.TeamFoundation.Client.PerfTraceListener,Microsoft.TeamFoundation.Client, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
        </listeners>
      </trace>
    </system.diagnostics>

    When I edited my devenv.exe.config file to add this, I had to run Notepad (or VS) as an Administrator in order to change the file (I’m using Windows 2008 Server R2, and I expect Windows 7 requires the same).

    Here’s an updated screen shot showing calls made by Visual Studio 2010 in connecting to a team project on a 2010 server.

    image

    If you hover over one of the lines in the bottom panel, you’ll get the stack trace for the call.

    image

    If you select rows from the grid, you can paste them into another document, such as a spreadsheet.  Here I selected all of the rows in the top panel and pasted the results.

      WebService TotalTime Last Count Average Min Time Max Time
      QueryNodes[Administration] 3711 1545 6 618 190 1545
      ListChildren[ReportServer] 3610 3610 1 3610 3610 3610
      GetMetadataEx2[WorkItemTracking] 2256 1926 2 1128 330 1926
      ReadIdentities[Services] 1155 767 2 577 388 767
      Connect[Services] 777 777 1 777 777 777
      QueryItems[VersionControl] 710 187 2 355 187 523
      QuerySecurityNamespaces[Services] 632 632 1 632 632 632
      GetRegistrationEntries[Services] 605 605 1 605 605 605
      GetListCollection[SharePoint] 534 534 1 534 534 534
      QueryPendingSets[VersionControl] 498 498 1 498 498 498
      QueryWorkspaces[VersionControl] 470 470 1 470 470 470
      QueryBuildDefinitions[Build] 442 442 1 442 442 442
      GetStoredQueryItems[WorkItemTracking] 353 353 1 353 353 353
      QueryCheckinNoteDefinition[VersionControl] 294 294 1 294 294 294
      GetProperties[Administration] 292 292 1 292 292 292
      QueryResourceTypes[Administration] 231 231 1 231 231 231
      QueryResources[Administration] 213 213 1 213 213 213
      QueryPermissions[Services] 198 198 1 198 198 198
      Connect[Administration] 181 181 1 181 181 181

    Enjoy!

  • Buck Hodges

    TFS 2010 has shipped!

    • 0 Comments

    Monday was the official launch for the TFS and VS 2010 releases!  I highly recommend upgrading from TFS 2005 or TFS 2008 to TFS 2010.  The number of new features in TFS 2010 is very long, and there are lots of posts on them.  One of the most exciting is that you can install TFS on a client OS (e.g., Windows 7) using SQL Express 2008.  Brian Harry runs TFS and VS 2010 on his Win7 netbook that has 2GB of RAM.

    For those of you using VS 2005 and VS 2008 to connect to TFS 2010 servers, you’ll need to install the appropriate patch for compatibility.  We had to make some changes to the behavior of the server for the new features that affects the older clients, and we didn’t want to leave the old clients in a bad state.  These are the final versions of the patches.

    2008: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=cf13ea45-d17b-4edc-8e6c-6c5b208ec54d

    2005: http://blogs.msdn.com/team_foundation/pages/the-visual-studio-2005-forward-compatibility-update-is-available.aspx

    Enjoy!

Page 1 of 1 (3 items)