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

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

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

# re: TFSServerManager PowerTool

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

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.

# TFSServerManager Powertool - Yes please!

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

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

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

Yes Please.....

# Hurry up and release this thing! :)

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

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

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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

Luis Fraile

# re: TFSServerManager PowerTool

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

Brian,

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

# TFSServer Manager Tool

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

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

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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 ;-).

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

Brian,

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

William

# Canberra VSTS User Group Rocks the House

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

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

# re: TFSServerManager PowerTool

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

Brian,

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

Wes

# TFSServerManager PowerTool 計畫.

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

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

# re: TFSServerManager PowerTool

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

Hi,

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

--larsw

# re: TFSServerManager PowerTool

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

Yes! This tool would be very helpful.

Paul

# VSTS Links - 01/24/2007

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

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

# re: TFSServerManager PowerTool

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

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

/Peter

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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.

# TFS Server Manager

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

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

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

Request++

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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! :)

# re: TFSServerManager PowerTool

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

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!

# re: TFSServerManager PowerTool

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

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.

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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!

# re: TFSServerManager PowerTool

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

fantastic Brian

# re: TFSServerManager PowerTool

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

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.  

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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

Thanks,

# re: TFSServerManager PowerTool

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

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

# Update on Team Foundation Server Roadmap

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

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

# re: TFSServerManager PowerTool

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

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?

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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

# re: TFSServerManager PowerTool

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

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

Brian

# re: TFSServerManager PowerTool

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

Brain, is there any news?

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

# re: TFSServerManager PowerTool

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

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

# March '08 Team Foundation Server Power Tools Released

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

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

# [TFS] TFS PowerTools de Marzo disponible para descarga

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

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

# [TFS] TFS PowerTools de Marzo disponible para descarga

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

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

# [TFS] TFS PowerTools de Marzo disponible para descarga

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

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

# 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!

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

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

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

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

# re: TFSServerManager PowerTool

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

Brian, when can we expect TFSServerMonitor component ?

Thanks.

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

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

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

# [TFS] TFS PowerTools de Marzo disponible para descarga

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

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

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker