BDE 4.14.0 Production release
|
#include <balm_metric.h>
Public Member Functions | |
Metric (const char *category, const char *name, MetricsManager *manager=0) | |
Metric (const MetricId &metricId, MetricsManager *manager=0) | |
Metric (Collector *collector) | |
Metric (const Metric &original) | |
~Metric () | |
Destroy this object. | |
void | increment () |
void | update (double value) |
void | accumulateCountTotalMinMax (int count, double total, double min, double max) |
Collector * | collector () |
Return the address of the modifiable collector for this metric. | |
const Collector * | collector () const |
Return the address of the non-modifiable collector for this metric. | |
MetricId | metricId () const |
bool | isActive () const |
Static Public Member Functions | |
static Collector * | lookupCollector (const char *category, const char *name, MetricsManager *manager=0) |
static Collector * | lookupCollector (const MetricId &metricId, MetricsManager *manager=0) |
This class provides an in-core value semantic type for recording and aggregating the values of a metric. The value of a Metric
object is characterized by the Collector
object it uses to collect metric-event values. Each instance of this class establishes (at construction) an association to a Collector
object to which the metric delegates. A Metric
value is constant after construction (i.e., it does not support assignment or provide manipulators that modify its collector value) so that synchronization primitives are not required to protect its data members. Note that if a collector or metrics manager is not supplied at construction, and if the default metrics manager has not been instantiated, then the metric will be inactive (i.e., isActive() == false
) and the manipulator methods of the metric object will have no effect.
See balm_metric
|
inline |
Create a metric object to collect values for the metric identified by the specified null-terminated strings category
and name
. Optionally specify a metrics manager
used to provide a collector for the indicated metric. If manager
is 0, use the default metrics manager, if initialized; if manager
is 0 and the default metrics manager has not been initialized, place this metric object in the inactive state (i.e., isActive()
is false
) in which case instance methods that would otherwise update the metric will have no effect.
|
inlineexplicit |
Create a metric object to collect values for the specified metricId
. Optionally specify a metrics manager
used to provide a collector for metricId
. If manager
is 0, use the default metrics manager, if initialized; if manager
is 0 and the default metrics manager has not been initialized, place this metric object in the inactive state (i.e., isActive()
is false
) in which case instance methods that would otherwise update the metric will have no effect. The behavior is undefined unless metricId
is a valid id returned by the MetricRepository
object owned by the indicated metrics manager.
|
inlineexplicit |
Create a metric object to collect values for the metric implied by the specified collector
(i.e., collector->metricId()
). The behavior is undefined unless collector
is a valid address of a Collector
object and collector
has a valid id (i.e., collector->metricId().isValid()
).
|
inline |
Create a metric object that will record values for the same metric (i.e., using the same Collector
object) as the specified original
metric. If the original
metric is inactive (i.e., isActive()
is false
), then this metric will be similarly inactive.
balm::Metric::~Metric | ( | ) |
|
inline |
Increase the event count by the specified count
and add the specified total
to the accumulated total; if the specified min
is less than the current minimum recorded value of the metric, set the new minimum value to be min
; if the specified max
is greater than the current maximum recorded value, set the new maximum value to be max
. If, however, this metric is inactive (i.e., isActive()
is false
), then this method has no effect.
|
inline |
|
inline |
|
inline |
Increase the count and total of this metric by 1; if 1.0 is less than the current minimum recorded value of the metric, set the new minimum value to be 1.0; if 1.0 is greater than the current maximum recorded value, set the new maximum value to be 1.0. If, however, this metric is not active (i.e., isActive()
is false
) then this method has no effect. Note that this method is functionally equivalent to update(1)
.
|
inline |
Return true
if this metric will actively record metrics, and false
otherwise. If the returned value is false
, the manipulator operations will have no effect. A metric will be inactive if either (1) it was not initialized with a valid metric identifier or (2) the associated metric category has been disabled (see the MetricsManager
method setCategoryEnabled
). Note that invoking this method is logically equivalent to the expression 0 != collector() && metricId().category()->enabled()
.
|
inlinestatic |
Return a collector corresponding to the specified metric category
and name
. Optionally specify a metrics manager
used to provide the collector. If manager
is 0, use the default metrics manager if initialized; if manager
is 0 and the default metrics manager has not been initialized, return 0. The behavior is undefined unless category
and name
are null-terminated.
|
inlinestatic |
Return a collector for the specified metricId
. Optionally specify a metrics manager
used to provide the collector. If manager
is 0, use the default metrics manager, if initialized; if manager
is 0 and the default metrics manager has not been initialized, return 0. The behavior is undefined unless metricId
is a valid metric id supplied by the MetricsRegistry
of the indicated metrics manager.
|
inline |
Return a MetricId
object identifying this metric. If this metric was not supplied a valid collector at construction then the returned id will be invalid (i.e., metricId().isValid() == false
).
|
inline |
Increase the event count by 1 and add the specified value
to the total recorded value; if value
is less than the current minimum recorded value of the metric, set the new minimum value to be value
; if value
is greater than the current maximum recorded value, set the new maximum value to be value
. If, however, this metric is inactive (i.e., isActive()
is false
), then this method has no effect.