Ember Options

All Sentry SDK options can be passed to init:

Copied
import * as Sentry from "@sentry/ember";

Sentry.init({
  // Sentry options
  dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",
});

The @sentry/ember add-on includes options to manage Ember specific instrumentation; these options are set on the add-on config directly.

Copied
ENV["@sentry/ember"] = {
  // Ember specific 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,
};
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) to suggesting an update ("yeah, this would be better").