---
updatedAt: 2026-02-12T13:35:59.000Z
agentTools:
  projectIndex: https://docs.emergetools.com/llms.txt
---

# Performance Profile

Performance profiles are designed to quickly assess the performance of your app's startup by running launching it on a physical device and measuring its performance.

* On iOS, Emerge will launch your app and run for a desired duration (in seconds - default 1s)
* On Android, Emerge will launch your app and profile to the end of the first frame render.

## Performance Profile vs Performance Comparison

[Performance Comparisons](https://docs.emergetools.com/docs/performance-testing)  provide a rigorous runtime comparison between two builds. Where a Performance Comparison may run the app up to 100 times to provide a statistically significant comparison, Performance profiles only runs the app once, providing a quick and accurate profile of your app's startup.

# Run a performance profile

You can run a performance profile for any upload you've made to Emerge.

## Profile page

On uploads that are eligible for a performance profile, the performance profile page (`https://emergetools.com/performance/<upload_id>`) will have a button that will trigger a performance run.

<Image align="center" src="https://files.readme.io/7ed51acab1b2f6f3e0cfcae6be93bf802da716542420c3725b54ccab35a97afe-Screenshot_2024-12-18_at_5.01.44_PM.png" />

On iOS, this will prompt you to enter a duration to profile. On Android, Emerge will profile from process start to end of first frame.

![](https://files.readme.io/4bf319d-image.png)

## Uploads page

You will see a button under each upload that's eligible for a performance profile in the [uploads](https://www.emergetools.com/uploads)  page:

<Image align="center" src="https://files.readme.io/d3ad7f6-row-upload.png" />

You can also open the modal from any upload page from the Actions Button on the top right:

<Image align="center" width="200px" src="https://files.readme.io/eb2412b-image.png" />

# Viewing results

Performance results can be found on an upload's performance profile page (`https://emergetools.com/performance/<upload_id>`). Profiles usually take \~5 minutes to run.

<Image align="center" src="https://files.readme.io/4098b1bdbbe97463f5c5015550514b1d23c181592596a9a5e89d16cf475dbb81-Screenshot_2024-12-18_at_5.07.50_PM.png" />

## Viewing all performance profile runs

You can see the ran profiles in the `Performance Runs` tab. Select the "Test type" dropdown and select "Profile" to see just performance profiles.

<Image align="center" src="https://files.readme.io/d1e682153c2f64c04b6cdcd3ccc31591bbbf167bfa561ae146b282a1107b8da5-Screenshot_2024-12-18_at_5.06.54_PM.png" />

# FAQ

## How can I detect in code if my app is actively running in a performance profile?

A flag/env variable is set on each platform that can be queried from the app at runtime to run/avoid certain areas of code.

### Android

The system property `debug.emergetools.is_perftest` will be set to `1` during a performance profile.

### iOS

The environment variable `EMERGE_IS_PERFORMANCE_TESTING` will be set to `1` during a performance profile.

## Can I run a custom test to profile over?

At this moment, custom tests are not supported in performance profiles for both iOS & Android.

Custom tests are supported with [Performance Comparisons](https://docs.emergetools.com/docs/ios-performance-testing).