[#BloombergLP-balm-ConfigurationUtil] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balm.adoc[balm]::ConfigurationUtil :relfileprefix: ../../ :mrdocs: This `struct` provides utilities for configuring metrics. == Synopsis Declared in `<balm_configurationutil.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- struct ConfigurationUtil; ---- == Static Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/balm/ConfigurationUtil/createUserDataKey.adoc[`createUserDataKey`] | Return a new unique key that can be used to associate (via `setUserData`) a value with a metric (or group of metrics). Optionally specify a metrics `manager` to configure. If `manager` is 0, configure the default metrics manager; if `manager` is 0 and the default metrics manager has not been initialized, then an unspecified integer value is returned. Note that the returned key can be used by clients of `balm` to associate additional information with a metric. | xref:BloombergLP/balm/ConfigurationUtil/setFormat.adoc[`setFormat`] | Set the format specification for the metric indicated by the specified `category` and `metricName` to the specified `format`. Optionally specify a metrics `manager` to configure. If `manager` is 0, configure the default metrics manager; if `manager` is 0 and the default metrics manager has not been initialized, this method has no effect. Return 0 on success, or a non‐zero value if `manager` is 0 and the default metrics manager has not been initialized. If a `MetricId` does not exist for `category` and `metricName`, create one and add it to the metric registry of the indicated metrics manager. | xref:BloombergLP/balm/ConfigurationUtil/setFormatSpec.adoc[`setFormatSpec`] | Set the format specification for the metric aggregate indicated by the specified `category`, `metricName`, and `publicationType` to the specified `formatSpec`. Optionally specify a metrics `manager` to configure. If `manager` is 0, configure the default metrics manager; if `manager` is 0 and the default metrics manager has not been initialized, this method has no effect. Return 0 on success, or a non‐zero value if `manager` is 0 and the default metrics manager has not been initialized. If a `MetricId` does not exist for `category` and `metricName`, create one and add it to the metric registry of the indicated metrics manager. For example a publication type of `e_AVG`, and a format spec with a scale of 1000.0 and a format of "%.2f ms", indicates that the average value of the indicated metric should be formatted by scaling the value by 1000 and then rounding the value to the second decimal place and appending " ms". | xref:BloombergLP/balm/ConfigurationUtil/setPreferredPublicationType.adoc[`setPreferredPublicationType`] | Set the preferred publication type of the metric identified by the specified `category` and `metricName` to the specified `publicationType`. Optionally specify a metrics `manager` to configure. If `manager` is 0, configure the default metrics manager; if `manager` is 0 and the default metrics manager has not been initialized, this method has no effect. Return 0 on success, or a non‐zero value if `manager` is 0 and the default metrics manager has not been initialized. The preferred publication type of a metric indicates the preferred aggregate to publish for that metric, or `PublicationType::e_UNSPECIFIED` if there is no preference. For example, specifying `e_AVG` indicates that the average value of the collected metric should be reported. If a `MetricId` does not exist for `category` and `metricName`, create one and add it to the metric registry of the indicated metrics manager. Note that there is no uniform definition for how publishers will interpret this value. | xref:BloombergLP/balm/ConfigurationUtil/setUserData-0f.adoc[`setUserData`] | `setUserData` overloads |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#