8#ifndef INCLUDED_BALM_COLLECTORREPOSITORY
9#define INCLUDED_BALM_COLLECTORREPOSITORY
143#include <balscm_version.h>
159#include <bsl_memory.h>
160#include <bsl_vector.h>
170class CollectorRepository_MetricCollectors;
191 typedef CollectorRepository_MetricCollectors MetricCollectors;
228 template <
class VECTOR>
229 void collectAndResetImp(VECTOR *records,
238 template <
class VECTOR>
239 void collectImp(VECTOR *records,
250 MetricCollectors& getMetricCollectors(
const MetricId& metricId);
276#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
287 void collect(std::vector<MetricRecord> *records,
289#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
290 void collect(std::pmr::vector<MetricRecord> *records,
312 const char *metricName);
335 const char *metricName);
355 const char *metricName);
377 const char *category,
378 const char *metricName);
396#ifdef BSLS_LIBRARYFEATURES_HAS_CPP17_PMR
435: d_registry_p(registry)
436, d_collectors(basicAllocator)
437, d_categories(basicAllocator)
439, d_allocator_p(
bslma::Default::allocator(basicAllocator))
451 const char *metricName)
458 const char *category,
459 const char *metricName)
467 const char *category,
468 const char *metricName)
476 const char *metricName)
484 return *d_registry_p;
491 return *d_registry_p;
Definition balm_category.h:152
Definition balm_collectorrepository.h:184
Collector * getDefaultCollector(const MetricId &metricId)
MetricRegistry & registry()
Definition balm_collectorrepository.h:482
int getAddedCollectors(bsl::vector< bsl::shared_ptr< Collector > > *collectors, bsl::vector< bsl::shared_ptr< IntegerCollector > > *intCollectors, const MetricId &metricId)
IntegerCollector * getDefaultIntegerCollector(const char *category, const char *metricName)
Definition balm_collectorrepository.h:457
int getAddedCollectors(std::vector< bsl::shared_ptr< Collector > > *collectors, std::vector< bsl::shared_ptr< IntegerCollector > > *intCollectors, const MetricId &metricId)
bsl::shared_ptr< Collector > addCollector(const MetricId &metricId)
void collect(bsl::vector< MetricRecord > *records, const Category *category)
IntegerCollector * getDefaultIntegerCollector(const MetricId &metricId)
bsl::shared_ptr< IntegerCollector > addIntegerCollector(const char *category, const char *metricName)
Definition balm_collectorrepository.h:475
bsl::shared_ptr< Collector > addCollector(const char *category, const char *metricName)
Definition balm_collectorrepository.h:466
bsl::shared_ptr< IntegerCollector > addIntegerCollector(const MetricId &metricId)
void collectAndReset(bsl::vector< MetricRecord > *records, const Category *category)
Collector * getDefaultCollector(const char *category, const char *metricName)
Definition balm_collectorrepository.h:450
void collectAndReset(std::vector< MetricRecord > *records, const Category *category)
~CollectorRepository()
Free all the collectors in this repository and destroy this object.
Definition balm_collectorrepository.h:444
BSLMF_NESTED_TRAIT_DECLARATION(CollectorRepository, bslma::UsesBslmaAllocator)
void collect(std::vector< MetricRecord > *records, const Category *category)
Definition balm_collector.h:152
Definition balm_integercollector.h:151
Definition balm_metricid.h:162
Definition balm_metricregistry.h:180
MetricId getId(const char *category, const char *name)
Definition bslstl_map.h:653
Definition bslstl_sharedptr.h:1838
Definition bslstl_vector.h:1120
Definition bslma_allocator.h:545
Definition bslmt_rwmutex.h:148
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
Definition balm_bdlmmetricsadapter.h:142
Definition baljsn_encoder_testtypes.h:76
Definition bslma_usesbslmaallocator.h:344