Custom Statistics
TeamCity provides several ways to customize statistics. You can add your own statistic values calculated by external tools in a build script, configure statistics charts displayed on Build Configuration and Project's Statistics tabs, display TeamCity statistics charts on plugin's pages, etc.
Quick Start
To add a custom build metric, extend
BuildValueTypeBaseto just define your build metric calculation method, appearance, and key. After that you can reference this metric by its key in statistics chart/report tags.
To insert statistics chart into a jsp page:
<%@taglib prefix="stats" tagdir="/WEB-INF/tags/chart"%> <stats:buildChart id="g1" valueType="BuildDuration"/>
More Details
BuildType Statistics tab extension point
//WebControllerManager webControllerManager webControllerManager.addPageExtension(WebPlace.BUILD_INFO_FRAGMENT, this);
Customizing chart appearance
width, height — chart image size
hideFilters — suppress filter controls
Adding custom metrics
Implement
jetbrains.buildServer.serverSide.statistics.ValueType, extendBuildFinishAwareValueTypeBaseorCompositeVTBfor convenienceRegister it using
jetbrains.buildServer.serverSide.statistics.ValueProviderRegistry.registerValueProvider
Custom build metrics details
Implement
jetbrains.buildServer.serverSide.statistics.build.BuildFinishAwarein yourValueTypeto be notified of build finished event.Calculate your metric.
Employ
jetbrains.buildServer.serverSide.statistics.build.BuildDataStorage.publishValueto publish your value.Employ
jetbrains.buildServer.serverSide.statistics.build.BuildDataStorage.getDataSetto retrieve selected data.
See also:
Extending TeamCity: Build Script Interaction with TeamCity