<!--
{
  "documentType" : "article",
  "framework" : "Analytics Reports",
  "identifier" : "/documentation/Analytics-Reports/cametallayer-performance",
  "metadataVersion" : "0.1.0",
  "role" : "article",
  "title" : "CAMetalLayer Performance"
}
-->

# CAMetalLayer Performance

Review CAMetalLayer metadata and performance in your app.

## Overview

The data in this report contains metadata and performance information about how your app uses CAMetalLayer.

- Territories: Worldwide
- Platforms: iOS, iPadOS.  For more information about iOS and iPadOS, see the Platforms section in [Data Completeness and Corrections](/documentation/Analytics-Reports/data-completeness-corrections).
- Availability:
  - Daily: Every day.
- History: On request, data is available beginning with iOS 17.4 and iPadOS 17.4.
- Completeness: Data from devices that contribute to this report can arrive as late as 8 days after the date it generates on device. You can download recent data daily, but it might be incomplete, and data updates incrementally daily, until all late-arriving events are available.
- Privacy:
  - Includes data from users who have opted to share their data with Apple and developers.
  - Individual rows will only appear if they have a value of 5 or more.
- Data Context: You can analyze your data with additional context by comparing it with the data in the [App Sessions Context](/documentation/Analytics-Reports/app-sessions-context) report, which provides a count of unique devices that use your app on a specific day. For example, if your app performed an action detailed in this report on 10 unique devices on a specific day, and the App Sessions Context report shows there were 100 unique devices running your app that day, then you can approximate that 10% of the devices running your app performed that action.

## Report Fields

|Report Field                           |Description                                                                                                                                                                                   |Data Type|
|---------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------|
|Count                                  |Number of times the event occurred                                                                                                                                                            |`integer`|
|Territory                              |Country or region in which the event occurred                                                                                                                                                 |`string` |
|Date                                   |Date when the event occurred                                                                                                                                                                  |`string` |
|Platform                               |OS version on the device on which the event occurred                                                                                                                                          |`string` |
|Device                                 |Type of device on which the event occurred                                                                                                                                                    |`string` |
|Build                                  |Build of device on which event occurred                                                                                                                                                       |`string` |
|Unique Devices                         |The count of unique devices                                                                                                                                                                   |`integer`|
|Release Type                           |Type of software release                                                                                                                                                                      |`string` |
|Bundle Short Version                   |The short bundle version of the client process.                                                                                                                                               |`string` |
|App Version                            |Version of the app associated with the event                                                                                                                                                  |`string` |
|Layer Name                             |The name of the layer (if known).                                                                                                                                                             |`string` |
|Process Name                           |The name of the CAMetalLayer client process.                                                                                                                                                  |`string` |
|Active Duration                        |The amount of time, in seconds, that the most active layer in the CAMetalLayer client session actively generates new on-screen content.                                                       |`float`  |
|Average Height                         |The average height, in pixels, of the chosen CAMetalLayer over the course of the session.                                                                                                     |`float`  |
|Average Width                          |The average width, in pixels, of the chosen CAMetalLayer over the course of the session.                                                                                                      |`float`  |
|Client Lifetime Duration               |The number of seconds the client process existed (estimated).                                                                                                                                 |`float`  |
|Lifetime Active Layer Count            |The total number of layers observed during the client’s lifetime.                                                                                                                             |`integer`|
|Presented Frame Command Buffer Count   |The number of command buffers associated with presented frames of the chosen CAMetalLayer.                                                                                                    |`integer`|
|Presented Frame Count                  |The number of presented frames, as determined by counting presented CAMetalDrawables of the chosen CAMetalLayer.                                                                              |`integer`|
|Skipped Frame Count                    |The number of skipped frames, for example, CAMetalDrawables created but not put on glass.                                                                                                     |`integer`|
|Total Presented Drawables Count        |The total presented CAMetalDrawables across all CAMetalLayers of the client process, not just the most active CAMetalLayer. This approximates the proportion of the CAMetalDrawables reported.|`integer`|
|On Glass Present Lateness Count        |The count of frames that arrived late on glass.                                                                                                                                               |`integer`|
|Presented CPU End-To-End Drawable Total|The total end-to-end CPU walltime, in milliseconds, for all CAMetalDrawables for the chosen layer during the client’s lifetime.                                                               |`float`  |
|Presented On GPU Walltime Total        |The total on-GPU walltime, in milliseconds, attributed to CAMetalDrawables for the chosen layer during the client’s lifetime.                                                                 |`float`  |
|On Glass Present Lateness Total        |The total estimated on-glass presentation lateness, in milliseconds, for drawables for the chosen layer during the lifetime of the client process.                                            |`float`  |
|Presented GPU End-To-End Drawable Total|The total end-to-end GPU walltime, in milliseconds, for all CAMetalDrawables for the chosen layer during the client’s lifetime.                                                               |`float`  |
|Presented GPU Done-To-Completed Total  |The total amount of time, in milliseconds, spent waiting for drawables to land on glass after GPU work completion from the selected CAMetalLayer.                                             |`float`  |
|On Glass Interval Total                |The total on-glass interval, in milliseconds, for CAMetalDrawables from the selected CAMetalLayer.                                                                                            |`float`  |
|On Glass Interval Count                |The total number of on-glass frame (CAMetalDrawables) intervals for the given CAMetalLayer.                                                                                                   |`integer`|

## Glossary

|Dimension           |Value                          |Definition                      |
|--------------------|-------------------------------|--------------------------------|
|Bundle Short Version|ExampleBundleShortVersion.0.1.2|Placeholder short version       |
|App Version         |Example.BundleVersion.0.1.2    |Placeholder bundle version      |
|Layer Name          |ExampleLayerName               |Placeholder example layer name  |
|Process Name        |ExampleProcessName             |Placeholder example process name|

---

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)