HPCToolkit
Prof::CallPath::Profile Class Reference

#include <CallPath-Profile.hpp>

Inheritance diagram for Prof::CallPath::Profile:
Collaboration diagram for Prof::CallPath::Profile:

Public Types

enum  { Merge_MergeMetricByName = -2, Merge_CreateMetric = -1, Merge_MergeMetricById = 0 }
 
enum  {
  RFlg_VirtualMetrics = (1 << 0), RFlg_NoMetricSfx = (1 << 1), RFlg_MakeInclExcl = (1 << 2), RFlg_NoMetricValues = (1 << 3),
  RFlg_HpcrunData = (1 << 4), WFlg_VirtualMetrics = (1 << 15)
}
 

Public Member Functions

 Profile (const std::string name)
 
virtual ~Profile ()
 
const std::string & name () const
 
void name (const std::string &x)
 
void name (const char *x)
 
double fmtVersion () const
 
const StringSettraceFileNameSet () const
 
StringSettraceFileNameSet ()
 
void disable_redundancy (bool flag)
 
void addDirectory (std::string filename)
 
void copyDirectory (const StringSet &rhs)
 
StringSetdirectorySet ()
 
const Metric::MgrmetricMgr () const
 
Metric::MgrmetricMgr ()
 
void metricMgr (Metric::Mgr *mMgr)
 
bool isMetricMgrVirtual () const
 
void isMetricMgrVirtual (bool x)
 
const LoadMaploadmap () const
 
LoadMaploadmap ()
 
CCT::Treecct () const
 
Prof::Struct::Treestructure () const
 
void structure (Prof::Struct::Tree *x)
 
uint merge (Profile &y, int mergeTy, uint mrgFlag=0)
 
std::ostream & writeXML_hdr (std::ostream &os, uint metricBeg, uint metricEnd, uint oFlags, const char *pfx="") const
 
std::ostream & writeXML_hdr (std::ostream &os, uint oFlags=0, const char *pfx="") const
 
std::ostream & dump (std::ostream &os=std::cerr) const
 
void ddump () const
 

Static Public Member Functions

static Profilemake (uint rFlags)
 
static Profilemake (const char *fnm, uint rFlags, FILE *outfs)
 
static int fmt_fread (Profile *&prof, FILE *infs, uint rFlags, std::string ctxtStr, const char *filename, FILE *outfs)
 
static int fmt_epoch_fread (Profile *&prof, FILE *infs, uint rFlags, const hpcrun_fmt_hdr_t &hdr, std::string ctxtStr, const char *filename, FILE *outfs)
 
static int fmt_cct_fread (Profile &prof, FILE *infs, uint rFlags, const metric_tbl_t &metricTbl, std::string ctxtStr, FILE *outfs)
 
static int fmt_fwrite (const Profile &prof, FILE *outfs, uint wFlags)
 
static int fmt_epoch_fwrite (const Profile &prof, FILE *outfs, uint wFlags)
 
static int fmt_cct_fwrite (const Profile &prof, FILE *fs, uint wFlags)
 

Static Public Attributes

static const char * FmtEpoch_NV_virtualMetrics = "is-virtual-metrics"
 
static const int StructMetricIdFlg = 0
 

Private Member Functions

void canonicalize (uint rFlags=0)
 
uint mergeMetrics (Profile &y, int mergeTy, uint &x_newMetricBegIdx)
 
void merge_fixCCT (const std::vector< LoadMap::MergeEffect > *mrgEffects)
 
void merge_fixTrace (const CCT::MergeEffectList *mrgEffects)
 

Private Attributes

std::string m_name
 
double m_fmtVersion
 
epoch_flags_t m_flags
 
uint64_t m_measurementGranularity
 
std::string m_profileFileName
 
StringSet m_directorySet
 
std::string m_traceFileName
 
StringSet m_traceFileNameSet
 
uint64_t m_traceMinTime
 
uint64_t m_traceMaxTime
 
Metric::Mgrm_mMgr
 
bool m_isMetricMgrVirtual
 
LoadMapm_loadmap
 
CCT::Treem_cct
 
CCT::Treem_cct_annex
 
Prof::Struct::Treem_structure
 
bool m_remove_redundancy
 

Detailed Description

Definition at line 104 of file CallPath-Profile.hpp.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
Merge_MergeMetricByName 
Merge_CreateMetric 
Merge_MergeMetricById 

Definition at line 235 of file CallPath-Profile.hpp.

◆ anonymous enum

anonymous enum
Enumerator
RFlg_VirtualMetrics 
RFlg_NoMetricSfx 
RFlg_MakeInclExcl 
RFlg_NoMetricValues 
RFlg_HpcrunData 
WFlg_VirtualMetrics 

Definition at line 260 of file CallPath-Profile.hpp.

Constructor & Destructor Documentation

◆ Profile()

Prof::CallPath::Profile::Profile ( const std::string  name)

Definition at line 164 of file CallPath-Profile.cpp.

◆ ~Profile()

Prof::CallPath::Profile::~Profile ( )
virtual

Definition at line 187 of file CallPath-Profile.cpp.

Member Function Documentation

◆ addDirectory()

void Prof::CallPath::Profile::addDirectory ( std::string  filename)
inline

Definition at line 149 of file CallPath-Profile.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ canonicalize()

void Prof::CallPath::Profile::canonicalize ( uint  rFlags = 0)
private

Definition at line 1784 of file CallPath-Profile.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ cct()

CCT::Tree* Prof::CallPath::Profile::cct ( ) const
inline

Definition at line 216 of file CallPath-Profile.hpp.

Here is the caller graph for this function:

◆ copyDirectory()

void Prof::CallPath::Profile::copyDirectory ( const StringSet rhs)
inline

Definition at line 157 of file CallPath-Profile.hpp.

◆ ddump()

void Prof::CallPath::Profile::ddump ( ) const

Definition at line 908 of file CallPath-Profile.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ directorySet()

StringSet& Prof::CallPath::Profile::directorySet ( )
inline

Definition at line 162 of file CallPath-Profile.hpp.

Here is the caller graph for this function:

◆ disable_redundancy()

void Prof::CallPath::Profile::disable_redundancy ( bool  flag)
inline

Definition at line 144 of file CallPath-Profile.hpp.

Here is the caller graph for this function:

◆ dump()

std::ostream & Prof::CallPath::Profile::dump ( std::ostream &  os = std::cerr) const

Definition at line 892 of file CallPath-Profile.cpp.

Here is the caller graph for this function:

◆ fmt_cct_fread()

int Prof::CallPath::Profile::fmt_cct_fread ( Profile prof,
FILE *  infs,
uint  rFlags,
const metric_tbl_t &  metricTbl,
std::string  ctxtStr,
FILE *  outfs 
)
static

Definition at line 1433 of file CallPath-Profile.cpp.

Here is the call graph for this function:

◆ fmt_cct_fwrite()

int Prof::CallPath::Profile::fmt_cct_fwrite ( const Profile prof,
FILE *  fs,
uint  wFlags 
)
static

Definition at line 1705 of file CallPath-Profile.cpp.

Here is the call graph for this function:

◆ fmt_epoch_fread()

int Prof::CallPath::Profile::fmt_epoch_fread ( Profile *&  prof,
FILE *  infs,
uint  rFlags,
const hpcrun_fmt_hdr_t hdr,
std::string  ctxtStr,
const char *  filename,
FILE *  outfs 
)
static

Definition at line 1074 of file CallPath-Profile.cpp.

Here is the call graph for this function:

◆ fmt_epoch_fwrite()

int Prof::CallPath::Profile::fmt_epoch_fwrite ( const Profile prof,
FILE *  outfs,
uint  wFlags 
)
static

Definition at line 1616 of file CallPath-Profile.cpp.

Here is the call graph for this function:

◆ fmt_fread()

int Prof::CallPath::Profile::fmt_fread ( Profile *&  prof,
FILE *  infs,
uint  rFlags,
std::string  ctxtStr,
const char *  filename,
FILE *  outfs 
)
static

Definition at line 992 of file CallPath-Profile.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fmt_fwrite()

int Prof::CallPath::Profile::fmt_fwrite ( const Profile prof,
FILE *  outfs,
uint  wFlags 
)
static

Definition at line 1587 of file CallPath-Profile.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fmtVersion()

double Prof::CallPath::Profile::fmtVersion ( ) const
inline

Definition at line 128 of file CallPath-Profile.hpp.

◆ isMetricMgrVirtual() [1/2]

bool Prof::CallPath::Profile::isMetricMgrVirtual ( ) const
inline

Definition at line 193 of file CallPath-Profile.hpp.

Here is the caller graph for this function:

◆ isMetricMgrVirtual() [2/2]

void Prof::CallPath::Profile::isMetricMgrVirtual ( bool  x)
inline

Definition at line 197 of file CallPath-Profile.hpp.

◆ loadmap() [1/2]

const LoadMap* Prof::CallPath::Profile::loadmap ( ) const
inline

Definition at line 204 of file CallPath-Profile.hpp.

Here is the caller graph for this function:

◆ loadmap() [2/2]

LoadMap* Prof::CallPath::Profile::loadmap ( )
inline

Definition at line 208 of file CallPath-Profile.hpp.

◆ make() [1/2]

Profile * Prof::CallPath::Profile::make ( uint  rFlags)
static

Definition at line 942 of file CallPath-Profile.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ make() [2/2]

Profile * Prof::CallPath::Profile::make ( const char *  fnm,
uint  rFlags,
FILE *  outfs 
)
static

Definition at line 956 of file CallPath-Profile.cpp.

Here is the call graph for this function:

◆ merge()

uint Prof::CallPath::Profile::merge ( Profile y,
int  mergeTy,
uint  mrgFlag = 0 
)

Definition at line 197 of file CallPath-Profile.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ merge_fixCCT()

void Prof::CallPath::Profile::merge_fixCCT ( const std::vector< LoadMap::MergeEffect > *  mrgEffects)
private

Definition at line 349 of file CallPath-Profile.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ merge_fixTrace()

void Prof::CallPath::Profile::merge_fixTrace ( const CCT::MergeEffectList mrgEffects)
private

Definition at line 387 of file CallPath-Profile.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ mergeMetrics()

uint Prof::CallPath::Profile::mergeMetrics ( Profile y,
int  mergeTy,
uint x_newMetricBegIdx 
)
private

Definition at line 286 of file CallPath-Profile.cpp.

Here is the call graph for this function:

◆ metricMgr() [1/3]

const Metric::Mgr* Prof::CallPath::Profile::metricMgr ( ) const
inline

Definition at line 171 of file CallPath-Profile.hpp.

Here is the caller graph for this function:

◆ metricMgr() [2/3]

Metric::Mgr* Prof::CallPath::Profile::metricMgr ( )
inline

Definition at line 175 of file CallPath-Profile.hpp.

◆ metricMgr() [3/3]

void Prof::CallPath::Profile::metricMgr ( Metric::Mgr mMgr)
inline

Definition at line 179 of file CallPath-Profile.hpp.

◆ name() [1/3]

const std::string& Prof::CallPath::Profile::name ( void  ) const
inline

Definition at line 115 of file CallPath-Profile.hpp.

Here is the caller graph for this function:

◆ name() [2/3]

void Prof::CallPath::Profile::name ( const std::string &  x)
inline

Definition at line 119 of file CallPath-Profile.hpp.

◆ name() [3/3]

void Prof::CallPath::Profile::name ( const char *  x)
inline

Definition at line 123 of file CallPath-Profile.hpp.

◆ structure() [1/2]

Prof::Struct::Tree* Prof::CallPath::Profile::structure ( ) const
inline

Definition at line 224 of file CallPath-Profile.hpp.

Here is the caller graph for this function:

◆ structure() [2/2]

void Prof::CallPath::Profile::structure ( Prof::Struct::Tree x)
inline

Definition at line 228 of file CallPath-Profile.hpp.

◆ traceFileNameSet() [1/2]

const StringSet& Prof::CallPath::Profile::traceFileNameSet ( ) const
inline

Definition at line 133 of file CallPath-Profile.hpp.

Here is the caller graph for this function:

◆ traceFileNameSet() [2/2]

StringSet& Prof::CallPath::Profile::traceFileNameSet ( )
inline

Definition at line 138 of file CallPath-Profile.hpp.

◆ writeXML_hdr() [1/2]

std::ostream& Prof::CallPath::Profile::writeXML_hdr ( std::ostream &  os,
uint  metricBeg,
uint  metricEnd,
uint  oFlags,
const char *  pfx = "" 
) const
Here is the caller graph for this function:

◆ writeXML_hdr() [2/2]

std::ostream& Prof::CallPath::Profile::writeXML_hdr ( std::ostream &  os,
uint  oFlags = 0,
const char *  pfx = "" 
) const
inline

Definition at line 343 of file CallPath-Profile.hpp.

Here is the call graph for this function:

Member Data Documentation

◆ FmtEpoch_NV_virtualMetrics

const char * Prof::CallPath::Profile::FmtEpoch_NV_virtualMetrics = "is-virtual-metrics"
static

Definition at line 287 of file CallPath-Profile.hpp.

◆ m_cct

CCT::Tree* Prof::CallPath::Profile::m_cct
private

Definition at line 393 of file CallPath-Profile.hpp.

◆ m_cct_annex

CCT::Tree* Prof::CallPath::Profile::m_cct_annex
private

Definition at line 394 of file CallPath-Profile.hpp.

◆ m_directorySet

StringSet Prof::CallPath::Profile::m_directorySet
private

Definition at line 379 of file CallPath-Profile.hpp.

◆ m_flags

epoch_flags_t Prof::CallPath::Profile::m_flags
private

Definition at line 375 of file CallPath-Profile.hpp.

◆ m_fmtVersion

double Prof::CallPath::Profile::m_fmtVersion
private

Definition at line 374 of file CallPath-Profile.hpp.

◆ m_isMetricMgrVirtual

bool Prof::CallPath::Profile::m_isMetricMgrVirtual
private

Definition at line 389 of file CallPath-Profile.hpp.

◆ m_loadmap

LoadMap* Prof::CallPath::Profile::m_loadmap
private

Definition at line 391 of file CallPath-Profile.hpp.

◆ m_measurementGranularity

uint64_t Prof::CallPath::Profile::m_measurementGranularity
private

Definition at line 376 of file CallPath-Profile.hpp.

◆ m_mMgr

Metric::Mgr* Prof::CallPath::Profile::m_mMgr
private

Definition at line 388 of file CallPath-Profile.hpp.

◆ m_name

std::string Prof::CallPath::Profile::m_name
private

Definition at line 373 of file CallPath-Profile.hpp.

◆ m_profileFileName

std::string Prof::CallPath::Profile::m_profileFileName
private

Definition at line 378 of file CallPath-Profile.hpp.

◆ m_remove_redundancy

bool Prof::CallPath::Profile::m_remove_redundancy
private

Definition at line 398 of file CallPath-Profile.hpp.

◆ m_structure

Prof::Struct::Tree* Prof::CallPath::Profile::m_structure
private

Definition at line 396 of file CallPath-Profile.hpp.

◆ m_traceFileName

std::string Prof::CallPath::Profile::m_traceFileName
private

Definition at line 381 of file CallPath-Profile.hpp.

◆ m_traceFileNameSet

StringSet Prof::CallPath::Profile::m_traceFileNameSet
private

Definition at line 382 of file CallPath-Profile.hpp.

◆ m_traceMaxTime

uint64_t Prof::CallPath::Profile::m_traceMaxTime
private

Definition at line 383 of file CallPath-Profile.hpp.

◆ m_traceMinTime

uint64_t Prof::CallPath::Profile::m_traceMinTime
private

Definition at line 383 of file CallPath-Profile.hpp.

◆ StructMetricIdFlg

const int Prof::CallPath::Profile::StructMetricIdFlg = 0
static

Definition at line 356 of file CallPath-Profile.hpp.


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