gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Namespaces | Typedefs | Functions
statistics.hh File Reference

Declaration of Statistics objects. More...

#include <algorithm>
#include <cassert>
#include <cmath>
#include <functional>
#include <iosfwd>
#include <list>
#include <map>
#include <memory>
#include <string>
#include <vector>
#include "base/stats/info.hh"
#include "base/stats/output.hh"
#include "base/stats/types.hh"
#include "base/cast.hh"
#include "base/cprintf.hh"
#include "base/intmath.hh"
#include "base/str.hh"
#include "base/types.hh"

Go to the source code of this file.

Classes

class  Stats::InfoProxy< Stat, Base >
 
class  Stats::ScalarInfoProxy< Stat >
 
class  Stats::VectorInfoProxy< Stat >
 
class  Stats::DistInfoProxy< Stat >
 
class  Stats::VectorDistInfoProxy< Stat >
 
class  Stats::Vector2dInfoProxy< Stat >
 
struct  Stats::StorageParams
 
class  Stats::InfoAccess
 
class  Stats::DataWrap< Derived, InfoProxyType >
 
class  Stats::DataWrapVec< Derived, InfoProxyType >
 
class  Stats::DataWrapVec2d< Derived, InfoProxyType >
 
class  Stats::StatStor
 Templatized storage and interface for a simple scalar stat. More...
 
struct  Stats::StatStor::Params
 
class  Stats::AvgStor
 Templatized storage and interface to a per-tick average stat. More...
 
struct  Stats::AvgStor::Params
 
class  Stats::ScalarBase< Derived, Stor >
 Implementation of a scalar stat. More...
 
class  Stats::ProxyInfo
 
class  Stats::ValueProxy< T >
 
class  Stats::FunctorProxy< T >
 
class  Stats::MethodProxy< T, V >
 A proxy similar to the FunctorProxy, but allows calling a method of a bound object, instead of a global free-standing function. More...
 
class  Stats::ValueBase< Derived >
 
class  Stats::ScalarProxy< Stat >
 A proxy class to access the stat at a given index in a VectorBase stat. More...
 
class  Stats::VectorBase< Derived, Stor >
 Implementation of a vector of stats. More...
 
class  Stats::VectorProxy< Stat >
 
class  Stats::Vector2dBase< Derived, Stor >
 
struct  Stats::DistParams
 The parameters for a distribution stat. More...
 
class  Stats::DistStor
 Templatized storage and interface for a distribution stat. More...
 
struct  Stats::DistStor::Params
 The parameters for a distribution stat. More...
 
class  Stats::HistStor
 Templatized storage and interface for a histogram stat. More...
 
struct  Stats::HistStor::Params
 The parameters for a distribution stat. More...
 
class  Stats::SampleStor
 Templatized storage and interface for a distribution that calculates mean and variance. More...
 
struct  Stats::SampleStor::Params
 
class  Stats::AvgSampleStor
 Templatized storage for distribution that calculates per tick mean and variance. More...
 
struct  Stats::AvgSampleStor::Params
 
class  Stats::DistBase< Derived, Stor >
 Implementation of a distribution stat. More...
 
class  Stats::DistProxy< Stat >
 
class  Stats::VectorDistBase< Derived, Stor >
 
class  Stats::DistProxy< Stat >
 
class  Stats::Node
 Base class for formula statistic node. More...
 
class  Stats::ScalarStatNode
 
class  Stats::ScalarProxyNode< Stat >
 
class  Stats::VectorStatNode
 
class  Stats::ConstNode< T >
 
class  Stats::ConstVectorNode< T >
 
struct  Stats::OpString< Op >
 
struct  Stats::OpString< std::plus< Result > >
 
struct  Stats::OpString< std::minus< Result > >
 
struct  Stats::OpString< std::multiplies< Result > >
 
struct  Stats::OpString< std::divides< Result > >
 
struct  Stats::OpString< std::modulus< Result > >
 
struct  Stats::OpString< std::negate< Result > >
 
class  Stats::UnaryNode< Op >
 
class  Stats::BinaryNode< Op >
 
class  Stats::SumNode< Op >
 
class  Stats::Scalar
 This is a simple scalar statistic, like a counter. More...
 
class  Stats::Average
 A stat that calculates the per tick average of a value. More...
 
class  Stats::Value
 
class  Stats::Vector
 A vector of scalar stats. More...
 
class  Stats::AverageVector
 A vector of Average stats. More...
 
class  Stats::Vector2d
 A 2-Dimensional vecto of scalar stats. More...
 
class  Stats::Distribution
 A simple distribution stat. More...
 
class  Stats::Histogram
 A simple histogram stat. More...
 
class  Stats::StandardDeviation
 Calculates the mean and variance of all the samples. More...
 
class  Stats::AverageDeviation
 Calculates the per tick mean and variance of the samples. More...
 
class  Stats::VectorDistribution
 A vector of distributions. More...
 
class  Stats::VectorStandardDeviation
 This is a vector of StandardDeviation stats. More...
 
class  Stats::VectorAverageDeviation
 This is a vector of AverageDeviation stats. More...
 
class  Stats::FormulaInfoProxy< Stat >
 
class  Stats::SparseHistInfoProxy< Stat >
 
class  Stats::SparseHistBase< Derived, Stor >
 Implementation of a sparse histogram stat. More...
 
class  Stats::SparseHistStor
 Templatized storage and interface for a sparse histogram stat. More...
 
struct  Stats::SparseHistStor::Params
 The parameters for a sparse histogram stat. More...
 
class  Stats::SparseHistogram
 
class  Stats::Formula
 A formula for statistics that is calculated when printed. More...
 
class  Stats::FormulaNode
 
class  Stats::Temp
 Helper class to construct formula node trees. More...
 

Namespaces

 Stats
 

Typedefs

typedef std::shared_ptr< Node > Stats::NodePtr
 Shared pointer to a function Node. More...
 
typedef void(* Stats::Handler )()
 Register reset and dump handlers. More...
 
typedef std::map< const void
*, Info * > 
Stats::MapType
 
typedef std::map< std::string,
Info * > 
Stats::NameMapType
 

Functions

Tick curTick ()
 The current simulated tick. More...
 
Temp Stats::operator+ (Temp l, Temp r)
 
Temp Stats::operator- (Temp l, Temp r)
 
Temp Stats::operator* (Temp l, Temp r)
 
Temp Stats::operator/ (Temp l, Temp r)
 
Temp Stats::operator- (Temp l)
 
template<typename T >
Temp Stats::constant (T val)
 
template<typename T >
Temp Stats::constantVector (T val)
 
Temp Stats::sum (Temp val)
 
void Stats::dump ()
 Dump all statistics data to the registered outputs. More...
 
void Stats::reset ()
 
void Stats::enable ()
 
bool Stats::enabled ()
 
void Stats::registerHandlers (Handler reset_handler, Handler dump_handler)
 
void Stats::registerResetCallback (Callback *cb)
 Register a callback that should be called whenever statistics are reset. More...
 
void Stats::registerDumpCallback (Callback *cb)
 Register a callback that should be called whenever statistics are about to be dumped. More...
 
void Stats::processResetQueue ()
 Process all the callbacks in the reset callbacks queue. More...
 
void Stats::processDumpQueue ()
 Process all the callbacks in the dump callbacks queue. More...
 
list< Info * > & Stats::statsList ()
 
MapType & Stats::statsMap ()
 
NameMapType & Stats::nameMap ()
 
bool Stats::validateStatName (const std::string &name)
 
void debugDumpStats ()
 

Detailed Description

Declaration of Statistics objects.

Definition in file statistics.hh.

Function Documentation

Tick curTick ( )
inline

The current simulated tick.

The current simulated tick.

Definition at line 47 of file core.hh.

Referenced by DRAMSim2::accessAndRespond(), DRAMCtrl::accessAndRespond(), BaseSetAssoc::accessBlock(), FALRU::accessBlock(), FlashDevice::accessDevice(), FlashDevice::actionComplete(), O3ThreadContext< class >::activate(), SimpleThread::activate(), FullO3CPU< Impl >::activateContext(), ElasticTrace::addDepTraceRecord(), DRAMCtrl::addToReadQueue(), DRAMCtrl::addToWriteQueue(), CacheMemory::allocate(), DefaultFetch< Impl >::buildInst(), BaseXBar::calcPacketTiming(), DistIface::RecvScheduler::calcReceiveTick(), NetworkInterface::calculateVC(), VncInput::captureFrameBuffer(), Sinic::Device::changeConfig(), AlphaISA::Kernel::Statistics::changeMode(), TraceCPU::checkAndSchedExitEvent(), FlashDevice::checkDrain(), DRAMCtrl::Rank::checkDrainDone(), IGbE::chkInterrupt(), Cache::cleanEvictBlk(), BaseCache::CacheSlavePort::clearBlocked(), UFSHostDevice::clearInterrupt(), Intel8254Timer::Counter::CounterEvent::clocksLeft(), Minor::Execute::commit(), DefaultCommit< Impl >::commitHead(), MemTest::completeRequest(), LSQUnit< Impl >::completeStore(), ClockedObject::computeStats(), BaseSetAssoc::computeStats(), DRAMCtrl::Rank::computeStats(), Sinic::Base::cpuInterrupt(), NSGigE::cpuInterrupt(), Sinic::Base::cpuIntrPost(), NSGigE::cpuIntrPost(), IGbE::cpuPostInt(), Shader::curCycle(), X86ISA::GpuTLB::curCycle(), TLBCoalescer::curCycle(), TraceCPU::dcacheRetryRecvd(), DefaultDecode< Impl >::decodeInsts(), PacketQueue::deferredPacketReady(), MessageBuffer::dequeue(), SimpleMemory::dequeue(), Sinic::Device::devIntrChangeMask(), NSGigE::devIntrChangeMask(), Sinic::Device::devIntrPost(), NSGigE::devIntrPost(), Shader::dispatch_workgroups(), DefaultIEW< Impl >::dispatchInsts(), Pl111::dmaDone(), IdeDisk::doDmaDataRead(), IdeDisk::doDmaDataWrite(), IdeDisk::doDmaRead(), IdeDisk::doDmaTransfer(), IdeDisk::doDmaWrite(), DRAMCtrl::doDRAMAccess(), ArmISA::TableWalker::doL1DescriptorWrapper(), ArmISA::TableWalker::doL2DescriptorWrapper(), ArmISA::TableWalker::doLongDescriptorWrapper(), doSimLoop(), ThermalModel::doStep(), StoreTrace::downgrade(), DRAMCtrl::drain(), PCEventQueue::dump(), EventQueue::dump(), CheckerCPU::dumpAndExit(), EtherDump::dumpPacket(), PseudoInst::dumpresetstats(), PseudoInst::dumpstats(), LdsState::earliestReturnTime(), EtherSwitch::Interface::enqueue(), TraceGen::enter(), TrafficGen::enterState(), Event::Event(), Shader::exec(), TraceCPU::ElasticDataGen::execute(), exitSimLoop(), DefaultFetch< Impl >::fetch(), IGbE::DescCache< T >::fetchDescriptors(), IGbE::DescCache< T >::fetchDescriptors1(), ElasticTrace::fetchReqTrace(), UFSHostDevice::finalUTP(), FALRU::findVictim(), Minor::LSQ::SplitDataRequest::finish(), DefaultFetch< Impl >::finishTranslation(), ArmISA::flattenIntRegModeIndex(), DRAMCtrl::Rank::flushCmdList(), getElapsedTimeMicro(), getElapsedTimeNano(), Queue< WriteQueueEntry >::getNext(), Cache::getNextQueueEntry(), MipsISA::haltThread(), MipsISA::handleLockedWrite(), RiscvISA::handleLockedWrite(), Checker< Impl >::handlePendingInt(), MemTraceProbe::handleRequest(), DmaPort::handleResp(), MSHR::handleSnoop(), X86ISA::GpuTLB::handleTranslationReturn(), RubyPort::MemSlavePort::hitCallback(), RubyDirectedTester::hitCallback(), Sequencer::hitCallback(), TraceCPU::icacheRetryRecvd(), Check::initiateAction(), Check::initiateCheck(), Check::initiateFlush(), Check::initiatePrefetch(), QueuedPrefetcher::insert(), BaseSetAssoc::insertBlock(), GPUCoalescer::insertRequest(), BaseSetAssoc::invalidate(), Minor::Execute::issue(), Sequencer::issueRequest(), GPUCoalescer::issueRequest(), X86ISA::GpuTLB::issueTLBLookup(), EtherSwitch::Interface::learnSenderAddr(), GDBListener::listen(), EtherSwitch::Interface::lookupDestPort(), UFSHostDevice::LUNSignal(), PseudoInst::m5checkpoint(), PseudoInst::m5exit(), PseudoInst::m5fail(), VIPERCoalescer::makeRequest(), GPUCoalescer::makeRequest(), MemTest::MemTest(), RubySystem::memWriteback(), DRAMCtrl::minBankPrep(), TraceCPU::FixedRetryGen::nextExecute(), LinearGen::nextPacketTick(), RandomGen::nextPacketTick(), TraceGen::nextPacketTick(), GpuDispatcher::notifyWgCompl(), BaseXBar::Layer< SrcType, DstType >::occupyLayer(), Linux::openSpecialFile(), DistIface::packetOut(), ArmISA::TableWalker::pendingChange(), DVFSHandler::perfLevel(), Stats::periodicStatDump(), IGbE::RxDescCache::pktComplete(), IGbE::TxDescCache::pktComplete(), DistIface::RecvScheduler::popPacket(), IGbE::postInterrupt(), BaseSimpleCPU::preExecute(), Stats::AvgStor::prepare(), Stats::AvgSampleStor::prepare(), Logger::printEpilogue(), MC146818::RTCEvent::process(), GlobalSimLoopExitEvent::process(), Stats::SimTicksReset::process(), MC146818::RTCTickEvent::process(), Uart8250::IntrEvent::process(), Shader::TickEvent::process(), DumpStatsPCEvent::process(), TLBCoalescer::IssueProbeEvent::process(), Stats::StatEvent::process(), GlobalSyncEvent::process(), DistIface::SyncEvent::process(), DRAMCtrl::Rank::processActivateEvent(), DRAMCtrl::processNextReqEvent(), DRAMCtrl::Rank::processPowerEvent(), DRAMCtrl::Rank::processPrechargeEvent(), DRAMCtrl::Rank::processRefreshEvent(), DRAMCtrl::processRespondEvent(), EtherLink::Link::processTxQueue(), DRAMCtrl::Rank::processWakeUpEvent(), ArmISA::TableWalker::processWalk(), ArmISA::TableWalker::processWalkAArch64(), ArmISA::TableWalker::processWalkLPAE(), ArmISA::TableWalker::processWalkWrapper(), MSHR::promoteDeferredTargets(), MemChecker::ByteTracker::pruneTransactions(), EtherSwitch::Interface::PortFifo::push(), ClockedObject::pwrState(), ClockedObject::pwrStateWeights(), pybind_init_core(), PseudoInst::quiesceNs(), Sp804::Timer::read(), PL031::read(), CpuLocalTimer::Timer::read(), RealViewCtrl::read(), LSQUnit< Impl >::read(), UFSHostDevice::readCallback(), DRAMSim2::readComplete(), Pl111::readFramebuffer(), CheckerCPU::readMem(), X86ISA::Interrupts::readReg(), ElasticTrace::recordExecTick(), GPUCoalescer::recordMissLatency(), ElasticTrace::recordToCommTick(), Cache::recvAtomic(), TrafficGen::recvReqRetry(), TLBCoalescer::MemSidePort::recvReqRetry(), SimpleTimingPort::recvTimingReq(), StubSlavePort::recvTimingReq(), RubyPort::MemSlavePort::recvTimingReq(), TLBCoalescer::CpuSidePort::recvTimingReq(), SimpleMemory::recvTimingReq(), MemCheckerMonitor::recvTimingReq(), CommMonitor::recvTimingReq(), DRAMCtrl::recvTimingReq(), RubyPort::MemMasterPort::recvTimingResp(), RubyPort::PioMasterPort::recvTimingResp(), NoncoherentXBar::recvTimingResp(), MemCheckerMonitor::recvTimingResp(), CommMonitor::recvTimingResp(), CoherentXBar::recvTimingResp(), X86ISA::GpuTLB::MemSidePort::recvTimingResp(), Cache::recvTimingResp(), ComputeUnit::DataPort::recvTimingResp(), ComputeUnit::DTLBPort::recvTimingResp(), CoherentXBar::recvTimingSnoopResp(), ElasticTrace::regEtraceListeners(), ElasticTrace::regProbeListeners(), DRAMCtrl::reorderQueue(), Request::Request(), UFSHostDevice::requestHandler(), BankedArray::reserve(), Stats::AvgStor::reset(), Clocked::resetClock(), PseudoInst::resetstats(), Sp804::Timer::restartCounter(), CpuLocalTimer::Timer::restartTimerCounter(), CpuLocalTimer::Timer::restartWatchdogCounter(), MipsISA::restoreThread(), Stats::AvgStor::result(), BasePixelPump::PixelEvent::resume(), DistIface::RecvScheduler::resumeRecvTicks(), PL031::resyncMatch(), EtherTapBase::retransmit(), PseudoInst::rpns(), StatTest::run(), DistIface::SyncNode::run(), DistIface::SyncSwitch::run(), Sinic::Device::rxKick(), NSGigE::rxKick(), CommMonitor::samplePeriodic(), TraceCPU::schedIcacheNext(), schedRelBreak(), PacketQueue::schedSendEvent(), PacketQueue::schedSendTiming(), GpuDispatcher::scheduleDispatch(), MC146818::RTCEvent::scheduleIntr(), Uart8250::IntrEvent::scheduleIntr(), DRAMCtrl::Rank::schedulePowerEvent(), InstructionQueue< Impl >::scheduleReadyInsts(), DRAMCtrl::Rank::scheduleWakeUpEvent(), EtherBus::send(), X86ISA::IntDevice::IntMasterPort::sendMessage(), ComputeUnit::sendRequest(), DRAMSim2::sendResponse(), EtherTapBase::sendSimulated(), ComputeUnit::sendSyncRequest(), MC146818::serialize(), Intel8254Timer::Counter::serialize(), Sinic::Device::serialize(), NSGigE::serialize(), Globals::serialize(), Stats::AvgStor::set(), Request::setAccessLatency(), CheckpointIn::setDir(), SystemCounter::setFreq(), Pl011::setInterrupts(), CacheMemory::setMRU(), X86ISA::Interrupts::setReg(), Intel8254Timer::Counter::CounterEvent::setTo(), Request::setTranslateLatency(), Request::setVirt(), Event::setWhen(), simulate(), DefaultRename< Impl >::sortInsts(), DistIface::SyncEvent::start(), IdeDisk::startDma(), CommMonitor::startup(), BaseKvmCPU::startup(), RubySystem::startup(), MC146818::startup(), ThermalModel::startup(), Intel8254Timer::Counter::startup(), DRAMSim2::startup(), DRAMCtrl::Rank::startup(), DRAMCtrl::startup(), Stats::statElapsedTicks(), Stats::statFinalTick(), StoreTrace::store(), O3ThreadContext< class >::suspend(), SimpleThread::suspend(), BasePixelPump::PixelEvent::suspend(), Kernel::Statistics::swpipl(), takeCheckpoint(), CacheMemory::testCacheAccess(), GarnetSyntheticTraffic::tick(), AtomicSimpleCPU::tick(), IGbE::tick(), DRAMSim2::tick(), BaseKvmCPU::tick(), timesFunc(), Root::timeSync(), Root::timeSyncEnable(), Trace::InstPBTrace::traceInst(), X86ISA::GpuTLB::translationReturn(), EtherLink::Link::transmit(), DistEtherLink::TxLink::transmit(), EtherSwitch::Interface::transmit(), NSGigE::transmit(), BankedArray::tryAccess(), CacheMemory::tryCacheAccess(), SerialLink::SerialLinkSlavePort::trySendTiming(), Bridge::BridgeSlavePort::trySendTiming(), SerialLink::SerialLinkMasterPort::trySendTiming(), Bridge::BridgeMasterPort::trySendTiming(), EtherLink::Link::txDone(), Sinic::Device::txKick(), NSGigE::txKick(), Sinic::Device::unserialize(), NSGigE::unserialize(), Clocked::update(), TrafficGen::update(), ElasticTrace::updateCommitOrderDep(), ArchTimer::updateCounter(), Stats::updateEvents(), DefaultIEW< Impl >::updateExeInstStats(), VGic::updateIntState(), Pl390::updateIntState(), Pl050::updateIntStatus(), ElasticTrace::updateIssueOrderDep(), X86ISA::GpuTLB::updatePageFootprint(), TLBCoalescer::updatePhysAddresses(), CommMonitor::MonitorStats::updateReqStats(), Checker< Impl >::validateExecution(), Checker< Impl >::validateInst(), Checker< Impl >::validateState(), SystemCounter::value(), Checker< Impl >::verify(), HDLcd::virtRefresh(), RubyDirectedTester::wakeup(), GPUCoalescer::wakeup(), RubyTester::wakeup(), ArmISA::TableWalker::walk(), System::workItemBegin(), System::workItemEnd(), Uart8250::write(), AlphaBackdoor::write(), PL031::write(), EnergyCtrl::write(), GpuDispatcher::write(), UFSHostDevice::write(), IGbE::DescCache< T >::writeback(), IGbE::DescCache< T >::writeback1(), Cache::writebackBlk(), LSQUnit< Impl >::writebackStores(), DRAMSim2::writeComplete(), MC146818::writeData(), UFSHostDevice::writeDevice(), CheckerCPU::writeMem(), and MipsISA::yieldThread().

void debugDumpStats ( )

Definition at line 543 of file statistics.cc.

References Stats::dump().


Generated on Fri Jun 9 2017 13:03:56 for gem5 by doxygen 1.8.6