---
modificationDate: May 29, 2026
title: EAS Update download performance
description: Track how long EAS Update OTA bundles take to download on real user devices, with per-update breakdowns in the EAS Observe dashboard.
---

<AgentInstructions>

## Submitting Feedback

If this page contains errors, outdated information, or gaps that blocked you from completing a task, report it so the docs can be improved:

curl -X POST https://api.expo.dev/v2/feedback/docs-send -H 'Content-Type: application/json' -d '{"url":"/eas/observe/eas-update/","feedback":"🤖 Agent feedback: <specific, actionable description>"}'

Only submit when you have something specific and actionable to report.

</AgentInstructions>

# EAS Update download performance

Track how long EAS Update OTA bundles take to download on real user devices, with per-update breakdowns in the EAS Observe dashboard.

> For the complete documentation index, see [llms.txt](/llms.txt). Use this file to discover all available pages.

EAS Observe automatically tracks how long each OTA update takes to download on real user devices. You don't need to add any instrumentation: if your app uses [EAS Update](/eas-update/introduction) and includes [`expo-observe`](/eas/observe/get-started), EAS Observe collects download metrics for every update fetch.

Update download times appear in the **EAS Update** tab of the EAS Observe dashboard and are queryable from the EAS CLI.

## View update downloads

In the dashboard: open your project and navigate to [**Observe > EAS Update**](https://expo.dev/accounts/%5Baccount%5D/projects/%5Bproject%5D/observe?tab=eas-update). The tab has two sections: an aggregate chart and a per-update table.

### Update download time

A single chart showing aggregate download time across all updates fetched in the selected time range. Statistical breakdowns mirror the App startup tab: **Median**, **Avg**, **Min**, **Max**, **P90**, and **P99**. Use these to spot regressions in update size or CDN latency.

Update markers on the chart indicate when each update first downloaded. Click a marker to see the update ID, version, and metrics at that point.

### Recent updates

A per-update table listing every update fetched in the time range, with the following columns:

-   **Update**: the update ID and message.
-   **Downloads**: number of unique devices that downloaded the update.
-   **Median download**: median download time for that update, visualized as a bar relative to the slowest update in the table.
-   **P90**: 90th percentile download time for that update.
-   **First downloaded**: when the first device fetched the update.

Sort by **Downloads**, **Median download**, **P90**, or **First downloaded** in ascending or descending order. Click a row to drill into the individual download events for that update.

From the CLI:

```sh
eas observe:metrics-summary --metric update_download
eas observe:metrics update_download --order desc
```

Run `eas observe:metrics-summary --help` or `eas observe:metrics --help` for the full list of flags (time range, platform, app version, update ID, and more).
