---
title: "App Start Instrumentation"
description: "Learn more about the Sentry App Start Instrumentation for the Flutter SDK."
url: https://docs.sentry.io/platforms/dart/guides/flutter/integrations/app-start-instrumentation/
---

# App Start Instrumentation | Sentry for Flutter

Sentry's app start instrumentation provides insight into how long your application takes to launch.

App start instrumentation is available on **iOS** and **Android**.

## [Instrumentation Behaviour](https://docs.sentry.io/platforms/dart/guides/flutter/integrations/app-start-instrumentation.md#instrumentation-behaviour)

Before diving into the configuration, it's important to understand how app start instrumentation behaves:

App start instrumentation tracks the duration between the earliest native process initialization and the first frame rendered (as reported by [addTimingsCallback](https://api.flutter.dev/flutter/scheduler/SchedulerBinding/addTimingsCallback.html)). Once the app start is processed, the callback is removed to avoid additional overhead.

When the SDK receives the start and end times of the app launch, the SDK:

* Creates a transaction named `ui.load`
* Attaches a span with either `app.start.cold` or `app.start.warm` operation
* Adds app start metrics to the transaction

Sentry's App Start instrumentation aims to be as comprehensive and representative of the user experience as possible, and adheres to guidelines by the platform vendors. For this reason, App Starts reported by Sentry might be longer than what you see in other tools.

## [Prerequisites](https://docs.sentry.io/platforms/dart/guides/flutter/integrations/app-start-instrumentation.md#prerequisites)

Before starting, ensure:

1. The Sentry Flutter SDK is initialized. Learn more [here](https://docs.sentry.io/platforms/dart/guides/flutter.md#configure)
2. Tracing is set up. Learn more [here](https://docs.sentry.io/platforms/dart/guides/flutter/tracing.md).

## [Configure](https://docs.sentry.io/platforms/dart/guides/flutter/integrations/app-start-instrumentation.md#configure)

This instrumentation is automatically enabled. There is no need for further configuration.

App start instrumentation is designed specifically for pure Flutter applications and requires UI rendering to function properly. If you're using Flutter in an add-to-app integration scenario, the app start metrics will not provide accurate measurements. In such cases, we recommend disabling this instrumentation.

## [Verify](https://docs.sentry.io/platforms/dart/guides/flutter/integrations/app-start-instrumentation.md#verify)

### [1. Launch Your App:](https://docs.sentry.io/platforms/dart/guides/flutter/integrations/app-start-instrumentation.md#1-launch-your-app)

Launch your Sentry configured app.

### [2. Locate Your Transaction:](https://docs.sentry.io/platforms/dart/guides/flutter/integrations/app-start-instrumentation.md#2-locate-your-transaction)

Open the [sentry.io performance page](https://sentry.io/performance), find, and select the 'root /' transaction and navigate to the trace view of a sampled event.

### [3. View App Start Metrics:](https://docs.sentry.io/platforms/dart/guides/flutter/integrations/app-start-instrumentation.md#3-view-app-start-metrics)

Select the event within your transaction. Sentry displays the app start metrics on the right side of the screen in the **Mobile Vitals** section.

## [Disable App Start Instrumentation](https://docs.sentry.io/platforms/dart/guides/flutter/integrations/app-start-instrumentation.md#disable-app-start-instrumentation)

To disable the app start instrumentation, you can remove the `NativeAppStartIntegration` from the `integrations` list in your `SentryFlutter.init` call.

```dart
// ignore: implementation_imports
import 'package:sentry_flutter/src/integrations/native_app_start_integration.dart';

await SentryFlutter.init((options) {
  final integration = options.integrations.firstWhere(
    (integration) => integration is NativeAppStartIntegration);
  options.removeIntegration(integration);
});
```
