Table of Contents

Add Chronometry

Problem

While at the end of Brunel or DaVinci, the execution time of each individual algorithm is displayed in the TimingAuditor, this is not true for tools. To monitor the time for tools (it also works for algorithms), the follwing has to be implemented.

Remedy

You can't just switch on the TimingAuditor for tools. Instead you have to add some lines to your tool. In the myTool.h -file:

#include "GaudiKernel/Chrono.h"

In the myTool.cpp-file, in the method you want to monitor the time:

Chrono chrono( chronoSvc(),name()+"::myMethod(parameters)" ); 

This will generate at the end of the job some lines like:

*****Chrono*****     INFO ****************************************************************************************************
PatForward.PatF...   INFO Time User   : Tot=   76 [ms] Ave/Min/Max= 24.1(+-  310)/    0/4e+03 [us] #=3152
TrackMatch.TTCl...   INFO Time User   : Tot=   80 [ms] Ave/Min/Max= 28.3(+-  335)/    0/4e+03 [us] #=2823
DetailedMateria...   INFO Time User   : Tot= 40.5  [s] Ave/Min/Max=  238(+-2.81e+03)/    0/9.04e+05 [us] #=169845
ChronoStatSvc        INFO Time User   : Tot=  137  [s]                                             #=  1
*****Chrono*****     INFO ****************************************************************************************************

Documentation

There is an (older) note written about this service: http://cdsweb.cern.ch/record/784563?ln=en