gem5  v21.1.0.2
Classes | Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
gem5::ruby::Profiler Class Reference

#include <Profiler.hh>

Classes

struct  ProfilerStats
 

Public Member Functions

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

Public Attributes

RubySystemm_ruby_system
 
ProfilerStats rubyProfilerStats
 

Private Member Functions

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

Private Attributes

AddressProfilerm_address_profiler_ptr
 
AddressProfilerm_inst_profiler_ptr
 
const bool m_hot_lines
 
const bool m_all_instructions
 
const uint32_t m_num_vnets
 

Detailed Description

Definition at line 71 of file Profiler.hh.

Constructor & Destructor Documentation

◆ Profiler() [1/2]

gem5::ruby::Profiler::Profiler ( const RubySystemParams &  params,
RubySystem rs 
)

◆ ~Profiler()

gem5::ruby::Profiler::~Profiler ( )

Definition at line 106 of file Profiler.cc.

◆ Profiler() [2/2]

gem5::ruby::Profiler::Profiler ( const Profiler obj)
private

Member Function Documentation

◆ addAddressTraceSample()

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

◆ collateStats()

void gem5::ruby::Profiler::collateStats ( )

Definition at line 371 of file Profiler.cc.

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

Referenced by gem5::ruby::RubySystem::collateStats().

◆ getAddressProfiler()

AddressProfiler* gem5::ruby::Profiler::getAddressProfiler ( )
inline

Definition at line 83 of file Profiler.hh.

References m_address_profiler_ptr.

◆ getAllInstructions()

bool gem5::ruby::Profiler::getAllInstructions ( ) const
inline

Definition at line 90 of file Profiler.hh.

References m_all_instructions.

Referenced by gem5::ruby::printSorted().

◆ getHotLines()

bool gem5::ruby::Profiler::getHotLines ( ) const
inline

Definition at line 89 of file Profiler.hh.

References m_hot_lines.

◆ getInstructionProfiler()

AddressProfiler* gem5::ruby::Profiler::getInstructionProfiler ( )
inline

Definition at line 84 of file Profiler.hh.

References m_inst_profiler_ptr.

◆ operator=()

Profiler& gem5::ruby::Profiler::operator= ( const Profiler obj)
private

◆ regStats()

void gem5::ruby::Profiler::regStats ( )

◆ wakeup()

void gem5::ruby::Profiler::wakeup ( )

Member Data Documentation

◆ m_address_profiler_ptr

AddressProfiler* gem5::ruby::Profiler::m_address_profiler_ptr
private

Definition at line 97 of file Profiler.hh.

Referenced by addAddressTraceSample(), collateStats(), getAddressProfiler(), and Profiler().

◆ m_all_instructions

const bool gem5::ruby::Profiler::m_all_instructions
private

Definition at line 194 of file Profiler.hh.

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

◆ m_hot_lines

const bool gem5::ruby::Profiler::m_hot_lines
private

Definition at line 193 of file Profiler.hh.

Referenced by getHotLines(), and Profiler().

◆ m_inst_profiler_ptr

AddressProfiler* gem5::ruby::Profiler::m_inst_profiler_ptr
private

Definition at line 98 of file Profiler.hh.

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

◆ m_num_vnets

const uint32_t gem5::ruby::Profiler::m_num_vnets
private

◆ m_ruby_system

RubySystem* gem5::ruby::Profiler::m_ruby_system

Definition at line 77 of file Profiler.hh.

Referenced by collateStats().

◆ rubyProfilerStats

ProfilerStats gem5::ruby::Profiler::rubyProfilerStats

Definition at line 199 of file Profiler.hh.

Referenced by collateStats().


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

Generated on Tue Sep 21 2021 12:32:09 for gem5 by doxygen 1.8.17