Class BuildTimeStatisticProvider
- java.lang.Object
-
- jetbrains.buildServer.serverSide.statistics.buildtime.BuildTimeStatisticProvider
-
- All Implemented Interfaces:
BuildTimeProvider
,FairBuildDistributorDataProvider
public class BuildTimeStatisticProvider extends Object implements BuildTimeProvider, FairBuildDistributorDataProvider
-
-
Constructor Summary
Constructors Constructor Description BuildTimeStatisticProvider(TimeStatisticsProvider provider, HistoricalPathProvider historicalPathProvider, ProjectManager projectManager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BuildTimeInfo
getBuildTimeInfo(SBuildType requested, DateRange dateRange)
Returns build time statistic for particular build type.Map<Key,BuildTimeInfo>
getBuildTimeInfoByAgents(SProject project, DateRange dateRange)
Returns build time statistic for all builds belongs to particular project in requested period of time grouped by agentsMap<String,BuildTimeInfo>
getBuildTimeInfos(SProject project, DateRange dateRange)
Returns build time statistic for all builds belongs to particular project in requested period of timeMap<String,BuildTimeInfo>
getBuildTimeInfos(SProject project, DateRange dateRange, Collection<Integer> agentIds)
Returns build time statistic for all builds from specific agents belongs to particular project in requested period of timeDate
getLastUpdated()
BuildTimeInfo
getProjectBuildTimeInfo(SProject project, DateRange dateRange)
Map<CacheKey,Long>
getProjectsBuildTime(DateRange.DateRangeType type)
Collection<ProjectAgentBuildValue>
getRawData(DateRange dateRange)
-
-
-
Constructor Detail
-
BuildTimeStatisticProvider
public BuildTimeStatisticProvider(@NotNull TimeStatisticsProvider provider, @NotNull HistoricalPathProvider historicalPathProvider, @NotNull ProjectManager projectManager)
-
-
Method Detail
-
getProjectsBuildTime
@NotNull public Map<CacheKey,Long> getProjectsBuildTime(@NotNull DateRange.DateRangeType type)
- Specified by:
getProjectsBuildTime
in interfaceFairBuildDistributorDataProvider
-
getRawData
@NotNull public Collection<ProjectAgentBuildValue> getRawData(@NotNull DateRange dateRange)
- Specified by:
getRawData
in interfaceBuildTimeProvider
-
getProjectBuildTimeInfo
@NotNull public BuildTimeInfo getProjectBuildTimeInfo(@NotNull SProject project, @NotNull DateRange dateRange)
- Specified by:
getProjectBuildTimeInfo
in interfaceBuildTimeProvider
-
getBuildTimeInfos
@NotNull public Map<String,BuildTimeInfo> getBuildTimeInfos(@NotNull SProject project, @NotNull DateRange dateRange)
Returns build time statistic for all builds belongs to particular project in requested period of time- Specified by:
getBuildTimeInfos
in interfaceBuildTimeProvider
- Parameters:
project
-dateRange
-- Returns:
- aggregated build time info for build types belong to requested project {build.getBuildTypeId(), BuildTimeInfo}
-
getBuildTimeInfos
@NotNull public Map<String,BuildTimeInfo> getBuildTimeInfos(@NotNull SProject project, @NotNull DateRange dateRange, @Nullable Collection<Integer> agentIds)
Returns build time statistic for all builds from specific agents belongs to particular project in requested period of time- Specified by:
getBuildTimeInfos
in interfaceBuildTimeProvider
- Parameters:
project
-dateRange
-agentIds
-- Returns:
- aggregated build time info for build types belong to requested project {build.getBuildTypeId(), BuildTimeInfo}
-
getBuildTimeInfoByAgents
@NotNull public Map<Key,BuildTimeInfo> getBuildTimeInfoByAgents(@NotNull SProject project, @NotNull DateRange dateRange)
Description copied from interface:BuildTimeProvider
Returns build time statistic for all builds belongs to particular project in requested period of time grouped by agents- Specified by:
getBuildTimeInfoByAgents
in interfaceBuildTimeProvider
- Returns:
-
getLastUpdated
@NotNull public Date getLastUpdated()
- Specified by:
getLastUpdated
in interfaceBuildTimeProvider
-
getBuildTimeInfo
public BuildTimeInfo getBuildTimeInfo(@Nullable SBuildType requested, @NotNull DateRange dateRange)
Returns build time statistic for particular build type. If you need data for several build types usegetBuildTimeInfos(jetbrains.buildServer.serverSide.SProject, jetbrains.buildServer.serverSide.statistics.buildtime.DateRange)
to obtain all data with only one db request and then filter it in according to your needs- Parameters:
requested
- - requested build typedateRange
- - required period- Returns:
- build time info for requested build type
-
-