[#BloombergLP-balm-IntegerCollector] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balm.adoc[balm]::IntegerCollector :relfileprefix: ../../ :mrdocs: This class provides a mechanism for collecting and aggregating the value of an integer metric over a period of time. The collector contains a `MetricId` object identifying the metric being collected, the number of times an event occurred, and the total, minimum, and maximum aggregates of the associated measurement value. The default value for the count is 0, the default value for the total is 0, the default value for the minimum is `k_DEFAULT_MIN`, and the default value for the maximum is `k_DEFAULT_MAX`. == Synopsis Declared in `<balm_integercollector.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class IntegerCollector; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balm/IntegerCollector/2constructor.adoc[`IntegerCollector`] [.small]#[constructor]# | Create an integer collector for a metric having the specified `metricId`, and having an initial count of 0, total of 0, min of `k_DEFAULT_MIN`, and max of `k_DEFAULT_MAX`. | xref:BloombergLP/balm/IntegerCollector/2destructor.adoc[`~IntegerCollector`] [.small]#[destructor]# | Destroy this object. | xref:BloombergLP/balm/IntegerCollector/accumulateCountTotalMinMax.adoc[`accumulateCountTotalMinMax`] | Increment the event count by the specified `count`, add the specified `total` to the accumulated total, and if the specified `min` is less than the minimum value, set `min` to be the minimum value, and if the specified `max` is greater than the maximum value, set `max` to be the maximum value. | xref:BloombergLP/balm/IntegerCollector/load.adoc[`load`] | Load into the specified `record` the id of the metric being collected, as well as the current count, total, minimum, and maximum aggregated values for the metric. Note that `k_DEFAULT_MIN != MetricRecord::k_DEFAULT_MIN` and `k_DEFAULT_MAX != MetricRecord::k_DEFAULT_MAX`; when populating `record`, this operation will convert default values for minimum and maximum. A minimum value of `k_DEFAULT_MIN` will populate a minimum value of `MetricRecord::k_DEFAULT_MIN` and a maximum value of `k_DEFAULT_MAX` will populate a maximum value of `MetricRecord::k_DEFAULT_MAX`. | xref:BloombergLP/balm/IntegerCollector/loadAndReset.adoc[`loadAndReset`] | Load into the specified `record` the id of the metric being collected as well as the current count, total, minimum, and maximum aggregated values for that metric; then reset the count, total, minimum, and maximum values to their default states. After this operation, the count and total values will be 0, the minimum value will be `k_DEFAULT_MIN`, and the maximum value will be `k_DEFAULT_MAX`. Note that `k_DEFAULT_MIN != MetricRecord::k_DEFAULT_MIN` and `k_DEFAULT_MAX != MetricRecord::k_DEFAULT_MAX`; when populating `record`, this operation will convert default values for minimum and maximum. A minimum value of `k_DEFAULT_MIN` will populate a minimum value of `MetricRecord::k_DEFAULT_MIN` and a maximum value of `k_DEFAULT_MAX` will populate a maximum value of `MetricRecord::k_DEFAULT_MAX`. | xref:BloombergLP/balm/IntegerCollector/metricId.adoc[`metricId`] | Return a reference to the non‐modifiable `MetricId` object identifying the metric for which this object collects values. | xref:BloombergLP/balm/IntegerCollector/reset.adoc[`reset`] | Reset the count, total, minimum, and maximum values of the metric being collected to their default states. After this operation, the count and total values will be 0, the minimum value will be `k_DEFAULT_MIN`, and the maximum value will be `k_DEFAULT_MAX`. | xref:BloombergLP/balm/IntegerCollector/setCountTotalMinMax.adoc[`setCountTotalMinMax`] | Set the event count to the specified `count`, the total aggregate to the specified `total`, the minimum aggregate to the specified `min` and the maximum aggregate to the specified `max`. | xref:BloombergLP/balm/IntegerCollector/update.adoc[`update`] | Increment the event count by 1, add the specified `value` to the total, if `value` is less than the minimum value, set `value` to be the minimum value, and if `value` is greater than the maximum value, set `value` to be the maximum value. |=== == Static Data Members [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balm/IntegerCollector/DEFAULT_MAX.adoc[`DEFAULT_MAX`] | Deprecated alias for `k_DEFAULT_MAX`. | xref:BloombergLP/balm/IntegerCollector/DEFAULT_MIN.adoc[`DEFAULT_MIN`] | Deprecated alias for `k_DEFAULT_MIN`. | xref:BloombergLP/balm/IntegerCollector/k_DEFAULT_MAX.adoc[`k_DEFAULT_MAX`] | Default maximum value (`INT_MIN`). | xref:BloombergLP/balm/IntegerCollector/k_DEFAULT_MIN.adoc[`k_DEFAULT_MIN`] | Default minimum value (`INT_MAX`). |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#