# Metric.Measurement

Artifact: [androidx.benchmark:benchmark-macro](https://developer.android.com/jetpack/androidx/releases/benchmark) [View Source](https://cs.android.com/search?q=file:androidx/benchmark/macro/Metric.kt+class:androidx.benchmark.macro.Metric.Measurement) Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/benchmark#1.2.0)

*** ** * ** ***


```
@ConsistentCopyVisibility
@ExperimentalMetricApi
data class Metric.Measurement
```

<br />

*** ** * ** ***

Represents a Metric's measurement of a single iteration.

To validate results in tests, use `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/package-summary#assertEqualMeasurements(kotlin.collections.List,kotlin.collections.List,kotlin.Double)`

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/Metric.Measurement#Measurement(kotlin.String,kotlin.Double)(name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, data: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-double/index.html)` Represents a measurement with a single value captured per iteration. |
| `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/Metric.Measurement#Measurement(kotlin.String,kotlin.collections.List)(name: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html, dataSamples: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-double/index.html>)` Represents a measurement with a value sampled an arbitrary number of times per iteration. |

| ### Public properties |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-double/index.html>` | `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/Metric.Measurement#data()` Measurement values captured by the metric, length constraints defined by `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/Metric.Measurement#(kotlin.String,kotlin.collections.List,kotlin.Boolean)`. |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html` | `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/Metric.Measurement#name()` Unique name of the metric, should be camel case with abbreviated suffix, e.g. `startTimeNs` |
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/Metric.Measurement#requireSingleValue()` True if the `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/Metric.Measurement#(kotlin.String,kotlin.collections.List,kotlin.Boolean)` param is a single value per measurement, false if it contains an arbitrary number of samples. |

## Public constructors

### Measurement

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/benchmark#1.2.0)

```
Measurement(name: String, data: Double)
```

Represents a measurement with a single value captured per iteration.

For example, in a startup Macrobenchmark, `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/StartupTimingMetric` returns a single measurement for `timeToInitialDisplayMs`.

### Measurement

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/benchmark#1.2.0)

```
Measurement(name: String, dataSamples: List<Double>)
```

Represents a measurement with a value sampled an arbitrary number of times per iteration.

For example, in a jank Macrobenchmark, `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/FrameTimingMetric` can return multiple measurements for `frameOverrunMs` - one for each observed frame.

When measurements are merged across multiple iterations, percentiles are extracted from the total pool of samples: P50, P90, P95, and P99.

## Public properties

### data

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/benchmark#1.2.0)

```
val data: List<Double>
```

Measurement values captured by the metric, length constraints defined by `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/Metric.Measurement#(kotlin.String,kotlin.collections.List,kotlin.Boolean)`.

### name

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/benchmark#1.2.0)

```
val name: String
```

Unique name of the metric, should be camel case with abbreviated suffix, e.g. `startTimeNs`

### requireSingleValue

Added in [1.2.0](https://developer.android.com/jetpack/androidx/releases/benchmark#1.2.0)

```
val requireSingleValue: Boolean
```

True if the `https://developer.android.com/reference/kotlin/androidx/benchmark/macro/Metric.Measurement#(kotlin.String,kotlin.collections.List,kotlin.Boolean)` param is a single value per measurement, false if it contains an arbitrary number of samples.