8#ifndef INCLUDED_BALM_METRIC
9#define INCLUDED_BALM_METRIC
12BSLS_IDENT(
"$Id: balm_metric.h,v 1.7 2008/04/17 21:22:34 hversche Exp $")
217#include <balscm_version.h>
300 Metric(
const char *category,
355 void update(
double value);
439 const char *category,
453 const char *category,
493: d_collector_p(lookupCollector(category, name, manager))
495 d_isEnabled_p = (d_collector_p
502: d_collector_p(lookupCollector(metricId, manager))
504 d_isEnabled_p = (d_collector_p
510: d_collector_p(collector)
517: d_collector_p(original.d_collector_p)
518, d_isEnabled_p(original.d_isEnabled_p)
527 d_collector_p->
update(1.0);
535 d_collector_p->
update(value);
553 return d_collector_p;
560 return d_collector_p;
572 return d_isEnabled_p && d_isEnabled_p->
loadRelaxed();
581 return lhs.collector() == rhs.collector();
Definition balm_category.h:263
const bsls::AtomicInt & isEnabledRaw() const
Definition balm_category.h:365
Collector * getDefaultCollector(const char *category, const char *metricName)
Definition balm_collectorrepository.h:450
Definition balm_collector.h:152
void accumulateCountTotalMinMax(int count, double total, double min, double max)
Definition balm_collector.h:283
const MetricId & metricId() const
Definition balm_collector.h:310
void update(double value)
Definition balm_collector.h:273
Definition balm_metricid.h:162
const Category * category() const
Definition balm_metricid.h:330
Definition balm_metric.h:251
void accumulateCountTotalMinMax(int count, double total, double min, double max)
Definition balm_metric.h:540
MetricId metricId() const
Definition balm_metric.h:564
static Collector * lookupCollector(const char *category, const char *name, MetricsManager *manager=0)
Definition balm_metric.h:468
void increment()
Definition balm_metric.h:524
void update(double value)
Definition balm_metric.h:532
bool isActive() const
Definition balm_metric.h:570
~Metric()
Destroy this object.
Metric(const char *category, const char *name, MetricsManager *manager=0)
Definition balm_metric.h:490
Collector * collector()
Return the address of the modifiable collector for this metric.
Definition balm_metric.h:551
Definition balm_metricsmanager.h:490
CollectorRepository & collectorRepository()
Definition balm_metricsmanager.h:1032
Definition bsls_atomic.h:744
int loadRelaxed() const
Definition bsls_atomic.h:1759
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition balm_bdlmmetricsadapter.h:142
bool operator==(const IntegerMetric &lhs, const IntegerMetric &rhs)
bool operator!=(const IntegerMetric &lhs, const IntegerMetric &rhs)
ALLOCATOR const STRING_VIEW_LIKE_TYPE & rhs
Definition bslstl_string.h:3918
ALLOCATOR & lhs
Definition bslstl_string.h:3917
static MetricsManager * manager(MetricsManager *manager=0)
Definition balm_defaultmetricsmanager.h:316
Definition balm_metric.h:425
static void getCollector(Collector **collector, CategoryHolder *holder, const char *category, const char *metric, PublicationType::Value preferredPublicationType)
static void getCollector(Collector **collector, CategoryHolder *holder, const char *category, const char *metric)
Value
Definition balm_publicationtype.h:83