Profiling source for a function, gathers performance related metric for a function. More...
#include <kanzi/core/profiling/function_profiler_source.hpp>
Public Member Functions | |
FunctionProfilerSource (string_view name, string_view category, size_t sampleBufferSize) | |
Constructor. More... | |
void | enter (FunctionSampleData &sample) |
Called by the system when function execution starts. More... | |
void | leave (FunctionSampleData &sample) |
Public Member Functions inherited from kanzi::ValueProfilerSource< FunctionProfilingData, FunctionSampleData > | |
ValueProfilerSource (string_view name, string_view category, const FieldNameContainer &fields, const FieldNameContainer &sampleFields, size_t sampleBufferSize) | |
Constructor. More... | |
Public Member Functions inherited from kanzi::AbstractProfilerSource | |
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... | |
Protected Member Functions | |
virtual Value | getValueOverride (string_view fieldName) const KZ_OVERRIDE |
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 KZ_OVERRIDE |
Returns value for given sample, needs to be implemented by derived class. More... | |
Protected Member Functions inherited from kanzi::ValueProfilerSource< FunctionProfilingData, FunctionSampleData > | |
const FunctionSampleData & | getSample (size_t index) const |
Returns sample data in given index. More... | |
void | addSample (FunctionSampleData sample) |
Stores sample to sample buffer. More... | |
virtual size_t | getSampleCountOverride () const KZ_OVERRIDE |
Returns the amount of samples that have been collected, needs to be implemented by derived class. More... | |
Protected Member Functions inherited from kanzi::AbstractProfilerSource | |
AbstractProfilerSource (string_view name, string_view category, const FieldNameContainer &fields, const FieldNameContainer &sampleFields) | |
Constructor for derived classes. More... | |
Additional Inherited Members | |
Public Types inherited from kanzi::AbstractProfilerSource | |
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... | |
Static Public Member Functions inherited from kanzi::AbstractProfilerSource | |
static DataType | getDataType (const Value &value) |
Allows to query the data type of the data value. More... | |
Protected Attributes inherited from kanzi::ValueProfilerSource< FunctionProfilingData, FunctionSampleData > | |
FunctionProfilingData | m_data |
Data structure for primary data, exposed for derived classes for quick access. More... | |
Profiling source for a function, gathers performance related metric for a function.
|
explicit |
Constructor.
name | Name of the function that is being profiled. |
category | Category of the function that is being profiled. |
sampleBufferSize | Size of the sample ring buffer that is used to store more detailed per-invocation data. |
void kanzi::FunctionProfilerSource::enter | ( | FunctionSampleData & | sample | ) |
Called by the system when function execution starts.
void kanzi::FunctionProfilerSource::leave | ( | FunctionSampleData & | sample | ) |
|
protectedvirtual |
Returns value for given profiling data field, needs to be implemented by derived class.
fieldName | name of the data field. |
Implements kanzi::AbstractProfilerSource.
|
protectedvirtual |
Returns value for given sample, needs to be implemented by derived class.
sampleIndex | index in the sample buffer. |
fieldName | name of the data field. |
Implements kanzi::AbstractProfilerSource.