gem5  v20.1.0.0
The Stats API.

These methods relate to the statistics I/O interface. More...


 Stats::Group::Group (Group *parent, const char *name=nullptr)
 Construct a new statistics group. More...
virtual void Stats::Group::regStats ()
 Callback to set stat parameters. More...
virtual void Stats::Group::resetStats ()
 Callback to reset stats. More...
virtual void Stats::Group::preDumpStats ()
 Callback before stats are dumped. More...
void Stats::Group::addStat (Stats::Info *info)
 Register a stat with this group. More...
const std::map< std::string, Group * > & Stats::Group::getStatGroups () const
 Get all child groups associated with this object. More...
const std::vector< Info * > & Stats::Group::getStats () const
 Get all stats associated with this object. More...
void Stats::Group::addStatGroup (const char *name, Group *block)
 Add a stat block as a child of this block. More...
 Stats::Group::Group ()=delete
 Stats::Group::Group (const Group &)=delete
GroupStats::Group::operator= (const Group &)=delete

Detailed Description

These methods relate to the statistics I/O interface.

Function Documentation

◆ addStat()

void Stats::Group::addStat ( Stats::Info info)

Register a stat with this group.

This method is normally called automatically when a stat is instantiated.

Definition at line 105 of file

References Stats::Group::addStat(), Stats::Group::mergedParent, and Stats::Group::stats.

Referenced by Stats::Group::addStat(), and Stats::DataWrap< SparseHistogram, SparseHistInfoProxy >::DataWrap().

◆ addStatGroup()

void Stats::Group::addStatGroup ( const char *  name,
Group block 

Add a stat block as a child of this block.

This method may only be called from a Group constructor or from regStats. It's typically only called explicitly from Python when setting up the SimObject hierarchy.

Definition at line 113 of file

References name(), and Stats::Group::statGroups.

Referenced by Stats::Group::Group(), and pybind_init_stats().

◆ getStatGroups()

const std::map< std::string, Group * > & Stats::Group::getStatGroups ( ) const

Get all child groups associated with this object.

Definition at line 159 of file

References Stats::Group::statGroups.

Referenced by pybind_init_stats().

◆ getStats()

const std::vector< Info * > & Stats::Group::getStats ( ) const

Get all stats associated with this object.

Definition at line 165 of file

References Stats::Group::stats.

◆ Group() [1/3]

Stats::Group::Group ( )

◆ Group() [2/3]

Stats::Group::Group ( const Group )

◆ Group() [3/3]

Stats::Group::Group ( Group parent,
const char *  name = nullptr 

Construct a new statistics group.

The constructor takes two parameters, a parent and a name. The parent group should typically be specified. However, there are special cases where the parent group may be null. One such special case is SimObjects where the Python code performs late binding of the group parent.

If the name parameter is NULL, the group gets merged into the parent group instead of creating a sub-group. Stats belonging to a merged group behave as if they have been added directly to the parent group.

parentParent group to associate this object to.
nameName of this group, can be NULL to merge this group with the parent group.

Definition at line 49 of file

References Stats::Group::addStatGroup(), Stats::Group::mergeStatGroup(), and name().

◆ operator=()

Group& Stats::Group::operator= ( const Group )

◆ preDumpStats()

void Stats::Group::preDumpStats ( )

Callback before stats are dumped.

This can be overridden by objects that need to perform calculations in addition to the capabiltiies implemented in the stat framework.

Reimplemented in DRAMInterface::RankStats, PowerState::PowerStateStats, and BaseTags::BaseTagStats.

Definition at line 95 of file

References MipsISA::g, Stats::Group::mergedStatGroups, and Stats::Group::statGroups.

Referenced by BaseTags::BaseTagStats::preDumpStats(), PowerState::PowerStateStats::preDumpStats(), DRAMInterface::RankStats::preDumpStats(), and pybind_init_stats().

◆ regStats()

void Stats::Group::regStats ( )

Callback to set stat parameters.

This callback is typically used for complex stats (e.g., distributions) that need parameters in addition to a name and a description. Stat names and descriptions should typically be set from the constructor usingo from the constructor using the ADD_STAT macro.

Reimplemented in NVMInterface::NVMStats, UFSHostDevice, BaseCache::CacheStats, DRAMInterface::DRAMStats, ComputeUnit, MemCtrl::CtrlStats, System, BaseXBar, DRAMInterface::RankStats, Sinic::Device, IdeDisk, QoS::MemSinkCtrl, GPUCoalescer, X86ISA::GpuTLB, TickedObject, SMMUv3, AbstractMemory::MemStats, FALRU, CopyEngine, PowerDomain::PowerDomainStats, MessageBuffer, TAGE_SC_L, FlashDevice, PowerState::PowerStateStats, TLBCoalescer, QoS::MemCtrl::MemCtrlStats, BaseTags::BaseTagStats, Process, Compressor::Base::BaseStats, Sequencer, HDLcd, SectorTags::SectorTagsStats, ThermalDomain, Compressor::Multi::MultiStats, MathExprPowerModel, RubySystem, Compressor::BaseDictionaryCompressor::DictionaryStats, LTAGE, GPUDispatcher, QoS::Policy, RegisterFile, HTMSequencer, MemFootprintProbe, StackDistProbe, sc_gem5::Kernel, CoherentXBar, Wavefront, Shader, SnoopFilter, CacheMemory, PowerModel, RubyPrefetcher, Router, GarnetNetwork, AbstractController, PowerModelState, Switch, RegisterManager, EtherDevice, and SimpleNetwork.

Definition at line 64 of file

References DPRINTF, DTRACE, MipsISA::g, Stats::Group::mergedStatGroups, PowerISA::so, and Stats::Group::statGroups.

Referenced by CxxConfigManager::instantiate(), pybind_init_stats(), StackDistProbe::regStats(), SimpleNetwork::regStats(), EtherDevice::regStats(), MemFootprintProbe::regStats(), LTAGE::regStats(), Switch::regStats(), Compressor::BaseDictionaryCompressor::DictionaryStats::regStats(), RubySystem::regStats(), PowerModelState::regStats(), Compressor::Multi::MultiStats::regStats(), HDLcd::regStats(), ThermalDomain::regStats(), SectorTags::SectorTagsStats::regStats(), Sequencer::regStats(), AbstractController::regStats(), Compressor::Base::BaseStats::regStats(), GarnetNetwork::regStats(), Process::regStats(), BaseTags::BaseTagStats::regStats(), Router::regStats(), RubyPrefetcher::regStats(), QoS::MemCtrl::MemCtrlStats::regStats(), TLBCoalescer::regStats(), PowerModel::regStats(), PowerState::PowerStateStats::regStats(), CacheMemory::regStats(), FlashDevice::regStats(), PowerDomain::PowerDomainStats::regStats(), CopyEngine::regStats(), FALRU::regStats(), AbstractMemory::MemStats::regStats(), SMMUv3::regStats(), TickedObject::regStats(), SnoopFilter::regStats(), X86ISA::GpuTLB::regStats(), GPUCoalescer::regStats(), QoS::MemSinkCtrl::regStats(), Shader::regStats(), IdeDisk::regStats(), Wavefront::regStats(), BaseCPU::regStats(), DRAMInterface::RankStats::regStats(), BaseXBar::regStats(), System::regStats(), ComputeUnit::regStats(), BaseCache::CacheStats::regStats(), UFSHostDevice::regStats(), and BaseCache::CacheCmdStats::regStatsFromParent().

◆ resetStats()

void Stats::Group::resetStats ( )

Generated on Wed Sep 30 2020 14:02:20 for gem5 by doxygen 1.8.17