TFS Request Manager

One of the tools I miss the most in the TFS 2010 Power Tools is TFS Server Manager. TFS Server Manager (TfsServerManager.exe) shipped as part of the TFS 2008 Power Tools. Not many people know about it since it is hidden in the TFS 2008 Power Tools installation directory. But for those who do know about it, it is such a useful tool. From being able to monitor TFS app tier servers to viewing proxy server stats, it is an indispensible tool for any TFS administrator. The tool provided the ability to view active requests in the TFS app tier’s request queue. If you were a non-TFS admin user, you could only see your requests and find out how long each one took as well as the type of operation. This is very useful when you experience an operation taking longer that normal and you want to know what is blocking it. If you are a TFS admin, then you see everyone else’s requests in addition to yours. You also get to be able to cancel any request. This is typically useful if there is an operation taking too long and blocking other operations. This is typically the case with a check-in for example. Since check-ins are serialized, if one check-in takes too long, subsequent requests will be blocking waiting until the first request finishes.

I recently needed to have that same functionality to use against a TFS 2010 installation in order to troubleshoot some slowness I was experiencing. And since TfsServerManager.exe was not there yet (see the last few comments on this page for status), I decided to write my own version of it. After all, the core part of it is calling the AdminsitrationService.asmx web service’s QueryActiveRequests and CancelRequest web methods. I called the tool TFS Request Manager.

Since the TFS installation I was targeting had an app tier farm consisting of two servers, I added the ability to track multiple app tiers and aggregate their requests in a single view. This can be used to monitor TFS app tiers from different TFS installations.

I think this tool will be useful to some folks until TFS Server Manager comes back to TFS 2010, so I have released it on CodePlex at http://TfsRequestManager.codeplex.com.

The following is a transcript of the project’s description and some screenshots showing its core functionality (copied from the CodePlex project’s homepage):

Project Description
TFS Request Manager allows you to monitor active requests on one or more TFS application tier servers. You can also define execution thresholds to get notified when requests exceed a certain threshold.
TFS Request Manager is inspired by a similar feature within the TFS Server Manager tool that is part of the TFS 2008 Power Tools. Unfortunately, TFS Server Manager has not been ported yet to the TFS 2010 Power Tools. Until this great tool is back in the TFS 2010 Power Tools, TFS Request Manager can help fill a tiny little part of the gap left with the absence of TFS Server Manager. It probably wouldn't hurt either to leave Brian Harry a request to bring back that useful tool. :)
Features

  • Provides the ability to view a list of your currently active requests against one or more TFS app tier hosts (for example, app tiers in a TFS web farm, or even TFS hosts from different TFS installations).
  • If you are a TFS administrator, you will see your requests as well as everyone else's active requests.
  • Provides ability to cancel an active request if you are a TFS administrator.
  • Provides the ability to be notified when a request exceeds an execution time threshold that you specify.

Screenshots
The main UI form display a list of active requests and the names of the TFS hosts being monitored.
TRM-1.png
When you double-click on a row, the Request Details form is displayed, from which you can cancel a request (if you are a TFS admin).
TRM-2.png
You can copy the details of the active requests by right-clicking on the grid and clicking on Copy To Clipboard.
TRM-3.png
A pop up notification when a defined threshold for the request execution time is exceeded.
TRM-4.png
You can view the currently logged notifications by clicking Show Notifications...
TRM-5.png
The Notifications form lists all logged notifications. You can also right-click the list and choose Copy To Clipboard to copy the details.
TRM-6.png

I hope this tool turns out to be useful. If anyone has any questions or run into issues with the tool, please leave a message at the CodePlex project’s Discussions tab.

Published 05-30-2011 2:20 PM by Mohammad Jalloul
Filed under: ,
Powered by Community Server (Non-Commercial Edition), by Telligent Systems