gem5 v24.0.0.0
|
Stats declarations, all in a struct for convenience. More...
Public Member Functions | |
MonitorStats (statistics::Group *parent, const CommMonitorParams ¶ms) | |
Create the monitor stats and initialise all the members that are not statistics themselves, but used to control the stats or track values during a sample period. | |
void | updateReqStats (const probing::PacketInfo &pkt, bool is_atomic, bool expects_response) |
void | updateRespStats (const probing::PacketInfo &pkt, Tick latency, bool is_atomic) |
Public Member Functions inherited from gem5::statistics::Group | |
Group (Group *parent, const char *name=nullptr) | |
Construct a new statistics group. | |
virtual | ~Group () |
virtual void | regStats () |
Callback to set stat parameters. | |
virtual void | resetStats () |
Callback to reset stats. | |
virtual void | preDumpStats () |
Callback before stats are dumped. | |
void | addStat (statistics::Info *info) |
Register a stat with this group. | |
const std::map< std::string, Group * > & | getStatGroups () const |
Get all child groups associated with this object. | |
const std::vector< Info * > & | getStats () const |
Get all stats associated with this object. | |
void | addStatGroup (const char *name, Group *block) |
Add a stat block as a child of this block. | |
const Info * | resolveStat (std::string name) const |
Resolve a stat by its name within this group. | |
void | mergeStatGroup (Group *block) |
Merge the contents (stats & children) of a block to this block. | |
Group ()=delete | |
Group (const Group &)=delete | |
Group & | operator= (const Group &)=delete |
Public Attributes | |
bool | disableBurstLengthHists |
Disable flag for burst length histograms. | |
statistics::Histogram | readBurstLengthHist |
Histogram of read burst lengths. | |
statistics::Histogram | writeBurstLengthHist |
Histogram of write burst lengths. | |
bool | disableBandwidthHists |
Disable flag for the bandwidth histograms. | |
unsigned int | readBytes |
Histogram for read bandwidth per sample window. | |
statistics::Histogram | readBandwidthHist |
statistics::Scalar | totalReadBytes |
statistics::Formula | averageReadBandwidth |
unsigned int | writtenBytes |
Histogram for write bandwidth per sample window. | |
statistics::Histogram | writeBandwidthHist |
statistics::Scalar | totalWrittenBytes |
statistics::Formula | averageWriteBandwidth |
bool | disableLatencyHists |
Disable flag for latency histograms. | |
statistics::Histogram | readLatencyHist |
Histogram of read request-to-response latencies. | |
statistics::Histogram | writeLatencyHist |
Histogram of write request-to-response latencies. | |
bool | disableITTDists |
Disable flag for ITT distributions. | |
statistics::Distribution | ittReadRead |
Inter transaction time (ITT) distributions. | |
statistics::Distribution | ittWriteWrite |
statistics::Distribution | ittReqReq |
Tick | timeOfLastRead |
Tick | timeOfLastWrite |
Tick | timeOfLastReq |
bool | disableOutstandingHists |
Disable flag for outstanding histograms. | |
statistics::Histogram | outstandingReadsHist |
Histogram of outstanding read requests. | |
unsigned int | outstandingReadReqs |
statistics::Histogram | outstandingWritesHist |
Histogram of outstanding write requests. | |
unsigned int | outstandingWriteReqs |
bool | disableTransactionHists |
Disable flag for transaction histograms. | |
statistics::Histogram | readTransHist |
Histogram of number of read transactions per time bin. | |
unsigned int | readTrans |
statistics::Histogram | writeTransHist |
Histogram of number of timing write transactions per time bin. | |
unsigned int | writeTrans |
bool | disableAddrDists |
Disable flag for address distributions. | |
const Addr | readAddrMask |
Address mask for sources of read accesses to be captured. | |
const Addr | writeAddrMask |
Address mask for sources of write accesses to be captured. | |
statistics::SparseHistogram | readAddrDist |
Histogram of number of read accesses to addresses over time. | |
statistics::SparseHistogram | writeAddrDist |
Histogram of number of write accesses to addresses over time. | |
Stats declarations, all in a struct for convenience.
Definition at line 273 of file comm_monitor.hh.
gem5::CommMonitor::MonitorStats::MonitorStats | ( | statistics::Group * | parent, |
const CommMonitorParams & | params ) |
Create the monitor stats and initialise all the members that are not statistics themselves, but used to control the stats or track values during a sample period.
Definition at line 104 of file comm_monitor.cc.
References averageReadBandwidth, averageWriteBandwidth, disableAddrDists, disableBandwidthHists, disableBurstLengthHists, disableITTDists, disableLatencyHists, disableOutstandingHists, disableTransactionHists, gem5::statistics::DataWrap< Derived, InfoProxyType >::flags(), gem5::statistics::Distribution::init(), gem5::statistics::Histogram::init(), gem5::statistics::SparseHistogram::init(), ittReadRead, ittReqReq, ittWriteWrite, gem5::statistics::nozero, outstandingReadsHist, outstandingWritesHist, gem5::SimObject::params(), gem5::statistics::pdf, readAddrDist, readBandwidthHist, readBurstLengthHist, readLatencyHist, readTransHist, totalReadBytes, totalWrittenBytes, writeAddrDist, writeBandwidthHist, writeBurstLengthHist, writeLatencyHist, and writeTransHist.
void gem5::CommMonitor::MonitorStats::updateReqStats | ( | const probing::PacketInfo & | pkt, |
bool | is_atomic, | ||
bool | expects_response ) |
Definition at line 259 of file comm_monitor.cc.
References gem5::probing::PacketInfo::addr, gem5::probing::PacketInfo::cmd, gem5::curTick(), gem5::MemCmd::isRead(), gem5::MemCmd::isWrite(), gem5::statistics::SparseHistBase< Derived, Stor >::sample(), and gem5::probing::PacketInfo::size.
Referenced by gem5::CommMonitor::recvAtomic(), and gem5::CommMonitor::recvTimingReq().
void gem5::CommMonitor::MonitorStats::updateRespStats | ( | const probing::PacketInfo & | pkt, |
Tick | latency, | ||
bool | is_atomic ) |
Definition at line 326 of file comm_monitor.cc.
References gem5::probing::PacketInfo::cmd, gem5::MemCmd::isRead(), gem5::MemCmd::isWrite(), and gem5::probing::PacketInfo::size.
Referenced by gem5::CommMonitor::recvAtomic(), and gem5::CommMonitor::recvTimingResp().
statistics::Formula gem5::CommMonitor::MonitorStats::averageReadBandwidth |
Definition at line 294 of file comm_monitor.hh.
Referenced by MonitorStats().
statistics::Formula gem5::CommMonitor::MonitorStats::averageWriteBandwidth |
Definition at line 303 of file comm_monitor.hh.
Referenced by MonitorStats().
bool gem5::CommMonitor::MonitorStats::disableAddrDists |
Disable flag for address distributions.
Definition at line 361 of file comm_monitor.hh.
Referenced by MonitorStats().
bool gem5::CommMonitor::MonitorStats::disableBandwidthHists |
Disable flag for the bandwidth histograms.
Definition at line 285 of file comm_monitor.hh.
Referenced by MonitorStats(), and gem5::CommMonitor::samplePeriodic().
bool gem5::CommMonitor::MonitorStats::disableBurstLengthHists |
Disable flag for burst length histograms.
Definition at line 276 of file comm_monitor.hh.
Referenced by MonitorStats().
bool gem5::CommMonitor::MonitorStats::disableITTDists |
Disable flag for ITT distributions.
Definition at line 315 of file comm_monitor.hh.
Referenced by MonitorStats().
bool gem5::CommMonitor::MonitorStats::disableLatencyHists |
Disable flag for latency histograms.
Definition at line 306 of file comm_monitor.hh.
Referenced by MonitorStats(), gem5::CommMonitor::recvTimingReq(), and gem5::CommMonitor::recvTimingResp().
bool gem5::CommMonitor::MonitorStats::disableOutstandingHists |
Disable flag for outstanding histograms.
Definition at line 331 of file comm_monitor.hh.
Referenced by MonitorStats(), and gem5::CommMonitor::samplePeriodic().
bool gem5::CommMonitor::MonitorStats::disableTransactionHists |
Disable flag for transaction histograms.
Definition at line 350 of file comm_monitor.hh.
Referenced by MonitorStats(), and gem5::CommMonitor::samplePeriodic().
statistics::Distribution gem5::CommMonitor::MonitorStats::ittReadRead |
Inter transaction time (ITT) distributions.
There are histograms of the time between two read, write or arbitrary accesses. The time of a request is the tick at which the request is forwarded by the monitor.
Definition at line 323 of file comm_monitor.hh.
Referenced by MonitorStats().
statistics::Distribution gem5::CommMonitor::MonitorStats::ittReqReq |
Definition at line 325 of file comm_monitor.hh.
Referenced by MonitorStats().
statistics::Distribution gem5::CommMonitor::MonitorStats::ittWriteWrite |
Definition at line 324 of file comm_monitor.hh.
Referenced by MonitorStats().
unsigned int gem5::CommMonitor::MonitorStats::outstandingReadReqs |
Definition at line 339 of file comm_monitor.hh.
Referenced by gem5::CommMonitor::samplePeriodic().
statistics::Histogram gem5::CommMonitor::MonitorStats::outstandingReadsHist |
Histogram of outstanding read requests.
Counter for outstanding read requests is an unsigned integer because it should not be reset when stats are reset.
Definition at line 338 of file comm_monitor.hh.
Referenced by MonitorStats(), and gem5::CommMonitor::samplePeriodic().
unsigned int gem5::CommMonitor::MonitorStats::outstandingWriteReqs |
Definition at line 347 of file comm_monitor.hh.
Referenced by gem5::CommMonitor::samplePeriodic().
statistics::Histogram gem5::CommMonitor::MonitorStats::outstandingWritesHist |
Histogram of outstanding write requests.
Counter for outstanding write requests is an unsigned integer because it should not be reset when stats are reset.
Definition at line 346 of file comm_monitor.hh.
Referenced by MonitorStats(), and gem5::CommMonitor::samplePeriodic().
statistics::SparseHistogram gem5::CommMonitor::MonitorStats::readAddrDist |
Histogram of number of read accesses to addresses over time.
Definition at line 373 of file comm_monitor.hh.
Referenced by MonitorStats().
const Addr gem5::CommMonitor::MonitorStats::readAddrMask |
Address mask for sources of read accesses to be captured.
Definition at line 364 of file comm_monitor.hh.
statistics::Histogram gem5::CommMonitor::MonitorStats::readBandwidthHist |
Definition at line 292 of file comm_monitor.hh.
Referenced by MonitorStats(), and gem5::CommMonitor::samplePeriodic().
statistics::Histogram gem5::CommMonitor::MonitorStats::readBurstLengthHist |
Histogram of read burst lengths.
Definition at line 279 of file comm_monitor.hh.
Referenced by MonitorStats().
unsigned int gem5::CommMonitor::MonitorStats::readBytes |
Histogram for read bandwidth per sample window.
The internal counter is an unsigned int rather than a stat.
Definition at line 291 of file comm_monitor.hh.
Referenced by gem5::CommMonitor::samplePeriodic().
statistics::Histogram gem5::CommMonitor::MonitorStats::readLatencyHist |
Histogram of read request-to-response latencies.
Definition at line 309 of file comm_monitor.hh.
Referenced by MonitorStats().
unsigned int gem5::CommMonitor::MonitorStats::readTrans |
Definition at line 354 of file comm_monitor.hh.
Referenced by gem5::CommMonitor::samplePeriodic().
statistics::Histogram gem5::CommMonitor::MonitorStats::readTransHist |
Histogram of number of read transactions per time bin.
Definition at line 353 of file comm_monitor.hh.
Referenced by MonitorStats(), and gem5::CommMonitor::samplePeriodic().
Tick gem5::CommMonitor::MonitorStats::timeOfLastRead |
Definition at line 326 of file comm_monitor.hh.
Tick gem5::CommMonitor::MonitorStats::timeOfLastReq |
Definition at line 328 of file comm_monitor.hh.
Tick gem5::CommMonitor::MonitorStats::timeOfLastWrite |
Definition at line 327 of file comm_monitor.hh.
statistics::Scalar gem5::CommMonitor::MonitorStats::totalReadBytes |
Definition at line 293 of file comm_monitor.hh.
Referenced by MonitorStats().
statistics::Scalar gem5::CommMonitor::MonitorStats::totalWrittenBytes |
Definition at line 302 of file comm_monitor.hh.
Referenced by MonitorStats().
statistics::SparseHistogram gem5::CommMonitor::MonitorStats::writeAddrDist |
Histogram of number of write accesses to addresses over time.
Definition at line 379 of file comm_monitor.hh.
Referenced by MonitorStats().
const Addr gem5::CommMonitor::MonitorStats::writeAddrMask |
Address mask for sources of write accesses to be captured.
Definition at line 367 of file comm_monitor.hh.
statistics::Histogram gem5::CommMonitor::MonitorStats::writeBandwidthHist |
Definition at line 301 of file comm_monitor.hh.
Referenced by MonitorStats(), and gem5::CommMonitor::samplePeriodic().
statistics::Histogram gem5::CommMonitor::MonitorStats::writeBurstLengthHist |
Histogram of write burst lengths.
Definition at line 282 of file comm_monitor.hh.
Referenced by MonitorStats().
statistics::Histogram gem5::CommMonitor::MonitorStats::writeLatencyHist |
Histogram of write request-to-response latencies.
Definition at line 312 of file comm_monitor.hh.
Referenced by MonitorStats().
unsigned int gem5::CommMonitor::MonitorStats::writeTrans |
Definition at line 358 of file comm_monitor.hh.
Referenced by gem5::CommMonitor::samplePeriodic().
statistics::Histogram gem5::CommMonitor::MonitorStats::writeTransHist |
Histogram of number of timing write transactions per time bin.
Definition at line 357 of file comm_monitor.hh.
Referenced by MonitorStats(), and gem5::CommMonitor::samplePeriodic().
unsigned int gem5::CommMonitor::MonitorStats::writtenBytes |
Histogram for write bandwidth per sample window.
The internal counter is an unsigned int rather than a stat.
Definition at line 300 of file comm_monitor.hh.
Referenced by gem5::CommMonitor::samplePeriodic().