gem5
v20.1.0.0
|
These methods relate to the statistics I/O interface. More...
Functions | |
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 | |
Group & | Stats::Group::operator= (const Group &)=delete |
These methods relate to the statistics I/O interface.
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 group.cc.
References Stats::Group::addStat(), Stats::Group::mergedParent, and Stats::Group::stats.
Referenced by Stats::Group::addStat(), and Stats::DataWrap< SparseHistogram, SparseHistInfoProxy >::DataWrap().
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 group.cc.
References name(), and Stats::Group::statGroups.
Referenced by Stats::Group::Group(), and pybind_init_stats().
const std::map< std::string, Group * > & Stats::Group::getStatGroups | ( | ) | const |
Get all child groups associated with this object.
Definition at line 159 of file group.cc.
References Stats::Group::statGroups.
Referenced by pybind_init_stats().
const std::vector< Info * > & Stats::Group::getStats | ( | ) | const |
Get all stats associated with this object.
Definition at line 165 of file group.cc.
References Stats::Group::stats.
|
delete |
|
delete |
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.
parent | Parent group to associate this object to. |
name | Name of this group, can be NULL to merge this group with the parent group. |
Definition at line 49 of file group.cc.
References Stats::Group::addStatGroup(), Stats::Group::mergeStatGroup(), and name().
|
virtual |
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 group.cc.
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().
|
virtual |
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 group.cc.
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().
|
virtual |
Callback to reset stats.
Reimplemented in AbstractController, DRAMInterface::DRAMStats, DRAMInterface::RankStats, Sinic::Device, GPUCoalescer, DRAMsim3, Sequencer, RubySystem, Router, GarnetNetwork, NetworkLink, and Switch.
Definition at line 82 of file group.cc.
References MipsISA::g, Stats::Group::mergedStatGroups, ArmISA::s, Stats::Group::statGroups, and Stats::Group::stats.
Referenced by pybind_init_stats(), Sinic::Device::resetStats(), and DRAMInterface::RankStats::resetStats().