org.hackystat.telemetry.analyzer.reducer
Interface TelemetryReducer

All Known Implementing Classes:
BuildReducer, ChurnReducer, CodeIssueReducer, CommitReducer, CouplingReducer, CoverageReducer, CyclomaticComplexityReducer, DevTimeReducer, FileMetricReducer, IssueReducer, MemberBuildReducer, MemberChurnReducer, MemberCommitReducer, MemberDevTimeReducer, MemberUnitTestReducer, StraightLine, UnitTestReducer

public interface TelemetryReducer

Provides the Telemetry reducer interface. A reducer is responsible for processing raw software metrics to generate an instance of TelemetryStreamCollection.

Note to reducer implementers:

Author:
Qin ZHANG

Method Summary
 TelemetryStreamCollection compute(org.hackystat.sensorbase.resource.projects.jaxb.Project project, org.hackystat.dailyprojectdata.client.DailyProjectDataClient dpdClient, org.hackystat.utilities.time.interval.Interval interval, java.lang.String[] parameters)
          Computes telemetry streams.
 

Method Detail

compute

TelemetryStreamCollection compute(org.hackystat.sensorbase.resource.projects.jaxb.Project project,
                                  org.hackystat.dailyprojectdata.client.DailyProjectDataClient dpdClient,
                                  org.hackystat.utilities.time.interval.Interval interval,
                                  java.lang.String[] parameters)
                                  throws TelemetryReducerException
Computes telemetry streams. Note that if there is no data for any particular time period, null should be used as the value for that time period.

Parameters:
project - The project which defines the scope of metrics to be used in the computation.
dpdClient - The DPD Client.
interval - The time interval.
parameters - Parameters passed to reducer implementation. In case a reducer does not need any parameters, either null or an empty array may be passed.
Returns:
The resulting telemetry stream collection.
Throws:
TelemetryReducerException - If there is any error during metrics computation.