[#BloombergLP-balm-MetricsManager-publish-03e]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/balm.adoc[balm]::xref:BloombergLP/balm/MetricsManager.adoc[MetricsManager]::publish
:relfileprefix: ../../../
:mrdocs:

Publish metrics for the specified sequence of unique categories&period;

== Synopsis

Declared in `&lt;balm&lowbar;metricsmanager&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
void
publish(
    xref:BloombergLP/balm/Category.adoc[Category] const const* categories[],
    int numCategories,
    bool resetFlag = true);
----

== Description

Publish metrics belonging to the specified sequence of (unique) `categories`, of specified length `numCategories`&period; Optionally specify a `resetFlag` that determines if the collected metrics are reset as part of this operation&period; This operation will collect aggregated metric values for each _enabled_ category in `categories` from registered callbacks as well as from its own `CollectorRepository`, and then publish those records using any publishers associated with the category&period; Any individual category in `categories` that is not enabled is ignored&period; If `resetFlag` is `true`, the metrics being collected are reset to their default state&period; The metrics manager provides publishers the time interval over which the published metrics were collected&period; This interval is computed as the elapsed time since the last time the `category` was reset (either through a call to the `publish` or `collectSample` methods)&period; If a category has not previously been reset then this interval is taken to be the elapsed time since the creation of this metrics manager&period; The behavior is undefined unless `0 &lt;&equals; numCategories`, `categories` refers to a contiguous sequence of (at least) `numCategories`, and each category in `categories` appears only once&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *categories*
| sequence of unique categories to publish
| *numCategories*
| number of categories in `categories`
| *resetFlag*
| if `true`, reset collected metrics to defaults
|===


[.small]#Created with https://www.mrdocs.com[MrDocs]#
