DNM+ Online
dotnetmania 2.0
Monitorización de TFS Team Foundation Server Power Tools
Existen multitud de herramientas disponibles para facilitarnos el trabajo con Team Foundation Server (TFS), ya sean desarrolladas por terceros o por personal de Microsoft. Entre estas últimas están las que hoy quiero presentaros: las Power Tools, un complemento indispensable, en mi opinión, a la hora de administrar y trabajar con TFS.

Y es que cuando se trata de administrar y trabajar con TFS, toda ayuda es poca, ya que son muchas cosas a tener en cuenta: work items, control de versiones, usuarios… Por eso, una de mis primeras recomendaciones siempre es instalar la última versión de las Power Tools de Microsoft: http://tinyurl.com/tfs-powertools-es. Es importante decir además que Microsoft las actualiza cada cierto tiempo, por lo que debemos estar atentos a las noticias, para disponer siempre de la última versión. En el momento en que se escriben estas líneas, la última versión de las Power Tools corresponde a octubre de 2008, y son para TFS 2008. Dentro de este conjunto de herramientas encontramos las siguientes utilidades:

•  Team Foundation Server Power Tool Commands (tfpt.exe). •  Build Notification. •  Process Template Editor. •  Check-In Policy Pack. •  Team Foundation Server Best Practices Analyzer. •  Work Item Templates. •  TFS Server Manager. •  TFS Users. •  Alert Editor. •  Integración con el Explorador de ficheros de Windows. Instalación de las Power Tools Antes de empezar, mencionaremos un par de detalles relacionados con la instalación. En primer lugar, si no lo tenemos ya instalado, necesitaremos instalar Windows PowerShell. Con las Power Tools también se incluyen varios cmdlets para automatizar ciertas tareas con PoweShell, principalmente a nivel de control de código fuente. Además, la utilidad Best Practices Analyzer utiliza PowerShell. Por todo ello, antes de instalar las Power Tools debéis instalar PowerShell. Otro detalle relacionado con la instalación es que, si queremos la integración con el Explorador de ficheros de Windows, en la pantalla que se nos pregunta el tipo de instalación, típica o personalizada (figura 1), deberemos escoger la personalizada y marcar la opción "Windows Shell Extension".

TFS Server Manager TFS Server Manager es una herramienta muy útil a la hora de gestionar un servidor TFS, y que viene incluida en las Power Tools, aunque un poco escondida, ya que no tenemos un acceso directo a ella. Para ejecutarla, debemos abrir en el Explorador de Windows la ruta donde hayamos instalado las Power Tools, que usualmente será C:\Archivos de programa\Microsoft Team Foundation Server 2008 Power Tools, y ejecutar el fichero TfsServerManager.exe. Es importante reseñar que la cuenta de usuario con la que ejecutemos esta aplicación debe tener acceso a las bases de datos de TFS en la capa de datos del servidor, ya que TF Server Manager ejecuta directamente consultas contra las bases de datos, usando las credenciales del usuario que ejecuta la aplicación. Lo primero que vemos al ejecutar esta aplicación es una pantalla mostrándonos un listado con los servidores de TFS a los que nos hayamos conectado previamente mediante Team Explorer (figura 2).

Al hacer doble clic sobre el servidor TFS que queremos administrar, se nos muestra una ventana con diferentes pestañas con las opciones que tenemos disponibles en esta herramienta. La primera pestaña ("Requests") nos proporciona información acerca de las peticiones que se han hecho al servidor. Por ejemplo, si pulsamos el botón "Completed Requests", veremos algo similar a lo que muestra la figura 3. Aquí se nos permite ver, mediante varios filtros, un histórico de las peticiones realizadas al servidor. Podemos filtrar por usuario, aplicación de origen (por ejemplo Visual Studio, MS Build, Teamprise, etc.), IP de cliente y duración de la petición. Además, tenemos la opción de incluir únicamente las peticiones que hayan producido un error, así como filtrar por los distintos tipos de comandos disponibles en TFS, como peticiones de control de versiones o seguimiento de work items. Si hacemos doble clic sobre cualquiera de los resultados, obtendremos más información acerca de esa petición en concreto (figura 4). Gracias a esta funcionalidad, podemos obtener un nivel de detalle muy bueno sobre las acciones que se han realizado, a la hora de trazar errores en el servidor, o de detectar qué acciones han podido ocasionar problemas en el mismo. En la siguiente pestaña ("Summary") se nos muestra información acerca de si el servidor está funcionando (basándose en si se puede conectar con él), cuánto tiempo lleva ejecutándose, el tiempo transcurrido desde el último reinicio y si tenemos activado el log a nivel de servidor. Como podéis ver, esta pestaña es simplemente informativa. En la pestaña "Statistics" (figura 5), se nos presenta información acerca de los usuarios, work items, control de versiones, resultados de builds y tests, y la actividad de los últimos 7 días. Si alguno estáis al tanto de los informes de dogfooding de los TFS de Microsoft que publicaba Brian Harry en su blog (http://blogs.msdn.com/bharry/), seguro que este tipo de información os suena. Si dentro de esta pestaña nos movemos hacia el final, obtendremos aún más información que podemos filtrar (figura 6). Aquí podemos obtener toda la información de actividad, filtrada por comando, usuario, aplicación e IP cliente. Una vez obtenido el informe por el filtro deseado, si seleccionamos cualquier registro y pulsamos el botón "Drill Down" obtendremos más información del registro, dependiendo del tipo de filtro aplicado. Una vez en esa ventana (figura 7), podremos movernos más hacia abajo en el detalle mediante un nuevo botón "Drill Down", o navegar hacia arriba mediante el botón "Drill Up". La siguiente pestaña ("Health") nos proporciona una información resumida del Visor de eventos de Windows, limitándose únicamente a los avisos referentes a nuestro TFS. En ella se nos muestra, en una línea temporal, los avisos y los fallos registrados en el Visor de eventos. Podremos ir haciendo zoom hacia arriba o hacia abajo, para aumentar esa línea temporal y poder ver, de un vistazo rápido, los fallos y/o avisos registrados (figura 8). Ya por último, en la pestaña "Maintenance" se nos muestra información acerca de:

•  Workspaces: un listado de todos los workspaces que están configurados en el servidor de TFS, ofreciendo información de su nombre, el usuario propietario, el nombre de la máquina a la que pertenece, la última fecha de uso, y el comentario que se estableció al crearlo. Esta información podemos usarla para detectar workspaces que ya no están en uso, ver en qué máquina está un determinado workspace en el que tenemos localizado un fichero bloqueado, etc. •  Shelvesets: éste es un listado de todos los shelves que existen en el servidor. Al igual que en el listado anterior, obtendremos información del nombre, el propietario, la fecha de creación y el comentario. Por desgracia, no podemos ver el contenido del shelve; quizás para siguientes versiones… •  Etiquetas (labels): éste es un listado de todas las etiquetas que tenemos en el control de versiones, con información del nombre de la etiqueta, usuario que la creó, fecha de modificación, rama a la que pertenece y su comentario.

Tenemos la posibilidad de salvar todos estos informes, para lo que disponemos de dos tipos de formato. El primero se basa en un fichero de texto en el que se graban los resultados mostrados en la pestaña "Statistics", y que generaríamos mediante la opción del menú "Tools" | "Generate Statistics Reports"; el otro, más completo, se graba en formato XML, y se genera desde la opción "File" | "Save Statistics".

Conclusión Cómo podéis ver, las Power Tools, entre otras utilidades no menos importantes y de las que iremos hablando en el futuro, nos proporciona TFS Server Manager, una excelente herramienta de monitorización. En entornos donde usamos TFS es muy importante que tengamos control sobre lo que está ocurriendo, la actividad de los usuarios, qué acciones son las más ejecutadas y cuáles son los usuarios que las ejecutan. Esto es interesante, por un lado, para descubrir puntos de error que puedan provocar fallos importantes en nuestro TFS, algo que no es deseable, ya que no solo es el corazón de nuestras herramientas, si no que en él tenemos todo nuestro código fuente. Además, toda esa información acerca de las acciones, usuarios, etc. nos puede dar una idea bastante exacta acerca de dónde podemos tener los cuellos de botella, problemas de rendimiento y similares, pudiendo atajarlos antes de llegar a ellos mediante, por ejemplo, proxies del sistema de control de versiones, cambiando a un modelo de dos servidores (uno de capa de aplicación y otro de capa de datos); todo esto a fin de cuentas redundará en que podamos sacar el máximo partido y la máxima estabilidad a nuestro TFS. Para terminar, recordaros una vez más: no dejéis de instalaros las Power Tools, ¡no solo en los ordenadores de los administradores, sino en todos los demás! En próximos artículos iré contando qué otras herramientas ofrecen las Power Tools para hacernos la vida con TFS un poco más cómoda en todos los roles.

blog comments powered by Disqus
autor
referencias