Processor Counter Monitor
Public Member Functions | Protected Member Functions | Friends | List of all members
pcm::SystemCounterState Class Reference

System-wide counter state. More...

#include <cpucounters.h>

Inheritance diagram for pcm::SystemCounterState:
Inheritance graph
[legend]
Collaboration diagram for pcm::SystemCounterState:
Collaboration graph
[legend]

Public Member Functions

 SystemCounterState (const SystemCounterState &)=default
 
 SystemCounterState (SystemCounterState &&)=default
 
SystemCounterStateoperator= (SystemCounterState &&)=default
 
SystemCounterStateoperator+= (const SocketCounterState &scs)
 
SystemCounterStateoperator+= (const UncoreCounterState &ucs)
 
- Public Member Functions inherited from pcm::SocketCounterState
SocketCounterStateoperator+= (const BasicCounterState &ccs)
 
SocketCounterStateoperator+= (const UncoreCounterState &ucs)
 
 SocketCounterState (const SocketCounterState &)=default
 
 SocketCounterState (SocketCounterState &&)=default
 
SocketCounterStateoperator= (SocketCounterState &&)=default
 
SocketCounterStateoperator= (UncoreCounterState &&ucs)
 
- Public Member Functions inherited from pcm::BasicCounterState
 BasicCounterState (const BasicCounterState &)=default
 
 BasicCounterState (BasicCounterState &&)=default
 
BasicCounterStateoperator= (BasicCounterState &&)=default
 
BasicCounterStateoperator+= (const BasicCounterState &o)
 
void readAndAggregate (std::shared_ptr< SafeMsrHandle >)
 
void readAndAggregateTSC (std::shared_ptr< SafeMsrHandle >)
 
int32 getThermalHeadroom () const
 Returns current thermal headroom below TjMax.
 
- Public Member Functions inherited from pcm::UncoreCounterState
 UncoreCounterState (const UncoreCounterState &)=default
 
 UncoreCounterState (UncoreCounterState &&)=default
 
UncoreCounterStateoperator= (UncoreCounterState &&)=default
 
UncoreCounterStateoperator+= (const UncoreCounterState &o)
 

Protected Member Functions

void readAndAggregate (std::shared_ptr< SafeMsrHandle > handle)
 
- Protected Member Functions inherited from pcm::SocketCounterState
void readAndAggregate (std::shared_ptr< SafeMsrHandle > handle)
 
- Protected Member Functions inherited from pcm::UncoreCounterState
void readAndAggregate (std::shared_ptr< SafeMsrHandle >)
 

Friends

class PCM
 
uint64 getIncomingQPILinkBytes (uint32 socketNr, uint32 linkNr, const SystemCounterState &before, const SystemCounterState &after)
 Get estimation of QPI data traffic per incoming QPI link. More...
 
uint64 getIncomingQPILinkBytes (uint32 socketNr, uint32 linkNr, const SystemCounterState &now)
 Return current value of the counter of QPI data traffic per incoming QPI link. More...
 
double getOutgoingQPILinkUtilization (uint32 socketNr, uint32 linkNr, const SystemCounterState &before, const SystemCounterState &after)
 Get utilization of outgoing QPI link (0..1) More...
 
uint64 getOutgoingQPILinkBytes (uint32 socketNr, uint32 linkNr, const SystemCounterState &before, const SystemCounterState &after)
 Get estimation of QPI (data+nondata) traffic per outgoing QPI link. More...
 
uint64 getOutgoingQPILinkBytes (uint32 socketNr, uint32 linkNr, const SystemCounterState &now)
 

Additional Inherited Members

- Protected Types inherited from pcm::BasicCounterState
enum  {
  L3MissPos = 0, ArchLLCMissPos = 0, L3UnsharedHitPos = 1, ArchLLCRefPos = 1,
  SKLL3HitPos = 1, L2HitMPos = 2, SKLL2MissPos = 2, L2HitPos = 3
}
 
- Protected Attributes inherited from pcm::BasicCounterState
checked_uint64 InstRetiredAny {}
 
checked_uint64 CpuClkUnhaltedThread {}
 
checked_uint64 CpuClkUnhaltedRef {}
 
checked_uint64 Event [PERF_MAX_CUSTOM_COUNTERS]
 
uint64 InvariantTSC
 
uint64 CStateResidency [PCM::MAX_C_STATE+1]
 
int32 ThermalHeadroom
 
uint64 L3Occupancy
 
uint64 MemoryBWLocal
 
uint64 MemoryBWTotal
 
uint64 SMICount
 
uint64 FrontendBoundSlots
 
uint64 BadSpeculationSlots
 
uint64 BackendBoundSlots
 
uint64 RetiringSlots
 
uint64 AllSlotsRaw
 
std::unordered_map< uint64, uint64 > MSRValues
 
- Protected Attributes inherited from pcm::UncoreCounterState
uint64 UncMCFullWrites
 
uint64 UncMCNormalReads
 
uint64 UncHARequests
 
uint64 UncHALocalRequests
 
uint64 UncPMMWrites
 
uint64 UncPMMReads
 
uint64 UncEDCFullWrites
 
uint64 UncEDCNormalReads
 
uint64 UncMCGTRequests
 
uint64 UncMCIARequests
 
uint64 UncMCIORequests
 
uint64 PackageEnergyStatus
 
uint64 DRAMEnergyStatus
 
uint64 TOROccupancyIAMiss
 
uint64 TORInsertsIAMiss
 
uint64 UncClocks
 
uint64 CStateResidency [PCM::MAX_C_STATE+1]
 

Detailed Description

System-wide counter state.

Friends And Related Function Documentation

◆ getIncomingQPILinkBytes [1/2]

uint64 getIncomingQPILinkBytes ( uint32  socketNr,
uint32  linkNr,
const SystemCounterState before,
const SystemCounterState after 
)
friend

Get estimation of QPI data traffic per incoming QPI link.

Returns an estimation of number of data bytes transferred to a socket over Intel(r) Quick Path Interconnect

Parameters
socketNrsocket identifier
linkNrlinkNr
beforeSystem CPU counter state before the experiment
afterSystem CPU counter state after the experiment
Returns
Number of bytes

◆ getIncomingQPILinkBytes [2/2]

uint64 getIncomingQPILinkBytes ( uint32  socketNr,
uint32  linkNr,
const SystemCounterState now 
)
friend

Return current value of the counter of QPI data traffic per incoming QPI link.

Returns the number of incoming data bytes to a socket over Intel(r) Quick Path Interconnect

Parameters
socketNrsocket identifier
linkNrlinkNr
nowCurrent System CPU counter state
Returns
Number of bytes

◆ getOutgoingQPILinkBytes

uint64 getOutgoingQPILinkBytes ( uint32  socketNr,
uint32  linkNr,
const SystemCounterState before,
const SystemCounterState after 
)
friend

Get estimation of QPI (data+nondata) traffic per outgoing QPI link.

Returns an estimation of number of data bytes transferred from a socket over Intel(r) Quick Path Interconnect

Parameters
socketNrsocket identifier
linkNrlinkNr
beforeSystem CPU counter state before the experiment
afterSystem CPU counter state after the experiment
Returns
Number of bytes

◆ getOutgoingQPILinkUtilization

double getOutgoingQPILinkUtilization ( uint32  socketNr,
uint32  linkNr,
const SystemCounterState before,
const SystemCounterState after 
)
friend

Get utilization of outgoing QPI link (0..1)

Returns an estimation of utilization of QPI link by (data+nondata) traffic transferred from a socket over Intel(r) Quick Path Interconnect

Parameters
socketNrsocket identifier
linkNrlinkNr
beforeSystem CPU counter state before the experiment
afterSystem CPU counter state after the experiment
Returns
utilization (0..1)

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