ESM without CLI Flag
Learn about running Sentry in an ESM application, without the --import flag.
Are you unsure if you should use this installation method? Review our installation methods.
When running your application in ESM mode, you will most likely want to follow the ESM instructions. However, if you want to avoid using the --import
command line option, for example if you have no way of configuring a CLI flag, you can also follow an alternative setup that involves importing the instrument.mjs
file directly in your application.
Restrictions of this installation method
This installation method has a fundamental restriction: It only supports limited performance instrumentation. Only basic http
instrumentation will work, and no DB or framework-specific instrumentation will be available.
Because of this, we recommend using this only if the --import
flag is not an option for you.
You need to create a file named instrument.mjs
that imports and initializes Sentry:
instrument.mjs
import * as Sentry from '@sentry/node';
// Ensure to call this before importing any other modules!
Sentry.init({
dsn: 'https://examplePublicKey@o0.ingest.sentry.io/0',
// Add Performance Monitoring by setting tracesSampleRate
// We recommend adjusting this value in production
tracesSampleRate: 1.0,
});
You need to import the instrument.mjs
file before importing any other modules in your application. This is necessary to ensure that Sentry can automatically instrument all modules in your application:
app.mjs
// Import this first!
import './instrument';
// Now import other modules
import http from 'http';
// Your application code goes here
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").