Report Aggregation

compared with
Version 17 by Robin Shen
on Jun 25, 2011 07:23.


Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 2 changes. View first change.

 h3. What is report aggregation
 The report aggregation is the feature to collect build metrics from low level configurations and aggregate them into high level configurations to provide an instant overview. Whether or not a configuration will aggregate the metrics depends on your aggregation setting. For example, we have configuration tree like below, and define a JUnit aggregation in ROOT configuration:
  h3. Introduce
 Report aggregation can be used to collect build metrics from low level configurations and aggregate them into high level configurations to provide an instant overview of desired tree. A configuration can define its own aggregation rules or inherit aggregation rules from parent configurations. Taking below configuration hierarchy for example, you may define a JUnit aggregation rule in ROOT configuration to aggregate JUnit metrics from all descendant configurations:
  
 {code}
  + ROOT
  |
  +---+ QuickBuild
  |
  +------+ V3.x
  |
  +---------+ DEV
  |
  +---------+ INTEGRATION
  |
  +------+ V4.x
  |
 {code}
  
 After each build in the system, the JUnit metrics will be sent to ROOT configuration for aggregation, so eventually you will see the JUnit summary of the whole system in overview page of the ROOT configuration. The JUnit summary tells you how many tests in the system, the overall success rate and duration, and the statistics overtime.
  
 after finishing building configuration _ROOT/QuickBuild/V3.X/DEV_, the tests related metrics will be collected and aggregated to _DEV_ itself, then go up to configuration _V3.X_, then continue to _QuickBuild_, and finally to _ROOT_. When go to the configuration overview tab, a _Recent JUnit Tests_ panel is displayed and it contains the tests information of the build:
  
 !aggregation1.png!
  
 after finishing building configuration _ROOT/QuickBuild/V3.X/INTEGRATION_, the same process will be taken place, and a new row is added to the table like:
  
 !aggregation2.png!
  
 In the table above, each row shows the metrics of the latest build of a configuration, that is, when you run configuration _ROOT/QuickBuild/V3.X/DEV_ again, the entry for it will be replaced to the new build _1.0.1_.
  
 and in statistics page, a tab 'JUnit Aggregated' displays the trends of the aggregated metrics and you can group by day, by week and by month.
  
 h3. How to define aggregation
 To define aggregation is very straightforward. Go to configuration setting page and select Aggregations tab, then add an aggregation you want, you need input the aggregation name and aggregation condition. The report set field is used to tell QuickBuild you only want to aggregate some specific report sets, if leave empty, QuickBuild aggregates all available report sets.
  
 You may define the aggregations as more as you want by specifying the aggregation condition and report set, for example, you may define an aggregation which only aggregates all the metrics from all DEV configurations, and define another to aggregate from all INTEGRATION configurations.
  
 Just like all other configuration settings, the aggregation setting can be inherited/overridden from its parent.
  
 h3. Add aggregation gadget
 You may also add the aggregation gadgets to the dashboard, so you can know the status of a configuration at first glance.
  
 !tests.png!