Statistics customization

Documentation Index

Statistics customization

TeamCity provides number of ways to customize statistics. You can add your own custom metrics to integrate your tools/processes, insert any stats graph/report into any extension place, etc.

Quick start

  • Easy way to just insert jsp fragment into WebPlace — use a helper bean
    <bean id="myLogoFragment" class="jetbrains.buildServer.web.openapi.SimpleWebExtension" init-method="register">
        <property name="name" value="myLogoFragment"></property>
        <property name="place" value="PAGE_HEADER"></property>
        <property name="jspPath" value="/myLogoFragment.jsp"/>
      </bean>
  • How to insert statistics chart into jsp page
    <%@taglib prefix="stats" tagdir="/WEB-INF/tags/graph"%>
    <stats:buildGraph id="g1" valueType="BuildDuration"/>
  • Easy way to add a custom build metric: Extend BuildValueTypeBase to just define your build metric calculation method, appearance and key - now you can reference this metric by its key in statistics chart/report tags

More details

BuildType Statistics tab extension point

//WebControllerManager webControllerManager
webControllerManager.addPageExtension(WebPlace.BUILD_INFO_FRAGMENT, this);

customizing appearance

  • width, height - graph image size
  • hideFilters - suppress filter controls

Details on how to add custom metrics

  • Implement jetbrains.buildServer.serverSide.statistics.ValueType
  • Register it via jetbrains.buildServer.serverSide.statistics.StatsManager

Details on custom Build metrics

  • Implement jetbrains.buildServer.serverSide.statistics.build.BuildFinishAware in your ValueType to be notified of build finished event
  • calculate your metric
  • Employ jetbrains.buildServer.serverSide.statistics.build.BuildDataStorage to publish your value
  • Employ jetbrains.buildServer.serverSide.statistics.build.BuildDataStorage to retrieve your dataset

Labels

 
(None)