[android-components](../../index.md) / [mozilla.components.service.glean](../index.md) / [LabeledMetricType](index.md) / [&lt;init&gt;](./-init-.md)

# &lt;init&gt;

`LabeledMetricType(disabled: `[`Boolean`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-boolean/index.html)`, category: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, lifetime: `[`Lifetime`](../-lifetime/index.md)`, name: `[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`, sendInPings: `[`List`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-list/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`>, subMetric: `[`T`](index.md#T)`, labels: `[`Set`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.collections/-set/index.html)`<`[`String`](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)`>? = null)`

This implements the developer facing API for labeled metrics.

Instances of this class type are automatically generated by the parsers at build time,
allowing developers to record values that were previously registered in the metrics.yaml file.

Unlike most metric types, LabeledMetricType does not have its own corresponding storage engine,
but records metrics for the underlying metric type T in the storage engine for that type.  The
only difference is that labeled metrics are stored with the special key `$category.$name/$label`.
The |StorageEngineManager.collect| method knows how to pull these special values back out of the
individual storage engines and rearrange them correctly in the ping.

