Welcome to MSDN Blogs Sign in | Join | Help

TFSServerManager PowerTool

Ever since we started dogfooding TFS internally, I've been working on a tool I call TFSServerManager.  It's a bit of a misnomer because it's not really a management tool as much as it is an operations tool.  In the very early days it started as a tool to help me produce the dogfood statistics you see on my blog every month - I've been sending them around internally in email for a couple of years now.

Over time I added more and more capabilities to it (some of which are admittedly frivilous) but it has served as an outlet for me to do a little programming here and there.  My day job doesn't really allow me to do feature develoipment any more :)  Anyway, I thought I'd post a little bit about it here and see what people think.  Occasionally I get requests in email or other forms for a tool to produce dogfood stats so I think people might be interested in it.  Based on the response, I'll decide how hard I work to get it pushed out as a PowerTool quickly.

The tool actually comes in 2 parts - a client tool called TFSServerManager and a server tool called TFSMonitor that pings the servers every 5 minutes to make sure they are still alive and functioning and records a variety of interesting data.

What follows is a bunch of screenshots and a little commentary on what it means.  The tool has way to many functions to show them all here but I'll highlight some of the cool stuff.

This is the initial screen.  I've added a few of each different type of server (TFS, Proxy and Monitor).

 

You add servers to this list with the "Add Server..." File menu option.  When you double click one of the Team Foundation Servers, you get a window with many different tabs covering a variety of server aspects.  The first, shown here, is the "Requests" tab.  It shows the Version Control Requests that the server is currently processing.  I really want it to me all requests but only the version control subsystem on the server supports this capability - and they tend to be the most expensive operations.  In future versions we'll have all of the server components supporting this.

It's pretty normal for a team our size to have half a dozen or so requests on the dogfood server at a time.  When we just had a few hundred people using it, it was hard to catch more than 1 or 2 people at a time and most of the time there was no one.

At the bottom right hand corner you'll notice a "Completed Requests..." button.  As opposed to the currently executing requests above, this allows you to see all requests that have completed processing (assuming you have enabled the activity logging in the web.config on your server).  Fortunately, this actually is all requests.  All server components support activity logging, unlike "current requests" which only version control supports.  Here's what it looks like when you press Completed Requests:

The top part allows you to filter the requests (we get like 30 million per week - that's over 100 requests per second, so filtering really helps).  One cool thing is that by default, the activity log records the parameters to any request that fails or takes more than 30 seconds so if things are going badly, you can drill in to understand better.

After the Requests tab comes the Summary tab but it's boring so I'm skipping it here.  Then comes the Statistics tab.  This is what I generate my dogfood reports from.  It actually contains a lot more data than my dogfood reports do.

The table at the botton supports pivoting and drill through.  You can pivot by "command" as done here, or by user, requesting application, or client IP address.  Very handy for findout who/what is putting all of the load on you server and why.  Here's an example of a drill through into the checkin requests and a pivot by user to see who is doing all of the checkins.

Next is the performance tab.  It's mostly a clone of perfmon except that it runs of of data logged by the activity monitor and allows correlation to TFS events.  For example, if you see a spike in server activity and want to know what was happening, you can right click the data point, and choose "Show Activity Summary..." to get a pivot like the above.  From there, you can drill down all the way to the actual requests that were executing during that hour.

One really interesting thing you can see on this graph is right around Christmas, you see a substantial drop in the spikes of the perf counters.  This is because we identified another performance bottleneck and applied a patch to the server on 12/22.  The next day (and from there forward) we started seeing much lower average server utilization.  I'm expecting to see another drop when we deploy the first Orcas build in about a month.

Next is the Health tab.  It displays both the events from the application tier event log and data from the TFS Availability Monitor.  The timeline at the top helps you visualize the timeline of events and outages.  It supports drill through into both events and the availability monitor sample data.  It has two tabs.  The first includes the events as a list like this:

and the second includes a graph of server availability over time:

Now, pride mandates that I comment on this some now that you've seen it in its raw form.  This graph shows some embarassing dips in availability.  Our target minium is to stay above 98% with a goal of over 99%.  You can see that we've had drops to 95% and 97% (on 7 day running average) in recent history.  These were not actually application drops - they were infrastructure drops.  We've had problems with some network infrastructure flakiness in the data center.  In a way this availability data is a worst case analysis.  When the monitor samples the server, it touches many different services.  If any one of them, returns an error, it records the server as "unavailable" for a 5 minute windows.  It's not uncommon to have dropped packets cause availability drops that users of the systems don't actually notice.  We've talked about adding some simple retry logic to avoid these "false positives" but I feel a bit uncomfortable with the idea - a failure is a failure, no matter what the cause.  We'll see where we go with that.

The last tab is the maintenance tab.  It's my least favorite of the set.  I'm not even going to show it to you because I really want to redo it.  The idea is that is is there to help with data maintenance.  It's there to help you find out and clean up all of the workspaces, shelvesets, etc that people aren't using any more.

That's it for the TFS Server part.  The next interesting thing is the proxy.  The proxy exposes a lot less info than the TFS server does, so what we can show is limited.  In future versions we'll beef this up some.  For now, you can get a list of the servers that a proxy supports and the current statistics for each server:

Last but not least, you can double click on a monitor on the main screen and inspect it.  The primary purpose of this is to enable you to administer what machines a monitor is monitoring:

 

That's 60-70% of it and most of the interesting stuff.  As I say, I'm slowly working towards getting this ready for external consumption but I figured I'd test the waters and see how valuable you think this would be.  Let me know...

Brian

Published Monday, January 22, 2007 4:13 PM by bharry

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# TFSServerManager PowerTool

BHarry, is working on a great tool called TFSServerManager that contains lots of capabilities mainly...

Monday, January 22, 2007 4:57 PM by Archi

# re: TFSServerManager PowerTool

I would *really* like to get my hands on this as soon as you release it.  Looks to me like an invaluable tool for TFS statistics.

Monday, January 22, 2007 6:09 PM by todd brooks

# TFSServerManager Powertool - Yes please!

The investment that organisations make in VSTS and TFS is often quite significant, not just the big dev

Monday, January 22, 2007 7:23 PM by My VSTS Blog

# re: TFSServerManager PowerTool

Only 1 suggestion... impove the screenshots ;) I suggest using SnagIt 8.

Monday, January 22, 2007 7:31 PM by Zack

# re: TFSServerManager PowerTool

It would be really cool if you integrated this into the "TFS Administration Tool" on codeplex. :-)

Monday, January 22, 2007 7:36 PM by jledgard

# re: TFSServerManager PowerTool

Yes Please.....

Tuesday, January 23, 2007 1:08 AM by Asher

# Hurry up and release this thing! :)

I really want to test that, I'm always intereseted to build stats and tune up things !

Tuesday, January 23, 2007 2:04 AM by Loïc

# re: TFSServerManager PowerTool

Even at first glance, this looks like the no 1 tool for tfs admins.

Tuesday, January 23, 2007 3:24 AM by Thys

# re: TFSServerManager PowerTool

It looks great¡¡¡¡¡¡¡¡¡ I would also like to put my hands on it :o)

Luis Fraile

Tuesday, January 23, 2007 3:26 AM by Luis Fraile

# re: TFSServerManager PowerTool

Brian,

How I would love to see you drop this out to CodePlex under the PowerToys.

Tuesday, January 23, 2007 7:10 AM by Michael Ruminer

# TFSServer Manager Tool

Make sure you check out Brian Harry's blog on TFSServer Manager Tool (yes, the name has a redundancy)....

Tuesday, January 23, 2007 7:18 AM by if ( ! blogClogged )

# re: TFSServerManager PowerTool

I've thought about putting it out on CodePlex and I still haven't fully made up my mind yet.  The first issue is that we may ultimately make this part of the product and we don't generally ship source for official parts of the product.  The problem is that if I put it out there I can't collaborate on it if it is going to be part of the product.  I'm still thinking this issue through.

OK, now for the somewhat embarassing part.  You'd be stunned at how much code this is.  I just counted it and it's almost 50,000 lines.  The primary reason is that I wrote my own graph control and the custom timeline control.

We'll see.  I'll keep thinking about it and I appreciate the feedback.

Brian

Tuesday, January 23, 2007 7:40 AM by bharry

# re: TFSServerManager PowerTool

Bring it on Brian.  This is the kind of stuff that is missing for full adoption of TFS by side groups like Support and Management.  This will give them great statistics of availability an should convince quite a few of the reliability of the product.  Also don't fret your up and down (or dip to 95%) I know you guys dogfood a lot and change the server on yourself so your bound to have a few ups and downs.  Looks great can't wait to see what you'll do with it.

Cheers,

ET

ps I'm interested for the record ;-).

Tuesday, January 23, 2007 8:38 AM by Etienne Tremblay

# re: TFSServerManager PowerTool

Great tool Brian!  I'd say getting this released to the masses ASAP is a must.  Codeplex, Power Tool, next TFS release; what ever is the quickest.  As an administrator, we really need something like this tool to monitor our system as we continue to implement.

Mac

Tuesday, January 23, 2007 9:38 AM by mcdonaldn@hotmail.com

# re: TFSServerManager PowerTool

The Statistics, Performance, and Health tabs look like they provide some very useful information with the advantage of being available through one UI.

Tuesday, January 23, 2007 10:13 AM by Terry Young

# re: TFSServerManager PowerTool

Brian,

This tool would be invaluable! Looking forward to seeing it released. Keep up the good work.

William

Tuesday, January 23, 2007 4:36 PM by William Bartholomew

# Canberra VSTS User Group Rocks the House

It's 8am and I'm sitting in the inaugural meeting of the Canberra VSTS User Group . The turn-out is amazing.

Tuesday, January 23, 2007 6:00 PM by Andrew Coates ::: MSFT

# re: TFSServerManager PowerTool

Brian,

This tool looks amazing, keep up the great work.  I can't wait for it to be ready for external consumption.

Wes

Tuesday, January 23, 2007 8:05 PM by wma

# TFSServerManager PowerTool 計畫.

總部的 Brian Harry 目前手上正進行一個 很酷的 Power Tool 計畫, 這個小工具主要是用來 Monitor Team Foundation Server 的資訊. 包含了 "效能"

Tuesday, January 23, 2007 10:54 PM by Refines.Info["Polo Lee"]

# re: TFSServerManager PowerTool

Hi,

Hope you'll release this tool really, really soon.

--larsw

Wednesday, January 24, 2007 4:41 AM by Lars Wilhelmsen

# re: TFSServerManager PowerTool

Yes! This tool would be very helpful.

Paul

Wednesday, January 24, 2007 8:10 AM by Paul Rulifson

# VSTS Links - 01/24/2007

Rob Caron on A Security Overview of Team Edition for Database Pros. Clara Oscura on MSF: track, workstreams,...

Wednesday, January 24, 2007 9:26 AM by Team System News

# re: TFSServerManager PowerTool

Looking forward to use this, please release it soon :)

/Peter

Wednesday, January 24, 2007 2:45 PM by Peter Blomqvist

# re: TFSServerManager PowerTool

This tool would be really useful! I think that the dogfood stats are something most TFS admins would like to produce. Please release it as a another power-tool or with source on codeplex!

// Mathias

Wednesday, January 24, 2007 4:22 PM by Mathias Olausson

# re: TFSServerManager PowerTool

Test the waters?  I'd say they're hot.  I've had operations questions about this from numerous customers and they accept but aren't thrilled with the current story.  I know the operations represents a smaller number of people touching TFS than, say, developers.  But if the operations fail, the developers won't be very happy either.

Wednesday, January 24, 2007 10:44 PM by Dave McKinstry

# TFS Server Manager

Brian has recently posted about a tool that he introduced to me way before we released TFS. I found it

Thursday, January 25, 2007 9:30 AM by Jeff Beehler's Blog

# re: TFSServerManager PowerTool

OK, I just ordered a copy of SnagIt.  Thanks for the recommendation.  I'll try it out and see if it produces better screen shots.

Brian

Thursday, January 25, 2007 9:56 AM by bharry

# re: TFSServerManager PowerTool

Request++

Thursday, January 25, 2007 11:31 AM by Richard Murillo

# re: TFSServerManager PowerTool

Ditto with what everyone else has said - can't wait to get our hands on it!!

Thursday, January 25, 2007 5:38 PM by Bryan Hinton

# re: TFSServerManager PowerTool

Brian... Wow!  This would be a really really really great tool for us.  Please let us know when it will be available if you will be releasing it!  I really like the CodePlex idea and you could have community members join you in creating an awesome admin tool for TFS. Although, I do understand taking the time to think about it especially if you are pondering including it with the product.

Of course, I would say release it sooner than later! :)

Friday, January 26, 2007 6:34 PM by Ed Blankenship

# re: TFSServerManager PowerTool

I think it would be a valuable tool to show how the companies are using their TFS and the servers are behaving under the load.

Please release it!

Monday, January 29, 2007 10:25 AM by Amadeu Campanelli

# re: TFSServerManager PowerTool

Brian, A great tool. I am with a client that is currently asking questions that could be answered very quickly with this tool. Would like to start using it.

Monday, January 29, 2007 8:35 PM by Paul Hacker

# re: TFSServerManager PowerTool

Fantastic tool Brian.  I'd love to be able to use it to give management some insight into how critical TFS is to an IS organization.  Keep up the good work!

- Steve

Tuesday, January 30, 2007 2:42 PM by Steven St Jean

# re: TFSServerManager PowerTool

Brian, this is magnificent--an absolute must-have TFS Power Tool! So much of trying to manage our large instance of TFS (approaching 100 projects with users around the globe) has been a black box with all the attendant guess work, occasional glimpses of what might be going on, no easy way to see performance for end users, etc. Please, please find a way to share it sooner rather than later--even if only alpha quality. Thanks!

Wednesday, January 31, 2007 2:49 PM by Vaughn Hughes

# re: TFSServerManager PowerTool

fantastic Brian

Thursday, February 08, 2007 10:27 AM by hinshelm

# re: TFSServerManager PowerTool

Brain, I have not seen any recent postings on this.  Is there any news about availability?  How about a beta?  We have just purchased TFS.  Will TFSServerManager be something I can look forward to using?  Thanks.  

Tuesday, March 06, 2007 1:40 PM by Randy

# re: TFSServerManager PowerTool

Thanks for the ping.  I'm working on it but between business travel, some vacation, the dogfood server rollout and just keeping up on email I've been swamped.  I will keep you posted.

Brian

Tuesday, March 06, 2007 3:37 PM by bharry

# re: TFSServerManager PowerTool

I would love to get my hands on this and/or maybe help contribute.  What about putting this out on CodePlex?

Thanks,

Thursday, March 22, 2007 3:55 PM by Patrick Altman

# re: TFSServerManager PowerTool

It's an option I'm considering.  Unfortunately I've been so swamped the last month I haven't made much progress.  I'm hoping I'm going to find time to get out an early drop to a few more people in the next 2 weeks.

Brian

Monday, March 26, 2007 9:58 AM by bharry

# Update on Team Foundation Server Roadmap

It's been about 4 months now since I published the first Team Foundation Server roadmap. A lot has happened

Thursday, April 05, 2007 8:22 AM by bharry's WebLog

# re: TFSServerManager PowerTool

Looks great and I can't wait to get my hands on it.

So, and I know that you've heard this a couple of times, when do we got to see a MOM (or SCOM) management pack for TFS?

Tuesday, April 17, 2007 11:50 PM by Mike Aaron

# re: TFSServerManager PowerTool

A MOM pack is on our list of things to do.  We've actually built one and are testing it in our dogfood environment.  I can't say when or in what form it will be released but it's something we are working on.

Brian

Wednesday, April 18, 2007 6:48 AM by bharry

# re: TFSServerManager PowerTool

Any update on when this tool will be released?  It looks fantastic and would be extremely helpful to us even in an unsupportd capacity.

Monday, October 29, 2007 6:57 PM by Scott Lezberg

# re: TFSServerManager PowerTool

Sadly I just haven't had time to wrap it up.  I've gotten quite a few requests for it in the last few weeks so I started dusting it off this week.  I hope to get it wrapped up soon and made available.

Brian

Wednesday, November 07, 2007 7:58 AM by bharry

# re: TFSServerManager PowerTool

Brian, all sysadmins of the world are waiting this release. Could you please do it? Thanks.

Friday, November 23, 2007 6:48 AM by Andrey

# re: TFSServerManager PowerTool

I'm working on it today.  Hopefully I'll make some good progress.  I'm very sorry it's taken so long.

Brian

Sunday, December 02, 2007 1:12 PM by bharry

# re: TFSServerManager PowerTool

Brain, is there any news?

TFS 2008 already released, but we don't have the monitoring tools.

Saturday, March 22, 2008 11:53 AM by Andrey

# re: TFSServerManager PowerTool

The TFSServerManager tool is coming out with the next Power Tools release.  I'm hoping it will be available tomorrow.  Keep an eye on my blog for an announcement.

Brian

Sunday, April 20, 2008 11:35 PM by bharry

# March '08 Team Foundation Server Power Tools Released

We've just released a new version of the TFS Power Tools.  This new Power Tool release will work

Monday, April 21, 2008 2:11 PM by bharry's WebLog

# [TFS] TFS PowerTools de Marzo disponible para descarga

Buenas, cómo bien nos comentaban la semana pasada en el MVP Summit en Seattle, ya está disponible para

Monday, April 21, 2008 4:37 PM by El Bruno

# [TFS] TFS PowerTools de Marzo disponible para descarga

Buenas, cómo bien nos comentaban la semana pasada en el MVP Summit en Seattle, ya está disponible para

Monday, April 21, 2008 4:37 PM by El Bruno

# [TFS] TFS PowerTools de Marzo disponible para descarga

Buenas, cómo bien nos comentaban la semana pasada en el MVP Summit en Seattle, ya está disponible para

Monday, April 21, 2008 4:40 PM by El Bruno

# Rilasciati i nuovi Power Tool per TFS... e questa volta sono VERAMENTE uno spettacolo!!!

Rilasciati i nuovi Power Tool per TFS... e questa volta sono VERAMENTE uno spettacolo!!!

Tuesday, April 22, 2008 2:30 AM by Normal people bore me!

# Nová edice TFS Power Tools se zajímavými novinkami

Brian Harry na svém blogu uveřejnil informace o nové edici Power Tools pro TFS, která je ke stažení zde

Tuesday, April 22, 2008 3:27 PM by BonzBlog Michaela Juřka

# re: TFSServerManager PowerTool

Brian, when can we expect TFSServerMonitor component ?

Thanks.

Thursday, May 08, 2008 9:12 AM by Andrey

# 2008 年 3 月版 Team Foundation Server Power Tools がリリースされました

つい先ほど、新しいバージョンの TFS Power Tools がリリースされました。この Power Tools の新リリースは、VS/チーム エクスプローラ 2008 クライアント (および TFS

Friday, June 27, 2008 2:17 AM by bharry's WebLog

# [TFS] TFS PowerTools de Marzo disponible para descarga

Buenas, cómo bien nos comentaban la semana pasada en el MVP Summit en Seattle, ya está disponible para...

Saturday, July 05, 2008 3:01 AM by El Bruno

# How Microsoft uses Team Foundation Server internally

A good read: Applying Value Up at Microsoft by Sam Guckenheimer (also available as 60-minute-webcast

Saturday, October 04, 2008 1:59 PM by Visual Studio Team System (VSTS) Blog - by Neno Loje

# re: TFSServerManager PowerTool

Hi Brian ... we're still working off of TFS 2005 SP1 ... can we use TFS Manager against that as well, or is this only for 2008?

Thursday, November 13, 2008 7:58 AM by Ken Sponaugle

# re: TFSServerManager PowerTool

Yes, it will work for a TFS 2005 server as well.

Brian

Thursday, November 13, 2008 9:23 AM by bharry

# re: TFSServerManager PowerTool

I really like this tool however I do not have a performance Tab and when ever I select the health tab it always errors with "Error reading event log from the app tier" The details of which is that "Then network path was not found"

Tuesday, February 17, 2009 10:20 AM by Brthomas

# re: TFSServerManager PowerTool

Yeah, the performance tab was disabled in the Power Tool version because it requires a server side component that we haven't been ready to release.  I'd really like to but I don't know when we can.

I don't know why you are getting the event log error.  It just opens the event log on the AT.  Have you tried running it on the app tier?  Does that work?  it could be that remote access to your event log is disabled.

Brian

Tuesday, February 17, 2009 4:29 PM by bharry

# Good site

<a href= http://index1.verka-penka.ru >������ ������� �����</a> <a href= http://index2.verka-penka.ru >���������� �������</a> <a href= http://index3.verka-penka.ru >���������� ����</a> <a href= http://index5.verka-penka.ru >key logger</a> <a href= http://index4.verka-penka.ru >���������� ����������� ������ �������</a>

Thursday, April 09, 2009 12:13 PM by jyner_gm

# [TFS2008] TFSServerManager, ese gran desconocido que nos ayuda a entender mejor a nuestro TFS

Buenas, hace ya bastante tiempo que Brian Harry mr. TFS comentó en un post como dentro de Microsoft,

Friday, April 10, 2009 11:56 AM by El Bruno

# [TFS2008] TFSServerManager, ese gran desconocido que nos ayuda a entender mejor a nuestro TFS

Buenas, hace ya bastante tiempo que Brian Harry mr. TFS comentó en un post como dentro de Microsoft,

Friday, April 10, 2009 11:56 AM by El Bruno

# [TFS2008] TFSServerManager, ese gran desconocido que nos ayuda a entender mejor a nuestro TFS

Buenas, hace ya bastante tiempo que Brian Harry mr. TFS coment&oacute; en un post como dentro de Microsoft

Friday, April 10, 2009 11:59 AM by El Bruno

# Large Team Foundation Server Performance Characteristics

Since joining Microsoft, I’ve become intimately familiar with running a TFS server for ~3,500 users in

Thursday, May 21, 2009 1:35 PM by granth's blog

# re: TFSServerManager PowerTool

i keep getting this error when attempting to run tfsservermanager.exe...

Could not load file or assembly "Microsoft.TeamFoundation.PowerTools.ServerManager.Controls.  The system cannot find the file specified.  the DLL, Microsoft.TeamFoundation.PowerTools.ServerManager.Controls.dll, is there in the same directory as, tfsservermanager.exe

Friday, September 25, 2009 12:03 PM by matt

# re: TFSServerManager PowerTool

I'm not sure what to tell you other than to guess that maybe it's a different version?  If it's in the same folder, it should find it.  You may have to enable Fusion binding logging to see where it's looking for it and why it's not finding it.

http://blogs.msdn.com/suzcook/archive/2003/05/29/57120.aspx

Brian

Monday, September 28, 2009 10:49 AM by bharry

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
 
Page view tracker