A class that is used to gather profiling data from an abstract source. More...
#include <kanzi/core/profiling/abstract_profiler_source.hpp>
Public Types | |
| enum | DataType { DataTypeNotDefined, DataTypeBoolean, DataTypeUint64, DataTypeFloat, DataTypeString } |
| Supported profiling value types. More... | |
| typedef variant< monostate, bool, uint64_t, float, string > | Value |
| Container for profiling value. More... | |
| typedef vector< string > | FieldNameContainer |
| Container for data structure field names. More... | |
| typedef FieldNameContainer::const_iterator | FieldNameConstIterator |
| Iterator for field names. More... | |
Public Member Functions | |
| virtual | ~AbstractProfilerSource () |
| string_view | getName () const |
| Returns name of this profiler source. More... | |
| string_view | getCategory () const |
| Returns category of this profiler source. More... | |
| FieldNameConstIterator | beginFieldNames () const |
| Returns iterator to the beginning of the container that stores field names for the profiling data. More... | |
| FieldNameConstIterator | endFieldNames () const |
| Returns iterator to the end of the container that stores field names for the profiling data. More... | |
| Value | getValue (string_view fieldName) const |
| Returns value for given profiling data field. More... | |
| FieldNameConstIterator | beginSampleFieldNames () const |
| Returns iterator to the beginning of the container that stores field names for the profiling sample (per invocation) data. More... | |
| FieldNameConstIterator | endSampleFieldNames () const |
| Returns iterator to the end of the container that stores field names for the profiling sample (per invocation) data. More... | |
| size_t | getSampleCount () const |
| Returns the amount of samples that have been collected. More... | |
| Value | getSampleValue (size_t sampleIndex, string_view fieldName) const |
| Returns value for given sample. More... | |
Static Public Member Functions | |
| static DataType | getDataType (const Value &value) |
| Allows to query the data type of the data value. More... | |
Protected Member Functions | |
| AbstractProfilerSource (string_view name, string_view category, const FieldNameContainer &fields, const FieldNameContainer &sampleFields) | |
| Constructor for derived classes. More... | |
| virtual Value | getValueOverride (string_view fieldName) const =0 |
| Returns value for given profiling data field, needs to be implemented by derived class. More... | |
| virtual Value | getSampleValueOverride (size_t sampleIndex, string_view fieldName) const =0 |
| Returns value for given sample, needs to be implemented by derived class. More... | |
| virtual size_t | getSampleCountOverride () const =0 |
| Returns the amount of samples that have been collected, needs to be implemented by derived class. More... | |
A class that is used to gather profiling data from an abstract source.
| typedef variant<monostate, bool, uint64_t, float, string> kanzi::AbstractProfilerSource::Value |
Container for profiling value.
| typedef vector<string> kanzi::AbstractProfilerSource::FieldNameContainer |
Container for data structure field names.
| typedef FieldNameContainer::const_iterator kanzi::AbstractProfilerSource::FieldNameConstIterator |
Iterator for field names.
|
virtual |
|
explicitprotected |
Constructor for derived classes.
| name | Name of this source. |
| name | Category of this source. |
| fields | Field names that reflect and describe the inner data structure for profiling data. |
| fields | Field names that reflect and describe the inner data structure for sample (per invocation) data. |
| string_view kanzi::AbstractProfilerSource::getName | ( | ) | const |
Returns name of this profiler source.
| string_view kanzi::AbstractProfilerSource::getCategory | ( | ) | const |
Returns category of this profiler source.
| FieldNameConstIterator kanzi::AbstractProfilerSource::beginFieldNames | ( | ) | const |
Returns iterator to the beginning of the container that stores field names for the profiling data.
| FieldNameConstIterator kanzi::AbstractProfilerSource::endFieldNames | ( | ) | const |
Returns iterator to the end of the container that stores field names for the profiling data.
| Value kanzi::AbstractProfilerSource::getValue | ( | string_view | fieldName | ) | const |
Returns value for given profiling data field.
| fieldName | name of the data field. |
| FieldNameConstIterator kanzi::AbstractProfilerSource::beginSampleFieldNames | ( | ) | const |
Returns iterator to the beginning of the container that stores field names for the profiling sample (per invocation) data.
| FieldNameConstIterator kanzi::AbstractProfilerSource::endSampleFieldNames | ( | ) | const |
Returns iterator to the end of the container that stores field names for the profiling sample (per invocation) data.
| size_t kanzi::AbstractProfilerSource::getSampleCount | ( | ) | const |
Returns the amount of samples that have been collected.
| Value kanzi::AbstractProfilerSource::getSampleValue | ( | size_t | sampleIndex, |
| string_view | fieldName | ||
| ) | const |
Returns value for given sample.
| sampleIndex | index in the sample buffer. |
| fieldName | name of the data field. |
Allows to query the data type of the data value.
|
protectedpure virtual |
Returns value for given profiling data field, needs to be implemented by derived class.
| fieldName | name of the data field. |
Implemented in kanzi::FunctionProfilerSource.
|
protectedpure virtual |
Returns value for given sample, needs to be implemented by derived class.
| sampleIndex | index in the sample buffer. |
| fieldName | name of the data field. |
Implemented in kanzi::FunctionProfilerSource.
|
protectedpure virtual |
Returns the amount of samples that have been collected, needs to be implemented by derived class.
Implemented in kanzi::ValueProfilerSource< Data, SampleData >, and kanzi::ValueProfilerSource< FunctionProfilingData, FunctionSampleData >.