Ember

On this page, we get you up and running with Sentry's SDK, so that it will automatically report errors and exceptions in your application.

Install

Sentry captures data by using an SDK within your application’s runtime.

Copied
ember install @sentry/ember

Configure

Configuration should happen as early as possible in your application's lifecycle.

This snippet includes automatic instrumentation to monitor the performance of your application, which registers and configures the Tracing integration, including custom Ember instrumentation.

Copied
import Application from "@ember/application";
import Resolver from "ember-resolver";
import loadInitializers from "ember-load-initializers";
import config from "./config/environment";

import { InitSentryForEmber } from "@sentry/ember";

InitSentryForEmber();

export default class App extends Application {
  modulePrefix = config.modulePrefix;
  podModulePrefix = config.podModulePrefix;
  Resolver = Resolver;
}

Then add the following config to your config/environment.js:

Copied
ENV["@sentry/ember"] = {
  sentry: {
    dsn: "https://examplePublicKey@o0.ingest.sentry.io/0",

    // Set tracesSampleRate to 1.0 to capture 100%
    // of transactions for performance monitoring.
    // We recommend adjusting this value in production,
    tracesSampleRate: 1.0,
  },
};

Verify

This snippet includes an intentional error, so you can test that everything is working as soon as you set it up:

Copied
myUndefinedFunction();

Or, by manually generating an event:

In JavaScript you can pass an error object to captureException() to get it captured as event. It's possible to throw strings as errors in which case no traceback can be recorded.

Copied
try {
  aFunctionThatMightFail();
} catch (err) {
  Sentry.captureException(err);
}

To view and resolve the recorded error, log into sentry.io and open your project. Clicking on the error's title will open a page where you can see detailed information and mark it as resolved.

You can edit this page on GitHub.