#include <balm_metricdescription.h>
This class provides a mechanism for describing a metric. A MetricDescription holds the category to which the metric belongs, and a null-terminated string containing the name of the metric.
See balm_metricdescription
◆ UserDataKey
A key used to refer to a data value associated with a metric.
- Note
- Note that a
UserDataKey can be used by clients of balm to associate additional information with a metric. See balm_metricregistry for information on obtaining a unique key.
◆ MetricDescription()
| balm::MetricDescription::MetricDescription |
( |
const Category * |
category, |
|
|
const char * |
name, |
|
|
bslma::Allocator * |
basicAllocator = 0 |
|
) |
| |
|
inline |
Create a metric description for the specified category and the specified name. Optionally specify a basicAllocator used to supply memory. If basicAllocator is 0, the currently installed default allocator is used. The initial value for preferredPublicationType is e_UNSPECIFIED, and the initial value for format is 0.
- Precondition
- The behavior is undefined unless
name and category remain valid, and the contents of name remain unmodified, for the lifetime of this object.
◆ ~MetricDescription()
| balm::MetricDescription::~MetricDescription |
( |
| ) |
|
|
default |
◆ category()
| const Category * balm::MetricDescription::category |
( |
| ) |
const |
|
inline |
Return the address of the non-modifiable category object indicating the category of the metric described by this object.
◆ format()
Return a shared pointer to the non-modifiable format for this metric description.
- Note
- Note that the returned shared pointer may be null if a format has not been provided for the described metric.
◆ name()
| const char * balm::MetricDescription::name |
( |
| ) |
const |
|
inline |
Return the address of the non-modifiable, null-terminated string containing the name of the described metric.
◆ preferredPublicationType()
Return the preferred publication type of this metric. The preferred publication type of this metric indicates the preferred aggregate to publish for this metric, or PublicationType::UNSPECIFIED if there is no preference.
- Note
- Note that there is no uniform definition for how publishers will interpret this value; an
UNSPECIFIED value generally indicates that the all the collected aggregates (total, count, minimum, and maximum value) should be published.
◆ print()
| bsl::ostream & balm::MetricDescription::print |
( |
bsl::ostream & |
stream | ) |
const |
Print the category and name of this metric description to the specified output stream in some single-line human-readable form, and return a reference to the modifiable stream.
◆ printDescription()
| bsl::ostream & balm::MetricDescription::printDescription |
( |
bsl::ostream & |
stream | ) |
const |
Print the properties of this metric description to the specified output stream in some single-line human-readable form, and return a reference to the modifiable stream.
◆ setCategory()
| void balm::MetricDescription::setCategory |
( |
const Category * |
category | ) |
|
|
inline |
Set the category of this metric description to the object at the specified category address.
- Precondition
- The behavior is undefined unless
category remains valid for the lifetime of this object.
◆ setFormat()
Set the format for this metric description to the specified format.
◆ setName()
| void balm::MetricDescription::setName |
( |
const char * |
name | ) |
|
|
inline |
Set the name of this metric description to the specified name.
- Precondition
- The behavior is undefined unless the contents of
name remains valid and unmodified for the lifetime of this object.
◆ setPreferredPublicationType()
Set the preferred publication type of this metric to the specified type. The preferred publication type of this metric indicates the preferred aggregate to publish for this metric, or PublicationType::UNSPECIFIED if there is no preference.
- Note
- Note that there is no uniform definition for how publishers will interpret this value; an
UNSPECIFIED value generally indicates that all the collected aggregates (total, count, minimum, and maximum value) should be published.
◆ setUserData()
| void balm::MetricDescription::setUserData |
( |
UserDataKey |
key, |
|
|
const void * |
value |
|
) |
| |
|
inline |
Associate the specified value with the specified data key.
- Precondition
- The behavior is undefined unless
key >= 0.
- Note
- Note that this method allows clients of
balm to associate (opaque) application-specific information with a metric.
◆ userData()
| const void * balm::MetricDescription::userData |
( |
UserDataKey |
key | ) |
const |
|
inline |
Return the non-modifiable value associated with the specified user-data key. If the data for key has not been set, a value of 0 is returned, which is indistinguishable from a valid key with a 0 value.
- Precondition
- The behavior is undefined unless
key >= 0.
- Note
- Note that this method allows clients of
balm to access the (opaque) application-specific information that they have previously associated with a metric (via setUserData).
The documentation for this class was generated from the following file: