Collecting TFS Best Practice Analyser Logs

Sometimes when you work with a Microsoft TFS support technician you will be asked to collect and submit a TFS BPA (Best Practice Analyzer) report. So why and how to do it?

A BPA report typically means a TFS system health-check report. It contains information about:

  • The TFS server operating system hardware capacity and configuration; If the TFS is of a dual deployment this will include the data for both servers.
  • The TFS system configuration information including web services, windows services, accounts, SQL Server connections & permissions, as well as the recent application event log for TFS troubleshooting.
  • A verbose trace of a (simulated) team project creation process.

BPA display this report in an elegant way and highlights all improper settings. TFS support engineer use this tool to understand a TFS system’s deployment details, as well as potential issues.

To do a TFS BPA scan and collect a report, one just

  1. Download “Team Foundation Server Power Tools” based on this post and install it on a machine that has Team Explorer installed ; make sure the “Best Practice Analyzer” is selected in the feature select step.
  2. Run the BPA tool, choose “Start a scan” from the left panel;
  3. Choose the scan type (“health check” for an existing TFS server, or “pre-install” to check the pre-requisites before installing a new TFS instance); choose the scan scope (server/client/both), then define the target TFS server URL(https://{AppTierServerName}:8080). If the BPA tool is running on the TFS server box it can detect this URL automatically.
  4. Now start the scan. A full scan can take several minutes.  The report will be displayed at the end.
  5. Choose “Export this scan” to save the report into a xml file. Now this file is ready to be submitted to Microsoft Support staff. 
  6. One can use “Select a scan to view” to view an existing scan report.

BPA is also good tool for the TFS system administrators. It is recommended that one routinely BPA scan the all over system configuration to find/resolve potential improper settings.