29#ifndef __BASE_STATS_INFO_HH__
30#define __BASE_STATS_INFO_HH__
117 void setName(
const std::string &
name,
bool old_style=
true);
247 virtual std::string
str()
const = 0;
Wrapper that groups a few flag bits under the same undelying container.
DistData data
Local storage for the entry values, used for printing.
void setName(const std::string &name, bool old_style=true)
Set the name of this statistic.
std::unique_ptr< const StorageParams > storageParams
Flags flags
The formatting flags.
StorageParams const * getStorageParams() const
Getter for the storage params.
const units::Base * unit
The unit of the stat.
virtual void enable()
Enable the stat for use.
void setStorageParams(const StorageParams *const params)
Setter for the storage params.
std::string name
The name of the stat.
std::string desc
The description of the stat.
static int id_count
A unique stat ID for each stat in the simulator.
virtual bool zero() const =0
static std::string separatorString
The separator string used for vectors, dist, etc.
virtual void prepare()=0
Prepare the stat for dumping.
int precision
The display precision.
const Info * prereq
A pointer to a prerequisite Stat.
virtual void reset()=0
Reset the stat to the default state.
virtual void visit(Output &visitor)=0
Visitor entry for outputing statistics data.
static bool less(Info *stat1, Info *stat2)
Checks if the first stat's name is alphabetically less than the second.
void setSeparator(std::string _sep)
virtual bool check() const =0
Check that this stat has been set up properly and is ready for use.
virtual Result total() const =0
virtual Result result() const =0
virtual Counter value() const =0
SparseHistData data
Local storage for the entry values, used for printing.
void enable()
Enable the stat for use.
std::vector< std::string > subdescs
std::vector< std::string > y_subnames
std::vector< std::string > subnames
Names and descriptions of subfields.
VCounter cvec
Local storage for the entry values, used for printing.
virtual Result total() const =0
VResult rvec
Local storage for the entry values, used for printing.
virtual size_type size() const =0
void enable()
Enable the stat for use.
std::vector< std::string > subdescs
std::vector< DistData > data
std::vector< std::string > subnames
Names and descriptions of subfields.
virtual const VResult & result() const =0
virtual Result total() const =0
void enable()
Enable the stat for use.
virtual size_type size() const =0
virtual const VCounter & value() const =0
std::vector< std::string > subdescs
std::vector< std::string > subnames
Names and descriptions of subfields.
The Base class is the parent class of all unit classes.
static Unspecified * get()
const FlagsType init
This Stat is Initialized.
const FlagsType pdf
Print the percent of the total that this entry represents.
const FlagsType nonan
Don't print if this is NAN.
const FlagsType oneline
Print all values on a single line.
const FlagsType nozero
Don't print if this is zero.
const FlagsType total
Print the total.
double Counter
All counters are of 64-bit values.
gem5::Flags< FlagsType > Flags
std::map< std::string, Info * > NameMapType
const FlagsType display
Print this stat.
const FlagsType cdf
Print the cumulative percentage of total upto this entry.
const FlagsType dist
Print the distribution.
const FlagsType none
Nothing extra to print.
const FlagsType __reserved
Mask of flags that can't be set directly.
double Result
All results are doubles.
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
General container for distribution data.
Data structure of sparse histogram.