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

Publish metrics associated with the specified `category` if `category` is enabled&semi; otherwise (if `category` is not enabled) this method has no effect&period; Optionally specify a `resetFlag` that determines if the collected metrics are reset as part of this operation&period; If `category` is enabled (i&period;e&period;, `category&hyphen;&gt;isEnabled()` is `true`), this operation will collect aggregated metric values for `category` from any registered callbacks as well as from its own `CollectorRepository`, and then publish those records using any publishers associated with `category`&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 `category` has not previously been reset then this interval is taken to be the elapsed time since the creation of this metrics manager&period; Note that the alternative `publish` methods that publish multiple categories in a single invocation are more efficient than publishing a sequence of categories individually&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* category,
    bool resetFlag = true);
----


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