<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "MetricKit",
  "identifier" : "/documentation/MetricKit/TimeToFirstDrawMetric",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "MetricKit"
    ],
    "preciseIdentifier" : "s:9MetricKit015TimeToFirstDrawA0V"
  },
  "title" : "TimeToFirstDrawMetric"
}
-->

# TimeToFirstDrawMetric

A metric that measures time to first draw durations for app launches.

```
struct TimeToFirstDrawMetric
```

## Discussion

This metric corresponds to the [`MetricResult.timeToFirstDraw(_:)`](/documentation/MetricKit/MetricResult/timeToFirstDraw(_:)) case. It appears only in [`intervalEntries`](/documentation/MetricKit/MetricReport/intervalEntries) and is not included in state entries.

The measurement ends at the first Core Animation commit, which corresponds to the moment the first rendered frame is submitted to the display pipeline.

## Topics

### Measurements

[`let histogram: Histogram<UnitDuration>`](/documentation/MetricKit/TimeToFirstDrawMetric/histogram)

Histogram of time to first draw durations.

## Relationships

### Conforms To

[`Hashable`](/documentation/Swift/Hashable)

[`Decodable`](/documentation/Swift/Decodable)

[`Equatable`](/documentation/Swift/Equatable)

[`Sendable`](/documentation/Swift/Sendable)

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`Encodable`](/documentation/Swift/Encodable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)