63 #ifndef prof_Prof_Flat_ProfileData_hpp 64 #define prof_Prof_Flat_ProfileData_hpp 119 :
public std::multimap<std::string, LM*> {
165 dump(std::ostream& o = std::cerr,
const char* pre =
"")
const;
179 fopen(
const char* filename);
201 typedef std::pair<VMA, bucketsz_t>
Datum;
226 {
return m_outofrange; }
230 {
return m_overflow; }
239 {
return m_sparsevec.size(); }
244 {
return m_sparsevec[i]; }
250 read(FILE*, uint64_t load_addr);
256 dump(std::ostream& o = std::cerr,
const char* pre =
"")
const;
285 {
return m_load_addr; }
290 {
return m_eventvec.size(); }
294 {
return m_eventvec[i]; }
301 read(FILE*,
const char* filename =
NULL);
307 dump(std::ostream& o = std::cerr,
const char* pre =
"")
const;
320 #define PROFFLAT_Throw(streamArgs) DIAG_ThrowX(Prof::Flat::Exception, streamArgs) 330 {
return "[Prof::Flat]: " + what(); }
virtual std::string message() const
const EventData & event(uint i) const
uint64_t load_addr() const
Metric::SampledDesc & mdesc()
const Metric::SampledDescVec & mdescs()
static uint read_lm_count(FILE *fs)
Metric::SampledDescVec m_mdescs
void openread(const char *filename=NULL)
ProfileData & operator=(const ProfileData &GCC_ATTR_UNUSED x)
Exception(const std::string x, const char *filenm=NULL, uint lineno=0)
std::pair< VMA, bucketsz_t > Datum
const std::string & name() const
std::vector< Datum > m_sparsevec
ProfileData(const char *filename=NULL)
const Metric::SampledDesc & mdesc() const
Metric::SampledDesc m_mdesc
void dump(std::ostream &o=std::cerr, const char *pre="") const
const std::string & name() const
const Datum & datum(uint i) const
static void read_header(FILE *fs)
void open(const char *filename=NULL)
std::vector< EventData > m_eventvec
static FILE * fopen(const char *filename)