A baseline is a logical name that can be attached to a certain state of a branch of your project. Normally, the state of your project is identified by the timestamp of the run that computed the project state. A baseline is a convenient way to refer to such a state by name instead of a date. A baseline is usually used to mark a milestone in your development process.
A baseline has the following properties:
Baseline names are rendered as vertical plot-lines in the trend diagram, if configured as such by the plotline property. In any case, the baseline name is always shown in the tooltip when you hover over the associated date.
Baseline names also appear in certain menus and dialogs in the viewer as convenient shortcuts. For instance, the Time Machine filter in the breadcrumb lists baselines, as well as the Date Picker dialog that is shown when you change the reference date for a Delta metric.
Baselines can be created, changed, or deleted via the 'Manage Baselines' dialog. This dialog can be opened by clicking in one of the following locations:
To create, edit, or delete baselines you need to have the proper permission (manageBaselines
),
otherwise the context menu items will not be visible.
Permission can be set in the Administration Pages.
In addition to setting baselines via the UI, they can also be set via the TICS command-line tools.
You can set a baseline on an existing run from the command line by using TICSMaintenance
(documentation):
TICSMaintenance -setbaseline BASELINE_NAME,plotline:1 -timestamp ISO_DATE
It is also possible to set a baseline for the run that will be created by a TICSQServer
analysis
(documentation):
TICSQServer -setbaseline BASELINE_NAME,plotline:1
An advanced use case of baselines allows you to merge multiple runs into one. If you associate multiple consecutive runs with the same baseline, those runs will appear as one in the viewer. This makes it possible to schedule metric calculation over multiple points in time, while still making it appear as a single logical run in the viewer.
For example, separate the metric calculation into three phases:
TICSQServer -setbaseline MyBaseline -calc ALL -nocalc ABSTRACTINTERPRETATION,UNITTESTCOVERAGE ...
TICSQServer -setbaseline MyBaseline -calc ABSTRACTINTERPRETATION ...
TICSQServer -setbaseline MyBaseline -calc UNITTESTCOVERAGE ...
By giving these consecutive runs the same baseline, the viewer will show a single measurement point (with the date of the first of these runs).