Quick Links: |
Provide a suite of operations for recording metric values. More...
Go to the source code of this file.
Classes | |
struct | balm::Metrics_Helper |
Namespaces | |
namespace | balm |
Defines | |
#define | BALM_METRICS_IF_CATEGORY_ENABLED(CATEGORY) |
#define | BALM_METRICS_UPDATE(CATEGORY, METRIC1, VALUE1) |
#define | BALM_METRICS_UPDATE2(CATEGORY, METRIC1, VALUE1, METRIC2, VALUE2) |
#define | BALM_METRICS_UPDATE3(CATEGORY,METRIC1,VALUE1,METRIC2,VALUE2,METRIC3,VALUE3) |
#define | BALM_METRICS_UPDATE4(CATEGORY,METRIC1,VALUE1,METRIC2,VALUE2,METRIC3,VALUE3,METRIC4,VALUE4) |
#define | BALM_METRICS_UPDATE5(CATEGORY,METRIC1,VALUE1,METRIC2,VALUE2,METRIC3,VALUE3,METRIC4,VALUE4,METRIC5,VALUE5) |
#define | BALM_METRICS_UPDATE6(CATEGORY,METRIC1,VALUE1,METRIC2,VALUE2,METRIC3,VALUE3,METRIC4,VALUE4,METRIC5,VALUE5,METRIC6,VALUE6) |
#define | BALM_METRICS_TYPED_UPDATE(CATEGORY, METRIC, VALUE, PREFERRED_TYPE) |
#define | BALM_METRICS_DYNAMIC_UPDATE(CATEGORY, METRIC, VALUE) |
#define | BALM_METRICS_INT_UPDATE(CATEGORY, METRIC1, VALUE1) |
#define | BALM_METRICS_INT_UPDATE2(CATEGORY,METRIC1,VALUE1,METRIC2,VALUE2) |
#define | BALM_METRICS_INT_UPDATE3(CATEGORY,METRIC1,VALUE1,METRIC2,VALUE2,METRIC3,VALUE3) |
#define | BALM_METRICS_INT_UPDATE4(CATEGORY,METRIC1,VALUE1,METRIC2,VALUE2,METRIC3,VALUE3,METRIC4,VALUE4) |
#define | BALM_METRICS_INT_UPDATE5(CATEGORY,METRIC1,VALUE1,METRIC2,VALUE2,METRIC3,VALUE3,METRIC4,VALUE4,METRIC5,VALUE5) |
#define | BALM_METRICS_INT_UPDATE6(CATEGORY,METRIC1,VALUE1,METRIC2,VALUE2,METRIC3,VALUE3,METRIC4,VALUE4,METRIC5,VALUE5,METRIC6,VALUE6) |
#define | BALM_METRICS_TYPED_INT_UPDATE(CATEGORY,METRIC,VALUE,PREFERRED_TYPE) |
#define | BALM_METRICS_DYNAMIC_INT_UPDATE(CATEGORY, METRIC, VALUE) |
#define | BALM_METRICS_INCREMENT(CATEGORY, METRIC) BALM_METRICS_INT_UPDATE(CATEGORY, METRIC, 1) |
#define | BALM_METRICS_TYPED_INCREMENT(CATEGORY, METRIC, PREFERRED_TYPE) BALM_METRICS_TYPED_INT_UPDATE(CATEGORY, METRIC, 1, PREFERRED_TYPE) |
#define | BALM_METRICS_DYNAMIC_INCREMENT(CATEGORY, METRIC) BALM_METRICS_DYNAMIC_INT_UPDATE(CATEGORY, METRIC, 1) |
#define | BALM_METRICS_TIME_BLOCK(CATEGORY, METRIC, TIME_UNITS) |
#define | BALM_METRICS_DYNAMIC_TIME_BLOCK(CATEGORY, METRIC, TIME_UNITS) |
#define | BALM_METRICS_TIME_BLOCK_SECONDS(CATEGORY, METRIC) |
#define | BALM_METRICS_TIME_BLOCK_MILLISECONDS(CATEGORY, METRIC) |
#define | BALM_METRICS_TIME_BLOCK_MICROSECONDS(CATEGORY, METRIC) |
#define | BALM_METRICS_TIME_BLOCK_NANOSECONDS(CATEGORY, METRIC) |
#define | BALM_METRICS_DYNAMIC_TIME_BLOCK_SECONDS(CATEGORY, METRIC) |
#define | BALM_METRICS_DYNAMIC_TIME_BLOCK_MILLISECONDS(CATEGORY, METRIC) |
#define | BALM_METRICS_DYNAMIC_TIME_BLOCK_MICROSECONDS(CATEGORY, METRIC) |
#define | BALM_METRICS_DYNAMIC_TIME_BLOCK_NANOSECONDS(CATEGORY, METRIC) |
#define | BALM_METRICS_IF_CATEGORY_ENABLED_IMP(CATEGORY, HOLDER_NAME) |
#define | BALM_METRICS_TIME_BLOCK_IMP(CATEGORY,METRIC,TIME_UNITS,VARIABLE_NAME) |
#define | BALM_METRICS_DYNAMIC_TIME_BLOCK_IMP(CATEGORY,METRIC,TIME_UNITS,VARIABLE_NAME) |
#define | BALM_METRICS_UNIQNUM __LINE__ |
#define | BALM_METRICS_CAT(X, Y) BALM_METRICS_CAT_IMP(X, Y) |
#define | BALM_METRICS_CAT_IMP(X, Y) X##Y |
#define | BALM_METRICS_UNIQUE_NAME(X) BALM_METRICS_CAT(X, BALM_METRICS_UNIQNUM) |
#define BALM_METRICS_IF_CATEGORY_ENABLED | ( | CATEGORY | ) |
BALM_METRICS_IF_CATEGORY_ENABLED_IMP( \ CATEGORY, BALM_METRICS_UNIQUE_NAME(categoryHolder))
#define BALM_METRICS_UPDATE | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1 | ||||
) |
do { \ using namespace BloombergLP; \ typedef balm::Metrics_Helper Helper; \ static balm::CategoryHolder holder = { false, 0, 0 }; \ static balm::Collector *collector1 = 0; \ if (0 == holder.category() && balm::DefaultMetricsManager::instance()) { \ Helper::logEmptyName(CATEGORY,Helper::e_TYPE_CATEGORY,__FILE__,__LINE__);\ Helper::logEmptyName(METRIC1, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ collector1 = Helper::getCollector(CATEGORY, METRIC1); \ Helper::initializeCategoryHolder(&holder, CATEGORY); \ } \ if (holder.enabled()) { \ collector1->update(VALUE1); \ } \ } while (0)
#define BALM_METRICS_UPDATE2 | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1, | ||||
METRIC2, | ||||
VALUE2 | ||||
) |
do { \ using namespace BloombergLP; \ typedef balm::Metrics_Helper Helper; \ static balm::CategoryHolder holder = { false, 0, 0 }; \ static balm::Collector *collector1 = 0; \ static balm::Collector *collector2 = 0; \ if (0 == holder.category() && balm::DefaultMetricsManager::instance()) { \ Helper::logEmptyName(CATEGORY,Helper::e_TYPE_CATEGORY,__FILE__,__LINE__);\ Helper::logEmptyName(METRIC1, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC2, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ collector1 = Helper::getCollector(CATEGORY, METRIC1); \ collector2 = Helper::getCollector(CATEGORY, METRIC2); \ Helper::initializeCategoryHolder(&holder, CATEGORY); \ } \ if (holder.enabled()) { \ collector1->update(VALUE1); \ collector2->update(VALUE2); \ } \ } while (0)
#define BALM_METRICS_UPDATE3 | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1, | ||||
METRIC2, | ||||
VALUE2, | ||||
METRIC3, | ||||
VALUE3 | ||||
) |
do { \ using namespace BloombergLP; \ typedef balm::Metrics_Helper Helper; \ static balm::CategoryHolder holder = { false, 0, 0 }; \ static balm::Collector *collector1 = 0; \ static balm::Collector *collector2 = 0; \ static balm::Collector *collector3 = 0; \ if (0 == holder.category() && balm::DefaultMetricsManager::instance()) { \ Helper::logEmptyName(CATEGORY,Helper::e_TYPE_CATEGORY,__FILE__,__LINE__);\ Helper::logEmptyName(METRIC1, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC2, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC3, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ collector1 = Helper::getCollector(CATEGORY, METRIC1); \ collector2 = Helper::getCollector(CATEGORY, METRIC2); \ collector3 = Helper::getCollector(CATEGORY, METRIC3); \ Helper::initializeCategoryHolder(&holder, CATEGORY); \ } \ if (holder.enabled()) { \ collector1->update(VALUE1); \ collector2->update(VALUE2); \ collector3->update(VALUE3); \ } \ } while (0)
#define BALM_METRICS_UPDATE4 | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1, | ||||
METRIC2, | ||||
VALUE2, | ||||
METRIC3, | ||||
VALUE3, | ||||
METRIC4, | ||||
VALUE4 | ||||
) |
do { \ using namespace BloombergLP; \ typedef balm::Metrics_Helper Helper; \ static balm::CategoryHolder holder = { false, 0, 0 }; \ static balm::Collector *collector1 = 0; \ static balm::Collector *collector2 = 0; \ static balm::Collector *collector3 = 0; \ static balm::Collector *collector4 = 0; \ if (0 == holder.category() && balm::DefaultMetricsManager::instance()) { \ Helper::logEmptyName(CATEGORY,Helper::e_TYPE_CATEGORY,__FILE__,__LINE__);\ Helper::logEmptyName(METRIC1, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC2, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC3, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC4, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ collector1 = Helper::getCollector(CATEGORY, METRIC1); \ collector2 = Helper::getCollector(CATEGORY, METRIC2); \ collector3 = Helper::getCollector(CATEGORY, METRIC3); \ collector4 = Helper::getCollector(CATEGORY, METRIC4); \ Helper::initializeCategoryHolder(&holder, CATEGORY); \ } \ if (holder.enabled()) { \ collector1->update(VALUE1); \ collector2->update(VALUE2); \ collector3->update(VALUE3); \ collector4->update(VALUE4); \ } \ } while (0)
#define BALM_METRICS_UPDATE5 | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1, | ||||
METRIC2, | ||||
VALUE2, | ||||
METRIC3, | ||||
VALUE3, | ||||
METRIC4, | ||||
VALUE4, | ||||
METRIC5, | ||||
VALUE5 | ||||
) |
#define BALM_METRICS_UPDATE6 | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1, | ||||
METRIC2, | ||||
VALUE2, | ||||
METRIC3, | ||||
VALUE3, | ||||
METRIC4, | ||||
VALUE4, | ||||
METRIC5, | ||||
VALUE5, | ||||
METRIC6, | ||||
VALUE6 | ||||
) |
#define BALM_METRICS_TYPED_UPDATE | ( | CATEGORY, | ||
METRIC, | ||||
VALUE, | ||||
PREFERRED_TYPE | ||||
) |
do { \ using namespace BloombergLP; \ typedef balm::Metrics_Helper Helper; \ static balm::CategoryHolder holder = { false, 0, 0 }; \ static balm::Collector *collector1 = 0; \ if (0 == holder.category() && balm::DefaultMetricsManager::instance()) { \ Helper::logEmptyName(CATEGORY,Helper::e_TYPE_CATEGORY,__FILE__,__LINE__);\ Helper::logEmptyName(METRIC, Helper::e_TYPE_METRIC, __FILE__, __LINE__); \ collector1 = Helper::getCollector(CATEGORY, METRIC); \ Helper::setPublicationType(collector1->metricId(), PREFERRED_TYPE); \ Helper::initializeCategoryHolder(&holder, CATEGORY); \ } \ if (holder.enabled()) { \ collector1->update(VALUE); \ } \ } while (0)
#define BALM_METRICS_DYNAMIC_UPDATE | ( | CATEGORY, | ||
METRIC, | ||||
VALUE | ||||
) |
do { \ using namespace BloombergLP; \ if (balm::DefaultMetricsManager::instance()) { \ balm::CollectorRepository& repository = \ balm::DefaultMetricsManager::instance()->collectorRepository(); \ balm::Collector *collector = repository.getDefaultCollector( \ (CATEGORY), (METRIC));\ if (collector->metricId().category()->enabled()) { \ collector->update((VALUE)); \ } \ } \ } while(0)
#define BALM_METRICS_INT_UPDATE | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1 | ||||
) |
do { \ using namespace BloombergLP; \ typedef balm::Metrics_Helper Helper; \ static balm::CategoryHolder holder = { false, 0, 0 }; \ static balm::IntegerCollector *collector1 = 0; \ if (0 == holder.category() && balm::DefaultMetricsManager::instance()) { \ Helper::logEmptyName(CATEGORY,Helper::e_TYPE_CATEGORY,__FILE__,__LINE__);\ Helper::logEmptyName(METRIC1, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ collector1 = Helper::getIntegerCollector(CATEGORY, METRIC1); \ Helper::initializeCategoryHolder(&holder, CATEGORY); \ } \ if (holder.enabled()) { \ collector1->update(VALUE1); \ } \ } while (0)
#define BALM_METRICS_INT_UPDATE2 | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1, | ||||
METRIC2, | ||||
VALUE2 | ||||
) |
do { \ using namespace BloombergLP; \ typedef balm::Metrics_Helper Helper; \ static balm::CategoryHolder holder = { false, 0, 0 }; \ static balm::IntegerCollector *collector1 = 0; \ static balm::IntegerCollector *collector2 = 0; \ if (0 == holder.category() && balm::DefaultMetricsManager::instance()) { \ Helper::logEmptyName(CATEGORY,Helper::e_TYPE_CATEGORY,__FILE__,__LINE__);\ Helper::logEmptyName(METRIC1, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC2, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ collector1 = Helper::getIntegerCollector(CATEGORY, METRIC1); \ collector2 = Helper::getIntegerCollector(CATEGORY, METRIC2); \ Helper::initializeCategoryHolder(&holder, CATEGORY); \ } \ if (holder.enabled()) { \ collector1->update(VALUE1); \ collector2->update(VALUE2); \ } \ } while (0)
#define BALM_METRICS_INT_UPDATE3 | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1, | ||||
METRIC2, | ||||
VALUE2, | ||||
METRIC3, | ||||
VALUE3 | ||||
) |
do { \ using namespace BloombergLP; \ typedef balm::Metrics_Helper Helper; \ static balm::CategoryHolder holder = { false, 0, 0 }; \ static balm::IntegerCollector *collector1 = 0; \ static balm::IntegerCollector *collector2 = 0; \ static balm::IntegerCollector *collector3 = 0; \ if (0 == holder.category() && balm::DefaultMetricsManager::instance()) { \ Helper::logEmptyName(CATEGORY,Helper::e_TYPE_CATEGORY,__FILE__,__LINE__);\ Helper::logEmptyName(METRIC1, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC2, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC3, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ collector1 = Helper::getIntegerCollector(CATEGORY, METRIC1); \ collector2 = Helper::getIntegerCollector(CATEGORY, METRIC2); \ collector3 = Helper::getIntegerCollector(CATEGORY, METRIC3); \ Helper::initializeCategoryHolder(&holder, CATEGORY); \ } \ if (holder.enabled()) { \ collector1->update(VALUE1); \ collector2->update(VALUE2); \ collector3->update(VALUE3); \ } \ } while (0)
#define BALM_METRICS_INT_UPDATE4 | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1, | ||||
METRIC2, | ||||
VALUE2, | ||||
METRIC3, | ||||
VALUE3, | ||||
METRIC4, | ||||
VALUE4 | ||||
) |
do { \ using namespace BloombergLP; \ typedef balm::Metrics_Helper Helper; \ static balm::CategoryHolder holder = { false, 0, 0 }; \ static balm::IntegerCollector *collector1 = 0; \ static balm::IntegerCollector *collector2 = 0; \ static balm::IntegerCollector *collector3 = 0; \ static balm::IntegerCollector *collector4 = 0; \ if (0 == holder.category() && balm::DefaultMetricsManager::instance()) { \ Helper::logEmptyName(CATEGORY,Helper::e_TYPE_CATEGORY,__FILE__,__LINE__);\ Helper::logEmptyName(METRIC1, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC2, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC3, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ Helper::logEmptyName(METRIC4, Helper::e_TYPE_METRIC, __FILE__, __LINE__);\ collector1 = Helper::getIntegerCollector(CATEGORY, METRIC1); \ collector2 = Helper::getIntegerCollector(CATEGORY, METRIC2); \ collector3 = Helper::getIntegerCollector(CATEGORY, METRIC3); \ collector4 = Helper::getIntegerCollector(CATEGORY, METRIC4); \ Helper::initializeCategoryHolder(&holder, CATEGORY); \ } \ if (holder.enabled()) { \ collector1->update(VALUE1); \ collector2->update(VALUE2); \ collector3->update(VALUE3); \ collector4->update(VALUE4); \ } \ } while (0)
#define BALM_METRICS_INT_UPDATE5 | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1, | ||||
METRIC2, | ||||
VALUE2, | ||||
METRIC3, | ||||
VALUE3, | ||||
METRIC4, | ||||
VALUE4, | ||||
METRIC5, | ||||
VALUE5 | ||||
) |
#define BALM_METRICS_INT_UPDATE6 | ( | CATEGORY, | ||
METRIC1, | ||||
VALUE1, | ||||
METRIC2, | ||||
VALUE2, | ||||
METRIC3, | ||||
VALUE3, | ||||
METRIC4, | ||||
VALUE4, | ||||
METRIC5, | ||||
VALUE5, | ||||
METRIC6, | ||||
VALUE6 | ||||
) |
#define BALM_METRICS_TYPED_INT_UPDATE | ( | CATEGORY, | ||
METRIC, | ||||
VALUE, | ||||
PREFERRED_TYPE | ||||
) |
do { \ using namespace BloombergLP; \ typedef balm::Metrics_Helper Helper; \ static balm::CategoryHolder holder = { false, 0, 0 }; \ static balm::IntegerCollector *collector1 = 0; \ if (0 == holder.category() && balm::DefaultMetricsManager::instance()) { \ Helper::logEmptyName(CATEGORY,Helper::e_TYPE_CATEGORY,__FILE__,__LINE__);\ Helper::logEmptyName(METRIC, Helper::e_TYPE_METRIC, __FILE__, __LINE__); \ collector1 = Helper::getIntegerCollector(CATEGORY, METRIC); \ Helper::setPublicationType(collector1->metricId(), PREFERRED_TYPE); \ Helper::initializeCategoryHolder(&holder, CATEGORY); \ } \ if (holder.enabled()) { \ collector1->update(VALUE); \ } \ } while (0)
#define BALM_METRICS_DYNAMIC_INT_UPDATE | ( | CATEGORY, | ||
METRIC, | ||||
VALUE | ||||
) |
do { \ using namespace BloombergLP; \ if (balm::DefaultMetricsManager::instance()) { \ balm::CollectorRepository& repository = \ balm::DefaultMetricsManager::instance()->collectorRepository(); \ balm::IntegerCollector *collector = \ repository.getDefaultIntegerCollector((CATEGORY), (METRIC)); \ if (collector->metricId().category()->enabled()) { \ collector->update((VALUE)); \ } \ } \ } while (0)
#define BALM_METRICS_INCREMENT | ( | CATEGORY, | ||
METRIC | ||||
) | BALM_METRICS_INT_UPDATE(CATEGORY, METRIC, 1) |
#define BALM_METRICS_TYPED_INCREMENT | ( | CATEGORY, | ||
METRIC, | ||||
PREFERRED_TYPE | ||||
) | BALM_METRICS_TYPED_INT_UPDATE(CATEGORY, METRIC, 1, PREFERRED_TYPE) |
#define BALM_METRICS_DYNAMIC_INCREMENT | ( | CATEGORY, | ||
METRIC | ||||
) | BALM_METRICS_DYNAMIC_INT_UPDATE(CATEGORY, METRIC, 1) |
#define BALM_METRICS_TIME_BLOCK | ( | CATEGORY, | ||
METRIC, | ||||
TIME_UNITS | ||||
) |
BALM_METRICS_TIME_BLOCK_IMP((CATEGORY), \ (METRIC), \ TIME_UNITS, \ BALM_METRICS_UNIQUE_NAME(_bAlM_CoLlEcToR))
#define BALM_METRICS_DYNAMIC_TIME_BLOCK | ( | CATEGORY, | ||
METRIC, | ||||
TIME_UNITS | ||||
) |
BALM_METRICS_DYNAMIC_TIME_BLOCK_IMP( \ (CATEGORY), \ (METRIC), \ TIME_UNITS, \ BALM_METRICS_UNIQUE_NAME(_bAlM_CoLlEcToR))
#define BALM_METRICS_TIME_BLOCK_SECONDS | ( | CATEGORY, | ||
METRIC | ||||
) |
BALM_METRICS_TIME_BLOCK((CATEGORY), \ (METRIC), \ BloombergLP::balm::StopwatchScopedGuard::k_SECONDS);
#define BALM_METRICS_TIME_BLOCK_MILLISECONDS | ( | CATEGORY, | ||
METRIC | ||||
) |
BALM_METRICS_TIME_BLOCK( \ (CATEGORY), \ (METRIC), \ BloombergLP::balm::StopwatchScopedGuard::k_MILLISECONDS);
#define BALM_METRICS_TIME_BLOCK_MICROSECONDS | ( | CATEGORY, | ||
METRIC | ||||
) |
BALM_METRICS_TIME_BLOCK( \ (CATEGORY), \ (METRIC), \ BloombergLP::balm::StopwatchScopedGuard::k_MICROSECONDS);
#define BALM_METRICS_TIME_BLOCK_NANOSECONDS | ( | CATEGORY, | ||
METRIC | ||||
) |
BALM_METRICS_TIME_BLOCK( \ (CATEGORY), \ (METRIC), \ BloombergLP::balm::StopwatchScopedGuard::k_NANOSECONDS);
#define BALM_METRICS_DYNAMIC_TIME_BLOCK_SECONDS | ( | CATEGORY, | ||
METRIC | ||||
) |
BALM_METRICS_DYNAMIC_TIME_BLOCK( \ (CATEGORY), \ (METRIC), \ BloombergLP::balm::StopwatchScopedGuard::k_SECONDS);
#define BALM_METRICS_DYNAMIC_TIME_BLOCK_MILLISECONDS | ( | CATEGORY, | ||
METRIC | ||||
) |
BALM_METRICS_DYNAMIC_TIME_BLOCK( \ (CATEGORY), \ (METRIC), \ BloombergLP::balm::StopwatchScopedGuard::k_MILLISECONDS);
#define BALM_METRICS_DYNAMIC_TIME_BLOCK_MICROSECONDS | ( | CATEGORY, | ||
METRIC | ||||
) |
BALM_METRICS_DYNAMIC_TIME_BLOCK( \ (CATEGORY), \ (METRIC), \ BloombergLP::balm::StopwatchScopedGuard::k_MICROSECONDS);
#define BALM_METRICS_DYNAMIC_TIME_BLOCK_NANOSECONDS | ( | CATEGORY, | ||
METRIC | ||||
) |
BALM_METRICS_DYNAMIC_TIME_BLOCK( \ (CATEGORY), \ (METRIC), \ BloombergLP::balm::StopwatchScopedGuard::k_NANOSECONDS);
#define BALM_METRICS_IF_CATEGORY_ENABLED_IMP | ( | CATEGORY, | ||
HOLDER_NAME | ||||
) |
static BloombergLP::balm::CategoryHolder HOLDER_NAME = { false, 0, 0 }; \ if (BSLS_PERFORMANCEHINT_PREDICT_UNLIKELY(!HOLDER_NAME.category()) \ && BSLS_PERFORMANCEHINT_PREDICT_UNLIKELY( \ BloombergLP::balm::DefaultMetricsManager::instance() != 0)) {\ BloombergLP::balm::Metrics_Helper::initializeCategoryHolder( \ &HOLDER_NAME, CATEGORY); \ } \ if (HOLDER_NAME.enabled())
#define BALM_METRICS_TIME_BLOCK_IMP | ( | CATEGORY, | ||
METRIC, | ||||
TIME_UNITS, | ||||
VARIABLE_NAME | ||||
) |
static BloombergLP::balm::Collector *VARIABLE_NAME = 0; \ if (BloombergLP::balm::DefaultMetricsManager::instance()) { \ using namespace BloombergLP; \ if (0 == VARIABLE_NAME) { \ balm::CollectorRepository& repository = \ balm::DefaultMetricsManager::instance()->collectorRepository(); \ VARIABLE_NAME = repository.getDefaultCollector((CATEGORY), \ (METRIC)); \ } \ } \ else { \ VARIABLE_NAME = 0; \ } \ BloombergLP::balm::StopwatchScopedGuard \ BALM_METRICS_UNIQUE_NAME(__bAlM_gUaRd)(VARIABLE_NAME, TIME_UNITS);
#define BALM_METRICS_DYNAMIC_TIME_BLOCK_IMP | ( | CATEGORY, | ||
METRIC, | ||||
TIME_UNITS, | ||||
VARIABLE_NAME | ||||
) |
BloombergLP::balm::Collector *VARIABLE_NAME = 0; \ if (BloombergLP::balm::DefaultMetricsManager::instance()) { \ using namespace BloombergLP; \ balm::CollectorRepository& repository = \ balm::DefaultMetricsManager::instance()->collectorRepository(); \ VARIABLE_NAME = repository.getDefaultCollector((CATEGORY), \ (METRIC)); \ } \ BloombergLP::balm::StopwatchScopedGuard \ BALM_METRICS_UNIQUE_NAME(__bAlM_gUaRd)(VARIABLE_NAME, TIME_UNITS);
#define BALM_METRICS_UNIQNUM __LINE__ |
#define BALM_METRICS_CAT | ( | X, | ||
Y | ||||
) | BALM_METRICS_CAT_IMP(X, Y) |
#define BALM_METRICS_CAT_IMP | ( | X, | ||
Y | ||||
) | X##Y |
#define BALM_METRICS_UNIQUE_NAME | ( | X | ) | BALM_METRICS_CAT(X, BALM_METRICS_UNIQNUM) |