TFS performance data collection

I recently had a customer that asked “How can I tell if the proxy server would be a benefit to my offshore team”.  This is a good questions that needs data to compare the before and  after proxy. 

The first question is how to get the data.  You can run a get of a project in source control on a workstation at the remote location  and capture some general times.  A better method is to use the “_oi/_diagnostics/activityLog” log that is available.

In this blog post I will show how to filter, export and create a Excel pivot table to capture the data.  This process is could be used for many other admin type task that require analytical approach.

First we need to create a baseline of the current performance. To do this we are going to use the Activity Log that TFS has.

In order to get the baseline data of full get, log in as the user you wish to test on the workstation in the remote location. 

Note: In my examples below, I only have a local instance. the data will not show any sufficient results.  The process is the same.


After the get we then want to open a browser and navigate to the TFS activity log and filter the Identity Name by the user name used to do the get.

Here is an example of the URL

Once Activity Log has opened we need to filter out the Identity Name and export the file to a local folder for Excel to import the data.

Enter the Identity Name | Click on the Filter button | The Identity Name column will be sorted by the Identity Name that was entered

In the left corner  click on the Export button | At the bottom of the screen a prompt will appear asking do you want to save the “ActivityLogEntries.csv” file | Click on Save  button | this will save the “ActivityLogEntries.csv” file to the default location.


Navagate to the “ActivityLogEntries.csv” file | Open the “ActivityLogEntries.csv” file with Excel



In the “ActivityLogEntries.csv” spreadsheet we need to create a pivot chart for the data

Click on Insert | The Insert features will appearimage

Click on Pivot Chart button | The Create Pivot Chart menu will appear

Select the default setting | Click on OK

The Pivot table will appear with the available fields

Select the the ID, Command, Start Time, Execution Time, and Execution Count

Filter the Start time to the date and time you ran the Get

Now that we have gather the baseline data, the proxy server can be installed and configured.

Repeat the above process trying to keep the Get and network traffic the same as the baseline.  For example, I would not take a baseline in the morning when there is low network and development activity and then do a proxy server result test during peak times.   I would want to reduce any additional variables. 

This process can be used for other TFS performance troubleshooting. It a nice and easy process pinpoint any bottlenecks and to display data.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s