---
title: "Ember Options"
description: "Configure tracing for Ember routes, classic components, and the runloop."
url: https://docs.sentry.io/platforms/javascript/guides/ember/configuration/ember-options/
---

# Ember Options

Pass Sentry SDK options, such as `dsn` and `tracesSampleRate`, to `Sentry.init()` in `app/app.ts`. See [Set Up Sentry](https://docs.sentry.io/platforms/javascript/guides/ember.md) for the complete setup and [Basic Options](https://docs.sentry.io/platforms/javascript/guides/ember/configuration/options.md) for SDK configuration.

Pass Ember performance options to `instrumentAppInstancePerformance()` as shown below.

## [Tracing Considerations](https://docs.sentry.io/platforms/javascript/guides/ember/configuration/ember-options.md#tracing-considerations)

To capture page loads, navigation, classic component renders, and runloop timings, call `instrumentAppInstancePerformance()` from an instance initializer. Set `tracesSampleRate` or `tracesSampler` in `Sentry.init()` to enable tracing.

```typescript
import type ApplicationInstance from "@ember/application/instance";
import { instrumentAppInstancePerformance } from "@sentry/ember";

export function initialize(appInstance: ApplicationInstance): void {
  instrumentAppInstancePerformance(appInstance, {
    // These are the defaults. Adjust them for your application.
    disableInstrumentComponents: false,
    minimumComponentRenderDuration: 2,
    disableRunloopPerformance: false,
    minimumRunloopQueueDuration: 5,
  });
}

export default { initialize };
```

The SDK skips this instrumentation during FastBoot server rendering. To disable automatic Ember performance instrumentation, omit the instance initializer.

## [Routes](https://docs.sentry.io/platforms/javascript/guides/ember/configuration/ember-options.md#routes)

To capture timings for a route's `beforeModel`, `model`, `afterModel`, and `setupController` hooks, wrap its default export with `instrumentRoutePerformance()`.

```typescript
import Route from "@ember/routing/route";
import { instrumentRoutePerformance } from "@sentry/ember";

class MyRoute extends Route {
  model() {
    // Load your model here.
  }
}

export default instrumentRoutePerformance(MyRoute);
```

## [Classic Components](https://docs.sentry.io/platforms/javascript/guides/ember/configuration/ember-options.md#classic-components)

After you call `instrumentAppInstancePerformance()`, the SDK captures classic component render timings by default. Set `minimumComponentRenderDuration` in the initializer's options to change the minimum duration in milliseconds. The default is `2`; set it to `0` to capture all classic component render timings.

Set `disableInstrumentComponents: true` in the same options object to disable component instrumentation.

## [Runloop](https://docs.sentry.io/platforms/javascript/guides/ember/configuration/ember-options.md#runloop)

After you call `instrumentAppInstancePerformance()`, the SDK instruments queues in your application's runloop by default. Set `minimumRunloopQueueDuration` in the initializer's options to change the minimum duration in milliseconds. The default is `5`; set it to `0` to capture all runloop queue durations.

Set `disableRunloopPerformance: true` in the same options object to disable runloop instrumentation.
