Ember Options

The @sentry/ember addon includes options to manage Ember specific instrumentation; these options are set on the addon config directly. All Sentry SDK options that would be passed to init should instead be set in the sentry key inside your addon config as in this example:

Copied
ENV['@sentry/ember'] = {
  // Ember specific options
  sentry: {
    // Sentry options
  }
};

The following documentation is for Ember specific configuration, for Sentry options, see basic options

Performance Monitoring Considerations

The Sentry tracing integration is already set up via the Ember addon with custom Ember instrumentation for routing, components, and the runloop. It sideloads @sentry/tracing as a chunk to instrument your application. If you would like to disable this automatic instrumentation and no longer receive the associated transactions, you can set disablePerformance in your config as in this example:

Copied
ENV['@sentry/ember'] = {
  disablePerformance: true
};

Routes

If you would like to capture timings for the beforeModel, model, afterModel hooks as well as setupController in one of your Routes, @sentry/ember exports a instrumentRoutePerformance function which can be used by replacing the default export with a wrapped Route.

Copied
import Route from '@ember/routing/route';
import { instrumentRoutePerformance } from '@sentry/ember';

class MyRoute extends Route {
  model() {
    //...
  }
}

export default instrumentRoutePerformance(MyRoute);

Classic Components

The render times of classic components are also enabled by default, with a setting to capture render timings only above a certain duration. To change this minimum, you can modify minimumComponentRenderDuration in your config.

Copied
  ENV['@sentry/ember'] = {
    minimumComponentRenderDuration: 0, // Setting this to zero will capture all classic components.
  };

To disable component instrumentation you can set disableInstrumentComponents in your config.

Copied
ENV['@sentry/ember'] = {
  disableInstrumentComponents: true
};

Runloop

The duration of each queue in your application's runloop is instrumented by default, as long as the duration of the queue is longer than a threshold defined in your config by minimumRunloopQueueDuration

Copied
  ENV['@sentry/ember'] = {
    minimumRunloopQueueDuration: 0, // Setting this to zero will capture all runloop queue durations
  };

If you would like to disable runloop instrumentation you can set disableRunloopPerformance in your config.

Copied
ENV['@sentry/ember'] = {
  disableRunloopPerformance: true
};
You can edit this page on GitHub.