This project is read-only.

 

BUMO: An Overview | Md. Jawed


                        BUMO- ATFS BUild MOnitoring Tool

Introduction

BUMO is short name of Build Monitoring tool for TFS. BUMO provides a platform to Monitor TFS builds, Get the Statistics of Builds, View Build History, Clone Build across Team Project and many more other features. BUMO is a windows application written in C#.Net. The API exposed by TFS is building block of BUMO.

The salient features of BUMO are:

  1. View History of Build Jobs.
  2. Current Status of builds.
  3. Statistics of builds by

3.1   Build Jobs

3.2   Controller

3.3   Build Agent

  1. View Today’s Ran/Running Build History.
  2. View Over All Builds Statistics.
  3. Get Build History Ran for more than provided time.
  4. Auto Update of Build Statistics/History Grid view.
  5. Know Status of Controllers and Agents.
  6. It can be used for BIG monitor for display purpose.
  7. Configure BUMO Tool through XML file.
  8. Clone Build across Team Project.

BUMO: Architecture of Build Monitoring Tool

Figure 1 BUMO Architect

 

BUMO: A TFS Build Monitoring Tool Overview

The following snapshots show BUMO in action.

Build Statistics Section Screen Shot

Figure 2 BUMO: Build Statistics Window Panel

Build History Section Screen shot

Figure 3 BUMO: Build History Window Panel

 

BUMOSettings.xml file

This is a configuration file to control BUMO.

BUMOSettings.xml file gives flexibility to the users to configure BUMO as per their preferences

  1. Provide the URL of Team Foundation Server

Figure 4 BUMOSettings: Provide TFS URL

2. Whether to update various statistics Grid result. If yes then how frequently you want that grid to get updated (Time line in Second).

Figure 5 BUMOSettings: Build Statistics

3. Whether to Auto update the Status View of Controllers/Agent or not. If yes then how frequent you want it to get updated.

Figure 6 BUMOSettings: Status of Controllers/Agent

4. Some other values which are required by BUMO Tool for internal processing.

 

Figure 7 BUMOSettings: Build Status/BuildResons

After installation, a shortcut to BUMOSettings.xml file is placed on desktop, making it easily accessible for editing and saving purposes.

Figure 8 BUMOSettings file shortcut at desktop

By default it is located at:

  1. For 32 bits windows OS

C:\Program Files (x86)\Hakimi\BUMO\BUMOSettings.xml

     2. For 64 bits windows OS

C:\Program Files\Hakimi\BUMO\BUMOSettings.xml

Here is how it looks like

<?xml version="1.0" encoding="utf-8" ?> 

<!--provide Value to enabled/disabled Auto update and then Time interval after which you want to auto update--> 

<TFSBuildMonitorTool> 

  <!--In progress Builds--> 

  <BuildStatisticsInProgress> 

    <AutoUpdate>true</AutoUpdate> 

    <AutoUpdateTimeInSeconds>30</AutoUpdateTimeInSeconds> 

  </BuildStatisticsInProgress> 

  <!--Current Status of Agents and Controllers--> 

  <StatusOfAgentAndController> 

    <AutoUpdate>true</AutoUpdate> 

    <AutoUpdateTimeInSeconds>300</AutoUpdateTimeInSeconds> 

  </StatusOfAgentAndController> 

   <!--Todays Builds Status--> 

  <TodaysBuildStatus> 

    <AutoUpdate>true</AutoUpdate> 

    <AutoUpdateTimeInSeconds>30</AutoUpdateTimeInSeconds> 

  </TodaysBuildStatus> 

   <!--Statistics of Builds By Build Reason--> 

  <BuildStatisticsByBuildReason>

    <AutoUpdate>true</AutoUpdate>

    <AutoUpdateTimeInSeconds>30</AutoUpdateTimeInSeconds>

  </BuildStatisticsByBuildReason>

   <!--Statistics of Builds By Agents And Controllers-->

  <BuildStatisticsByAgentAndController>

    <AutoUpdate>true</AutoUpdate>

    <AutoUpdateTimeInSeconds>30</AutoUpdateTimeInSeconds>

  </BuildStatisticsByAgentAndController>

   <!--Get Build History, Running Build, Build ran for Longer than spcefied time, The AutoUpdate value can user set from UI itself-->

  <BuildsJob>

    <AutoUpdate>true</AutoUpdate>

    <AutoUpdateTimeInSeconds>300</AutoUpdateTimeInSeconds>

  </BuildsJob>

   <BuildsStatus>

    <status>Failed, Succeeded, InProgress, PartiallySucceeded, NotStarted, Stopped</status>

  </BuildsStatus>

  <TfsMonitorToolControllersToUpdate>

    <UpdateControllers>Build Controller, Agent, Build Reason, Summary, Status, InProgress</UpdateControllers

  </TfsMonitorToolControllersToUpdate>

  <BuildReason>

    <Reasons>BatchedCI, CheckInShelveset, IndividualCI, Manual, None, Schedule, ScheduleForced, Triggered, UserCreated, ValidateShelveset</Reasons>

  </BuildReason>

  <TFSServerURL>

    <URL>https://tfs.codeplex.com:443/tfs/TFS37</URL>

  </TFSServerURL>

</TFSBuildMonitorTool>

 

Installation of BUMO

  1. Download the MSI setup file to your local hard drive.
  2. Double Click on the BUMOSETUP.msi ,a window would open as shown below

Figure 9 BUMOSetUP: Initial Window

3. Click on Installed button to continue installation of BUMO.

  

Figure 10 BUMOSetUP: In Progress window

4. When installation is completed, you will see below window

Figure 11 BUMOSetUP: Installation Done

5. Click on Finish button to close the setup window.

6. BY default BUMO will get installed at this location

For 64 bits windows OS

C:\Program Files (x86)\Hakimi\BUMO\

For 32 bits windows OS

C:\Program Files\Hakimi\BUMO\

7. Under the Control Panel it would appear as below

Figure 12 BUMO in Control Panel

 

Graphical Presentation of Features provided by BUMO

Figure 13 BUMO Features

1.      Current Build Status

Figure 14 BUMO: Build Current Status

This small section at the extreme right TOP side shows the details about the current build in QUEUE by the USER.

This would get auto updated as soon as it would detect that status of the build has changed or any build has been triggered by the USER.

Based on status of build it would show the Images as (in progress, Failed, Succeeded etc).

Figure 15 Current Status Section

2.      Builds Statistic

Figure 16 BUMO: Builds Statistics Sections

This section shows the Build Statistic to users as described below.

  1. Open BUMO Tool (click on icon at desktop).

Figure 17 BUMO ShortCut at desktop

  1. Select the desired TFS server to connect, if not connected to any TFS server.
  2. Click on Build Statistic Tab.

2.1 In Progress Builds**

This Grid View would show the details about all the builds currently are in IN-Progress state.

Grid view will get auto updated at each time interval as provided into BUMOSettings.xml file.

Figure 18 BUMO: In Progress Builds Section

 

**Note: The displayed results would be all the Builds in progress between current times to past 5 hour’s time.

2.2 Today’s Builds Status

Section 2.2 would get andshow all Build status which Ran and Running for the Current Day from 12.00 A.M to till that time. And as time progress this will get updated with the latest build status.

 

E.g. Suppose BUMO tool one in front of you is at date 16 Oct 2012, 4:15 P.M. then this Grid section would show all the builds status which ran or are running between 16 October 2012, 12:00AM to 4:15 P.M.

Figure 19 BUMO: Today's Builds Status section

2.3  By Build Controller*

This section would display the Statistics of Build Controllers. This section provide an overview about how many builds failed, succeeded, Partial Succeeded etc. etc.on respective controllers associated with provided TFS server.

*Note: The displayed results would be analyze based on Total Builds triggered between selected FROM date (From drop down menu) and till current date time.

Figure 20 BUMO: By Controller

2.4  By Build Reason*

 

This section provides the Statistics of Builds triggered based on Reasons. Like How many builds triggered as BatchedCI, CheckIn Shelveset, IndividualCI, Manual, None, Schedule, ScheduleForced, Triggered, UserCreated and ValidateShelveset. To View this section please make sure that “Show Statistics of Builds Job by Build Reason” check box is checked.

 

Figure 21 BUMO: By Build Reason

2.5  By Build Agent *

 

This section displays the Statistics of Build Agents. This section provide an overview about how many builds failed, succeeded, Partial Succeeded etc. etc.on respective Agents associated with provided TFS server.

Figure 22 BUMO: By Build Agent

2.6  Over All Builds Statistics *

 

This section would display the Statistics of overall Buildstriggered or ran on provided TFS server.

 

Figure 23 BUMO: Over All Jobs Summary

 

2.7  Status of Controllers/Agent

This section would show the Status Controllers and Agents associated with provided TFS server.

 

Figure 24 BUMO: Status of Controllers/Agents

3. Build History

 

Figure 25 BUMO: Build History Section

Select Build History Tab to Get Build History Filtered based on Build Controllers, Build Agents, Time Frame and/or Execution Time.

3.1 Filtered On Controllers

  1. Select controller Name from Controllers Drop Down menu.
  2. Select Agent as “ALL”, if you want to get the history of all the Builds corresponding to selected Controller.
  3. Select From date.
  4. From “Build Operation” select Build History check box.
  5. Click on Execute Button.
  6. Wait till the result is displayed on UI.

3.2 Filtered On Agent

  1. Select controller Name from Controllers Drop Down menu.
  2. Select corresponding Agent name from Agents drop down menu. The Agent drop down menu would get updated with all agents associated with selected Controllers.
  3. Select From Date.
  4. From “Build Operation” select Build History check box.
  5. Click on Execute Button.
  6. Wait till the result displayed on UI.

3.3 Filtered On Ran Time

  1. Select controller Name from Controllers Drop Down menu.
  2. Select corresponding Agent name from Agents drop down menu. The Agent drop down menu would get updated with all agents associated with selected Controllers.
  3. Select From date.
  4. Provide the Value in the Text Area “Get Build which Ran for more than --- Minute(s)”.
  5. From “Build Operation” select Build History check box.
  6. Click on Execute Button.
  7. Wait till the result displayed on UI.
  8. Displayed Result of Builds job would of all the build which ran for more than provided time.

3.4 In Progress

  1. Select controller Name from Controllers Drop Down menu.
  2. Select corresponding Agent name from Agents drop down menu. The Agent drop down Menu would get updated with all agents associated with selected Controllers.
  3. From “Build Operation” select Running Builds check box.
  4. Click on Execute Button.
  5. Wait till the result displayed on UI.

3.5  Filtered On Date Range

  1. Select controller Name from Controllers Drop Down menu.
  2. Select corresponding Agent name from Agents drop down menu. The Agent drop down menu would get updated with all agents associated with selected Controllers.
  3. Select From date.
  4. From “Build Operation” select Build History check box.
  5. Click on Execute Button.
  6. Wait till the result displayed on UI.
  7. Displayed Result of Builds job would be of all the builds which between from date till current date time.

4        Clone Build

Figure 26 BUMO: Clone Build section

Under the tab Clone Build, user would be able to Clone Build from one Team Project to another Team project.

  1. Make sure that you have selected Clone Build tab.
  2. Select project from drop down menu “TFS Project From”. This would work as source for Build Definition.
  3. In text area “Build to be Clone” provide valid Build definition from Source Team Project.
  4. Select Team Project from drop down menu “TFS Project To:” this would work as Target for Build definition or under which you want to cline your Build from Source.
  5. In the text area “Build Name at destination”, provide Target Build Name.
  6. When you are done, click on Button “Clone”.
  7. After few seconds a successful/error message would appear.
  8. The build definition Cloned in Target team Project would be disabled.

Support

For any help, issue or feedback please free to send an email to us at

Jawed.ace@gmail.com.

Thanks!!!

Last edited Oct 31, 2012 at 7:43 PM by jawedWin8, version 2

Comments

No comments yet.