gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
Profiler Class Reference

#include <Profiler.hh>

Public Member Functions

 Profiler (const RubySystemParams *params, RubySystem *rs)
 
 ~Profiler ()
 
void wakeup ()
 
void regStats (const std::string &name)
 
void collateStats ()
 
AddressProfilergetAddressProfiler ()
 
AddressProfilergetInstructionProfiler ()
 
void addAddressTraceSample (const RubyRequest &msg, NodeID id)
 
bool getHotLines () const
 
bool getAllInstructions () const
 

Public Attributes

RubySystemm_ruby_system
 

Private Member Functions

 Profiler (const Profiler &obj)
 
Profileroperator= (const Profiler &obj)
 

Private Attributes

AddressProfilerm_address_profiler_ptr
 
AddressProfilerm_inst_profiler_ptr
 
Stats::Histogram delayHistogram
 
std::vector< Stats::Histogram * > delayVCHistogram
 
Stats::Histogram m_outstandReqHistSeqr
 Histogram for number of outstanding requests per cycle. More...
 
Stats::Histogram m_outstandReqHistCoalsr
 
Stats::Histogram m_latencyHistSeqr
 Histogram for holding latency profile of all requests. More...
 
Stats::Histogram m_latencyHistCoalsr
 
std::vector< Stats::Histogram * > m_typeLatencyHistSeqr
 
std::vector< Stats::Histogram * > m_typeLatencyHistCoalsr
 
Stats::Histogram m_hitLatencyHistSeqr
 Histogram for holding latency profile of all requests that hit in the controller connected to this sequencer. More...
 
std::vector< Stats::Histogram * > m_hitTypeLatencyHistSeqr
 
std::vector< Stats::Histogram * > m_hitMachLatencyHistSeqr
 Histograms for profiling the latencies for requests that did not required external messages. More...
 
std::vector< std::vector
< Stats::Histogram * > > 
m_hitTypeMachLatencyHistSeqr
 
Stats::Histogram m_missLatencyHistSeqr
 Histogram for holding latency profile of all requests that miss in the controller connected to this sequencer. More...
 
Stats::Histogram m_missLatencyHistCoalsr
 
std::vector< Stats::Histogram * > m_missTypeLatencyHistSeqr
 
std::vector< Stats::Histogram * > m_missTypeLatencyHistCoalsr
 
std::vector< Stats::Histogram * > m_missMachLatencyHistSeqr
 Histograms for profiling the latencies for requests that required external messages. More...
 
std::vector< std::vector
< Stats::Histogram * > > 
m_missTypeMachLatencyHistSeqr
 
std::vector< Stats::Histogram * > m_missMachLatencyHistCoalsr
 
std::vector< std::vector
< Stats::Histogram * > > 
m_missTypeMachLatencyHistCoalsr
 
std::vector< Stats::Histogram * > m_IssueToInitialDelayHistSeqr
 Histograms for recording the breakdown of miss latency. More...
 
std::vector< Stats::Histogram * > m_InitialToForwardDelayHistSeqr
 
std::vector< Stats::Histogram * > m_ForwardToFirstResponseDelayHistSeqr
 
std::vector< Stats::Histogram * > m_FirstResponseToCompletionDelayHistSeqr
 
Stats::Scalar m_IncompleteTimesSeqr [MachineType_NUM]
 
std::vector< Stats::Histogram * > m_IssueToInitialDelayHistCoalsr
 
std::vector< Stats::Histogram * > m_InitialToForwardDelayHistCoalsr
 
std::vector< Stats::Histogram * > m_ForwardToFirstResponseDelayHistCoalsr
 
std::vector< Stats::Histogram * > m_FirstResponseToCompletionDelayHistCoalsr
 
const bool m_hot_lines
 
const bool m_all_instructions
 
const uint32_t m_num_vnets
 

Detailed Description

Definition at line 64 of file Profiler.hh.

Constructor & Destructor Documentation

Profiler::Profiler ( const RubySystemParams *  params,
RubySystem rs 
)
Profiler::~Profiler ( )

Definition at line 98 of file Profiler.cc.

Profiler::Profiler ( const Profiler obj)
private

Member Function Documentation

void Profiler::addAddressTraceSample ( const RubyRequest msg,
NodeID  id 
)
void Profiler::collateStats ( )

Definition at line 347 of file Profiler.cc.

References Stats::DistBase< Derived, Stor >::add(), AddressProfiler::collateStats(), delayHistogram, delayVCHistogram, AbstractController::getCPUSequencer(), AbstractController::getDelayHist(), AbstractController::getDelayVCHist(), AbstractController::getGPUCoalescer(), Sequencer::getHitLatencyHist(), Sequencer::getHitMachLatencyHist(), Sequencer::getHitTypeLatencyHist(), Sequencer::getHitTypeMachLatencyHist(), Sequencer::getIncompleteTimes(), Sequencer::getInitialToForwardDelayHist(), GPUCoalescer::getInitialToForwardDelayHist(), Sequencer::getIssueToInitialDelayHist(), GPUCoalescer::getIssueToInitialDelayHist(), Sequencer::getLatencyHist(), GPUCoalescer::getLatencyHist(), Sequencer::getMissLatencyHist(), GPUCoalescer::getMissLatencyHist(), Sequencer::getMissMachLatencyHist(), GPUCoalescer::getMissMachLatencyHist(), Sequencer::getMissTypeLatencyHist(), GPUCoalescer::getMissTypeLatencyHist(), Sequencer::getMissTypeMachLatencyHist(), GPUCoalescer::getMissTypeMachLatencyHist(), Sequencer::getOutstandReqHist(), GPUCoalescer::getOutstandReqHist(), Sequencer::getTypeLatencyHist(), GPUCoalescer::getTypeLatencyHist(), ArmISA::i, ArmISA::j, MipsISA::k, RubySystem::m_abstract_controls, m_address_profiler_ptr, m_all_instructions, m_FirstResponseToCompletionDelayHistCoalsr, m_FirstResponseToCompletionDelayHistSeqr, m_ForwardToFirstResponseDelayHistCoalsr, m_ForwardToFirstResponseDelayHistSeqr, m_hitLatencyHistSeqr, m_hitMachLatencyHistSeqr, m_hitTypeLatencyHistSeqr, m_hitTypeMachLatencyHistSeqr, m_IncompleteTimesSeqr, m_InitialToForwardDelayHistCoalsr, m_InitialToForwardDelayHistSeqr, m_inst_profiler_ptr, m_IssueToInitialDelayHistCoalsr, m_IssueToInitialDelayHistSeqr, m_latencyHistCoalsr, m_latencyHistSeqr, m_missLatencyHistCoalsr, m_missLatencyHistSeqr, m_missMachLatencyHistCoalsr, m_missMachLatencyHistSeqr, m_missTypeLatencyHistCoalsr, m_missTypeLatencyHistSeqr, m_missTypeMachLatencyHistCoalsr, m_missTypeMachLatencyHistSeqr, m_num_vnets, m_outstandReqHistCoalsr, m_outstandReqHistSeqr, m_ruby_system, m_typeLatencyHistCoalsr, and m_typeLatencyHistSeqr.

Referenced by RubySystem::collateStats().

AddressProfiler* Profiler::getAddressProfiler ( )
inline

Definition at line 76 of file Profiler.hh.

References m_address_profiler_ptr.

bool Profiler::getAllInstructions ( ) const
inline

Definition at line 83 of file Profiler.hh.

References m_all_instructions.

Referenced by printSorted().

bool Profiler::getHotLines ( ) const
inline

Definition at line 82 of file Profiler.hh.

References m_hot_lines.

AddressProfiler* Profiler::getInstructionProfiler ( )
inline

Definition at line 77 of file Profiler.hh.

References m_inst_profiler_ptr.

Profiler& Profiler::operator= ( const Profiler obj)
private
void Profiler::regStats ( const std::string &  name)
void Profiler::wakeup ( )

Member Data Documentation

Stats::Histogram Profiler::delayHistogram
private

Definition at line 93 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::delayVCHistogram
private

Definition at line 94 of file Profiler.hh.

Referenced by collateStats(), and regStats().

AddressProfiler* Profiler::m_address_profiler_ptr
private
const bool Profiler::m_all_instructions
private

Definition at line 143 of file Profiler.hh.

Referenced by collateStats(), getAllInstructions(), Profiler(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_FirstResponseToCompletionDelayHistCoalsr
private

Definition at line 139 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_FirstResponseToCompletionDelayHistSeqr
private

Definition at line 134 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_ForwardToFirstResponseDelayHistCoalsr
private

Definition at line 138 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_ForwardToFirstResponseDelayHistSeqr
private

Definition at line 133 of file Profiler.hh.

Referenced by collateStats(), and regStats().

Stats::Histogram Profiler::m_hitLatencyHistSeqr
private

Histogram for holding latency profile of all requests that hit in the controller connected to this sequencer.

Definition at line 108 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_hitMachLatencyHistSeqr
private

Histograms for profiling the latencies for requests that did not required external messages.

Definition at line 113 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_hitTypeLatencyHistSeqr
private

Definition at line 109 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector< std::vector<Stats::Histogram *> > Profiler::m_hitTypeMachLatencyHistSeqr
private

Definition at line 114 of file Profiler.hh.

Referenced by collateStats(), and regStats().

const bool Profiler::m_hot_lines
private

Definition at line 142 of file Profiler.hh.

Referenced by getHotLines(), and Profiler().

Stats::Scalar Profiler::m_IncompleteTimesSeqr[MachineType_NUM]
private

Definition at line 135 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_InitialToForwardDelayHistCoalsr
private

Definition at line 137 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_InitialToForwardDelayHistSeqr
private

Definition at line 132 of file Profiler.hh.

Referenced by collateStats(), and regStats().

AddressProfiler* Profiler::m_inst_profiler_ptr
private

Definition at line 91 of file Profiler.hh.

Referenced by collateStats(), getInstructionProfiler(), Profiler(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_IssueToInitialDelayHistCoalsr
private

Definition at line 136 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_IssueToInitialDelayHistSeqr
private

Histograms for recording the breakdown of miss latency.

Definition at line 131 of file Profiler.hh.

Referenced by collateStats(), and regStats().

Stats::Histogram Profiler::m_latencyHistCoalsr
private

Definition at line 102 of file Profiler.hh.

Referenced by collateStats(), and regStats().

Stats::Histogram Profiler::m_latencyHistSeqr
private

Histogram for holding latency profile of all requests.

Definition at line 101 of file Profiler.hh.

Referenced by collateStats(), and regStats().

Stats::Histogram Profiler::m_missLatencyHistCoalsr
private

Definition at line 119 of file Profiler.hh.

Referenced by collateStats(), and regStats().

Stats::Histogram Profiler::m_missLatencyHistSeqr
private

Histogram for holding latency profile of all requests that miss in the controller connected to this sequencer.

Definition at line 118 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_missMachLatencyHistCoalsr
private

Definition at line 127 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_missMachLatencyHistSeqr
private

Histograms for profiling the latencies for requests that required external messages.

Definition at line 125 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_missTypeLatencyHistCoalsr
private

Definition at line 121 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_missTypeLatencyHistSeqr
private

Definition at line 120 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector< std::vector<Stats::Histogram *> > Profiler::m_missTypeMachLatencyHistCoalsr
private

Definition at line 128 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector< std::vector<Stats::Histogram *> > Profiler::m_missTypeMachLatencyHistSeqr
private

Definition at line 126 of file Profiler.hh.

Referenced by collateStats(), and regStats().

const uint32_t Profiler::m_num_vnets
private

Definition at line 144 of file Profiler.hh.

Referenced by collateStats(), and regStats().

Stats::Histogram Profiler::m_outstandReqHistCoalsr
private

Definition at line 98 of file Profiler.hh.

Referenced by collateStats(), and regStats().

Stats::Histogram Profiler::m_outstandReqHistSeqr
private

Histogram for number of outstanding requests per cycle.

Definition at line 97 of file Profiler.hh.

Referenced by collateStats(), and regStats().

RubySystem* Profiler::m_ruby_system

Definition at line 70 of file Profiler.hh.

Referenced by collateStats().

std::vector<Stats::Histogram *> Profiler::m_typeLatencyHistCoalsr
private

Definition at line 104 of file Profiler.hh.

Referenced by collateStats(), and regStats().

std::vector<Stats::Histogram *> Profiler::m_typeLatencyHistSeqr
private

Definition at line 103 of file Profiler.hh.

Referenced by collateStats(), and regStats().


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

Generated on Fri Jun 9 2017 13:04:17 for gem5 by doxygen 1.8.6