LLVM  8.0.0svn
Classes | Public Member Functions | Static Public Member Functions | Friends | List of all members
llvm::TimerGroup Class Reference

The TimerGroup class is used to group together related timers into a single report that is printed when the TimerGroup is destroyed. More...

#include "llvm/Support/Timer.h"

Public Member Functions

 TimerGroup (StringRef Name, StringRef Description)
 
 TimerGroup (StringRef Name, StringRef Description, const StringMap< TimeRecord > &Records)
 
 ~TimerGroup ()
 
void setName (StringRef NewName, StringRef NewDescription)
 
void print (raw_ostream &OS)
 Print any started timers in this group. More...
 
void clear ()
 Clear all timers in this group. More...
 
const charprintJSONValues (raw_ostream &OS, const char *delim)
 

Static Public Member Functions

static void printAll (raw_ostream &OS)
 This static method prints all timers. More...
 
static void clearAll ()
 Clear out all timers. More...
 
static const charprintAllJSONValues (raw_ostream &OS, const char *delim)
 Prints all timers as JSON key/value pairs. More...
 
static void ConstructTimerLists ()
 Ensure global timer group lists are initialized. More...
 

Friends

class Timer
 
void PrintStatisticsJSON (raw_ostream &OS)
 Print statistics in JSON format. More...
 

Detailed Description

The TimerGroup class is used to group together related timers into a single report that is printed when the TimerGroup is destroyed.

It is illegal to destroy a TimerGroup object before all of the Timers in it are gone. A TimerGroup can be specified for a newly created timer in its constructor.

Definition at line 171 of file Timer.h.

Constructor & Destructor Documentation

◆ TimerGroup() [1/2]

TimerGroup::TimerGroup ( StringRef  Name,
StringRef  Description 
)
explicit

Definition at line 227 of file Timer.cpp.

References TimerGroupList.

◆ TimerGroup() [2/2]

TimerGroup::TimerGroup ( StringRef  Name,
StringRef  Description,
const StringMap< TimeRecord > &  Records 
)
explicit

Definition at line 239 of file Timer.cpp.

References assert(), P, and llvm::StringMapImpl::size().

◆ ~TimerGroup()

TimerGroup::~TimerGroup ( )

Member Function Documentation

◆ clear()

void TimerGroup::clear ( )

Clear all timers in this group.

Definition at line 370 of file Timer.cpp.

References llvm::Timer::clear(), and T.

◆ clearAll()

void TimerGroup::clearAll ( )
static

Clear out all timers.

This is mostly used to disable automatic printing on shutdown, when timers have already been printed explicitly using printAll or printJSONValues.

Definition at line 383 of file Timer.cpp.

References assert(), llvm::format(), and llvm::None.

◆ ConstructTimerLists()

void TimerGroup::ConstructTimerLists ( )
static

Ensure global timer group lists are initialized.

This function is mostly used by the Statistic code to influence the construction and destruction order of the global timer lists.

Definition at line 430 of file Timer.cpp.

Referenced by llvm::Statistic::RegisterStatistic().

◆ print()

void TimerGroup::print ( raw_ostream OS)

Print any started timers in this group.

Definition at line 360 of file Timer.cpp.

Referenced by llvm::legacy::PassManagerImpl::getContainedManager().

◆ printAll()

void TimerGroup::printAll ( raw_ostream OS)
static

This static method prints all timers.

Definition at line 376 of file Timer.cpp.

◆ printAllJSONValues()

const char * TimerGroup::printAllJSONValues ( raw_ostream OS,
const char delim 
)
static

Prints all timers as JSON key/value pairs.

Definition at line 423 of file Timer.cpp.

Referenced by llvm::PrintStatisticsJSON().

◆ printJSONValues()

const char * TimerGroup::printJSONValues ( raw_ostream OS,
const char delim 
)

◆ setName()

void llvm::TimerGroup::setName ( StringRef  NewName,
StringRef  NewDescription 
)
inline

Friends And Related Function Documentation

◆ PrintStatisticsJSON

void PrintStatisticsJSON ( raw_ostream OS)
friend

Print statistics in JSON format.

This does include all global timers (

See also
Timer, TimerGroup). Note that the timers are cleared after printing and will not be printed in human readable form or in a second call of PrintStatisticsJSON().

◆ Timer

friend class Timer
friend

Definition at line 233 of file Timer.h.


The documentation for this class was generated from the following files: